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