blob: 0110a45b2dc6b381488b519898fb64e9dd13cc99 [file] [log] [blame]
Stephan Bergmannfeed26f2017-12-08 08:28:08 +00001// RUN: %clang_cc1 -std=gnu++98 -E -dM %s | FileCheck --check-prefix=CHECK-GNU-COMPAT-98 %s
2// RUN: %clang_cc1 -std=gnu++11 -E -dM %s | FileCheck --check-prefix=CHECK-GNU-COMPAT-11 %s
Douglas Gregor1f7d02f2010-09-29 04:57:11 +00003// RUN: %clang_cc1 -std=c++98 -E -dM %s | FileCheck --check-prefix=CHECK-CONFORMING %s
Douglas Gregor1a347f72013-01-30 23:10:17 +00004// RUN: %clang_cc1 -fsyntax-only -std=gnu++98 -verify -Weverything %s
Douglas Gregor1f7d02f2010-09-29 04:57:11 +00005#include <stdbool.h>
6#define zzz
7
Stephan Bergmannfeed26f2017-12-08 08:28:08 +00008// 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
Douglas Gregor1f7d02f2010-09-29 04:57:11 +000017
18// CHECK-CONFORMING-NOT: #define _Bool
19// CHECK-CONFORMING: #define __CHAR_BIT__
20// CHECK-CONFORMING-NOT: #define false false
21// CHECK-CONFORMING: #define zzz
Douglas Gregor1a347f72013-01-30 23:10:17 +000022
23zzz
24// expected-no-diagnostics
25extern bool x;