зеркало из https://github.com/microsoft/clang.git
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108442 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
928d69f292
Коммит
35e12c90c1
|
@ -141,7 +141,7 @@ void Sema::DiagnoseUnusedExprResult(const Stmt *S) {
|
|||
}
|
||||
}
|
||||
|
||||
Diag(Loc, DiagID) << R1 << R2;
|
||||
DiagRuntimeBehavior(Loc, PDiag(DiagID) << R1 << R2);
|
||||
}
|
||||
|
||||
Action::OwningStmtResult
|
||||
|
|
|
@ -74,5 +74,5 @@ const _Bool constbool = 0;
|
|||
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)
|
||||
|
|
|
@ -11,7 +11,7 @@ int B[sizeof((a.c)) == 17 ? 1 : -1];
|
|||
|
||||
|
||||
// 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];
|
||||
|
||||
|
|
|
@ -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]; // 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];
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче