1 // RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=gnu++98 -E -dM %s | FileCheck --check-prefix=CHECK-GNU-COMPAT-98 %s 2 // RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=gnu++11 -E -dM %s | FileCheck --check-prefix=CHECK-GNU-COMPAT-11 %s 3 // RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=c++98 -E -dM %s | FileCheck --check-prefix=CHECK-CONFORMING %s 4 // RUN: %clang_cc1 -fgnuc-version=4.2.1 -fsyntax-only -std=gnu++98 -verify -Weverything %s 5 #include <stdbool.h> 6 #define zzz 7 8 // CHECK-GNU-COMPAT-98: #define _Bool bool 9 // CHECK-GNU-COMPAT-98: #define bool bool 10 // CHECK-GNU-COMPAT-98: #define false false 11 // CHECK-GNU-COMPAT-98: #define true true 12 13 // CHECK-GNU-COMPAT-11: #define _Bool bool 14 // CHECK-GNU-COMPAT-11-NOT: #define bool bool 15 // CHECK-GNU-COMPAT-11-NOT: #define false false 16 // CHECK-GNU-COMPAT-11-NOT: #define true true 17 18 // CHECK-CONFORMING-NOT: #define _Bool 19 // CHECK-CONFORMING: #define __CHAR_BIT__ 20 // CHECK-CONFORMING-NOT: #define false false 21 // CHECK-CONFORMING: #define zzz 22 23 zzz 24 // expected-no-diagnostics 25 extern bool x; 26