11ee4b9e6d2d0d031708e2e6dd52aa9e32b83f1c3Daniel Dunbar// RUN: %clang_cc1 -DA= -DB=1 -verify -fsyntax-only %s 28e8fb3be5bd78f0564444eca02b404566a5f3b5dAndy Gibbs// expected-no-diagnostics 31ee4b9e6d2d0d031708e2e6dd52aa9e32b83f1c3Daniel Dunbar 41ee4b9e6d2d0d031708e2e6dd52aa9e32b83f1c3Daniel Dunbarint a[(B A) == 1 ? 1 : -1]; 51ee4b9e6d2d0d031708e2e6dd52aa9e32b83f1c3Daniel Dunbar 606b3a06007e02aebe497f34651a4e50b00adb051Chris Lattner 706b3a06007e02aebe497f34651a4e50b00adb051Chris Lattner// PR13747 - Don't warn about unused results with statement exprs in macros. 806b3a06007e02aebe497f34651a4e50b00adb051Chris Lattnervoid stuff(int,int,int); 906b3a06007e02aebe497f34651a4e50b00adb051Chris Lattner#define memset(x,y,z) ({ stuff(x,y,z); x; }) 1006b3a06007e02aebe497f34651a4e50b00adb051Chris Lattner 1106b3a06007e02aebe497f34651a4e50b00adb051Chris Lattnervoid foo(int a, int b, int c) { 1206b3a06007e02aebe497f34651a4e50b00adb051Chris Lattner memset(a,b,c); // No warning! 1306b3a06007e02aebe497f34651a4e50b00adb051Chris Lattner} 14