diff options
Diffstat (limited to 'clang/test/Driver/fgnuc-version.c')
-rw-r--r-- | clang/test/Driver/fgnuc-version.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/clang/test/Driver/fgnuc-version.c b/clang/test/Driver/fgnuc-version.c new file mode 100644 index 00000000000..dea82bbaae0 --- /dev/null +++ b/clang/test/Driver/fgnuc-version.c @@ -0,0 +1,26 @@ +// +// Verify -fgnuc-version parsing +// + +// RUN: %clang -c %s -target i686-linux -### 2>&1 | FileCheck %s -check-prefix GNUC-DEFAULT +// GNUC-DEFAULT: "-fgnuc-version=4.2.1" + +// RUN: %clang -c %s -target i686-linux -fgnuc-version=100.99.99 -### 2>&1 | FileCheck %s -check-prefix GNUC-OVERRIDE +// GNUC-OVERRIDE: "-fgnuc-version=100.99.99" + +// RUN: %clang -c %s -target i686-linux -fgnuc-version=0 -### 2>&1 | FileCheck %s -check-prefix GNUC-DISABLE +// RUN: %clang -c %s -target i686-linux -fgnuc-version= -### 2>&1 | FileCheck %s -check-prefix GNUC-DISABLE +// GNUC-DISABLE-NOT: "-fgnuc-version= + +// RUN: not %clang -c %s -target i686-linux -fgnuc-version=100.100.10 2>&1 | FileCheck %s -check-prefix GNUC-INVALID +// RUN: not %clang -c %s -target i686-linux -fgnuc-version=100.10.100 2>&1 | FileCheck %s -check-prefix GNUC-INVALID +// RUN: not %clang -c %s -target i686-linux -fgnuc-version=-1.0.0 2>&1 | FileCheck %s -check-prefix GNUC-INVALID +// GNUC-INVALID: error: invalid value {{.*}} in '-fgnuc-version={{.*}}' + +// RUN: %clang -fgnuc-version=100.99.99 %s -dM -E -o - | FileCheck %s -check-prefix GNUC-LARGE +// GNUC-LARGE: #define __GNUC_MINOR__ 99 +// GNUC-LARGE: #define __GNUC_PATCHLEVEL__ 99 +// GNUC-LARGE: #define __GNUC__ 100 + +// RUN: %clang -fgnuc-version=100.99.99 -x c++ %s -dM -E -o - | FileCheck %s -check-prefix GXX-LARGE +// GXX-LARGE: #define __GNUG__ 100 |