diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-30 10:53:14 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-30 10:53:14 +0000 |
commit | 639ffb0c073255979f337a9c47cabfd32e54251b (patch) | |
tree | e581004721720d79fb1f5f0a279a5632af50ed59 /clang/test/Sema/expr-comma.c | |
parent | 743b3fd196e027fadb4ea890cd2289e63bcfd5f5 (diff) | |
download | bcm5719-llvm-639ffb0c073255979f337a9c47cabfd32e54251b.tar.gz bcm5719-llvm-639ffb0c073255979f337a9c47cabfd32e54251b.zip |
Fix rdar://8139785 "implement warning on dead expression in comma operator"
As a bonus, fix the warning for || and && operators; it was emitted even if one of the operands had side effects, e.g:
x || test_logical_foo1();
emitted a bogus "expression result unused" for 'x'.
llvm-svn: 107274
Diffstat (limited to 'clang/test/Sema/expr-comma.c')
-rw-r--r-- | clang/test/Sema/expr-comma.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/test/Sema/expr-comma.c b/clang/test/Sema/expr-comma.c index d3e4020af63..b004fc1ba3e 100644 --- a/clang/test/Sema/expr-comma.c +++ b/clang/test/Sema/expr-comma.c @@ -11,7 +11,7 @@ int B[sizeof((a.c)) == 17 ? 1 : -1]; // comma does not promote array/function in c90 unless they are lvalues. -int W[sizeof(0, a.c) == sizeof(char*) ? 1 : -1]; -int X[sizeof(0, (foo().c)) == 17 ? 1 : -1]; -int Y[sizeof(0, (a,b).c) == 17 ? 1 : -1]; -int Z[sizeof(0, (a=b).c) == 17 ? 1 : -1]; +int W[sizeof(0, a.c) == sizeof(char*) ? 1 : -1]; // expected-warning {{expression result unused}} +int X[sizeof(0, (foo().c)) == 17 ? 1 : -1]; // expected-warning {{expression result unused}} +int Y[sizeof(0, (a,b).c) == 17 ? 1 : -1]; // expected-warning {{expression result unused}} // expected-warning {{expression result unused}} +int Z[sizeof(0, (a=b).c) == 17 ? 1 : -1]; // expected-warning {{expression result unused}} |