[cfe-commits] r108442 - in /cfe/trunk: lib/Sema/SemaStmt.cpp test/Sema/const-eval.c test/Sema/expr-comma-c89.c test/Sema/expr-comma.c test/SemaCXX/decltype.cpp

Douglas Gregor dgregor at apple.com
Thu Jul 15 11:47:05 PDT 2010


Author: dgregor
Date: Thu Jul 15 13:47:04 2010
New Revision: 108442

URL: http://llvm.org/viewvc/llvm-project?rev=108442&view=rev
Log:
Make the "unused result" warning a warning about run-time behavior, so
that we don't warn when there isn't going to be any computation anyway.

Modified:
    cfe/trunk/lib/Sema/SemaStmt.cpp
    cfe/trunk/test/Sema/const-eval.c
    cfe/trunk/test/Sema/expr-comma-c89.c
    cfe/trunk/test/Sema/expr-comma.c
    cfe/trunk/test/SemaCXX/decltype.cpp

Modified: cfe/trunk/lib/Sema/SemaStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaStmt.cpp?rev=108442&r1=108441&r2=108442&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaStmt.cpp (original)
+++ cfe/trunk/lib/Sema/SemaStmt.cpp Thu Jul 15 13:47:04 2010
@@ -141,7 +141,7 @@
     }
   }
 
-  Diag(Loc, DiagID) << R1 << R2;
+  DiagRuntimeBehavior(Loc, PDiag(DiagID) << R1 << R2);
 }
 
 Action::OwningStmtResult

Modified: cfe/trunk/test/Sema/const-eval.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/const-eval.c?rev=108442&r1=108441&r2=108442&view=diff
==============================================================================
--- cfe/trunk/test/Sema/const-eval.c (original)
+++ cfe/trunk/test/Sema/const-eval.c Thu Jul 15 13:47:04 2010
@@ -74,5 +74,5 @@
 EVAL_EXPR(35, constbool)
 EVAL_EXPR(36, constbool)
 
-EVAL_EXPR(37, (1,2.0) == 2.0)  // expected-warning {{expression result unused}}
+EVAL_EXPR(37, (1,2.0) == 2.0)
 EVAL_EXPR(38, __builtin_expect(1,1) == 1)

Modified: cfe/trunk/test/Sema/expr-comma-c89.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/expr-comma-c89.c?rev=108442&r1=108441&r2=108442&view=diff
==============================================================================
--- cfe/trunk/test/Sema/expr-comma-c89.c (original)
+++ cfe/trunk/test/Sema/expr-comma-c89.c Thu Jul 15 13:47:04 2010
@@ -11,7 +11,7 @@
 
 
 // comma does array/function promotion in c99.
-int X[sizeof(0, (foo().c)) == sizeof(char*) ? 1 : -1]; // expected-warning {{expression result unused}}
-int Y[sizeof(0, (a,b).c) == sizeof(char*) ? 1 : -1];   // expected-warning {{expression result unused}} expected-warning {{expression result unused}}
-int Z[sizeof(0, (a=b).c) == sizeof(char*) ? 1 : -1];  // expected-warning {{expression result unused}}
+int X[sizeof(0, (foo().c)) == sizeof(char*) ? 1 : -1];
+int Y[sizeof(0, (a,b).c) == sizeof(char*) ? 1 : -1];
+int Z[sizeof(0, (a=b).c) == sizeof(char*) ? 1 : -1];
 

Modified: cfe/trunk/test/Sema/expr-comma.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/expr-comma.c?rev=108442&r1=108441&r2=108442&view=diff
==============================================================================
--- cfe/trunk/test/Sema/expr-comma.c (original)
+++ cfe/trunk/test/Sema/expr-comma.c Thu Jul 15 13:47:04 2010
@@ -11,7 +11,7 @@
 
 
 // comma does not promote array/function in c90 unless they are lvalues.
-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}}
+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];

Modified: cfe/trunk/test/SemaCXX/decltype.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/decltype.cpp?rev=108442&r1=108441&r2=108442&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/decltype.cpp (original)
+++ cfe/trunk/test/SemaCXX/decltype.cpp Thu Jul 15 13:47:04 2010
@@ -3,7 +3,7 @@
 // PR5290
 int const f0();
 void f0_test() {
-  decltype(0, f0()) i = 0; // expected-warning{{expression result unused}}
+  decltype(0, f0()) i = 0;
   i = 0;
 }
 





More information about the cfe-commits mailing list