mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 15:06:09 +00:00

Previously, -Wunused-comparison ignored comparisons in both macro bodies and macro arguments, but we would still emit a -Wunused-value warning for either. Now we correctly emit -Wunused-comparison for expressions in macro arguments. Also, add isMacroBodyExpansion to SourceManager, to go along with isMacroArgExpansion. llvm-svn: 172279
13 lines
593 B
C
13 lines
593 B
C
// RUN: %clang_cc1 -isystem %S/Inputs -fsyntax-only -verify %s
|
|
#include <unused-expr-system-header.h>
|
|
void f(int i1, int i2) {
|
|
POSSIBLY_BAD_MACRO(5);
|
|
STATEMENT_EXPR_MACRO(5);
|
|
COMMA_MACRO_1(i1 == i2, f(i1, i2)); // expected-warning {{comparison result unused}} \
|
|
// expected-note {{equality comparison}}
|
|
COMMA_MACRO_2(i1 == i2, f(i1, i2));
|
|
COMMA_MACRO_3(i1 == i2, f(i1, i2)); // expected-warning {{comparison result unused}} \
|
|
// expected-note {{equality comparison}}
|
|
COMMA_MACRO_4(i1 == i2, f(i1, i2));
|
|
}
|