diff options
-rw-r--r-- | test/Analysis/dead-stores.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/test/Analysis/dead-stores.c b/test/Analysis/dead-stores.c index 08507553f9..338465a4e4 100644 --- a/test/Analysis/dead-stores.c +++ b/test/Analysis/dead-stores.c @@ -1,21 +1,31 @@ // RUN: clang -warn-dead-stores -verify %s -void x() { +void f1() { int k, y; int abc=1; long idx=abc+3*5; // expected-warning {{value stored to variable is never used}} } -void a(void *b) { +void f2(void *b) { char *c = (char*)b; // no-warning char *d = b+1; // expected-warning {{value stored to variable is never used}} printf("%s", c); } -void z() { +void f3() { int r; if ((r = f()) != 0) { // no-warning int y = r; // no-warning printf("the error is: %d\n", y); } } + +void f4(int k) { + + k = 1; + + if (k) + f1(); + + k = 2; // expected-warning {{value stored to variable is never used}} +} |