xref: /minix3/external/bsd/llvm/dist/clang/test/Frontend/macros.c (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -DA= -DB=1 -verify -fsyntax-only %s
2*f4a2713aSLionel Sambuc // expected-no-diagnostics
3*f4a2713aSLionel Sambuc 
4*f4a2713aSLionel Sambuc int a[(B A) == 1 ? 1 : -1];
5*f4a2713aSLionel Sambuc 
6*f4a2713aSLionel Sambuc 
7*f4a2713aSLionel Sambuc // PR13747 - Don't warn about unused results with statement exprs in macros.
8*f4a2713aSLionel Sambuc void stuff(int,int,int);
9*f4a2713aSLionel Sambuc #define memset(x,y,z) ({ stuff(x,y,z); x; })
10*f4a2713aSLionel Sambuc 
foo(int a,int b,int c)11*f4a2713aSLionel Sambuc void foo(int a, int b, int c) {
12*f4a2713aSLionel Sambuc   memset(a,b,c);  // No warning!
13*f4a2713aSLionel Sambuc }
14