2 // Verify -fgnuc-version parsing
5 // RUN: %clang -c %s -target i686-linux -### 2>&1 | FileCheck %s -check-prefix GNUC-DEFAULT
6 // GNUC-DEFAULT: "-fgnuc-version=4.2.1"
8 // RUN: %clang -c %s -target i686-linux -fgnuc-version=100.99.99 -### 2>&1 | FileCheck %s -check-prefix GNUC-OVERRIDE
9 // GNUC-OVERRIDE: "-fgnuc-version=100.99.99"
11 // RUN: %clang -c %s -target i686-linux -fgnuc-version=0 -### 2>&1 | FileCheck %s -check-prefix GNUC-DISABLE
12 // RUN: %clang -c %s -target i686-linux -fgnuc-version= -### 2>&1 | FileCheck %s -check-prefix GNUC-DISABLE
13 // GNUC-DISABLE-NOT: "-fgnuc-version=
15 // RUN: not %clang -c %s -target i686-linux -fgnuc-version=100.100.10 2>&1 | FileCheck %s -check-prefix GNUC-INVALID
16 // RUN: not %clang -c %s -target i686-linux -fgnuc-version=100.10.100 2>&1 | FileCheck %s -check-prefix GNUC-INVALID
17 // RUN: not %clang -c %s -target i686-linux -fgnuc-version=-1.0.0 2>&1 | FileCheck %s -check-prefix GNUC-INVALID
18 // GNUC-INVALID: error: invalid value {{.*}} in '-fgnuc-version={{.*}}'
20 // RUN: %clang -fgnuc-version=100.99.99 %s -dM -E -o - | FileCheck %s -check-prefix GNUC-LARGE
21 // GNUC-LARGE: #define __GNUC_MINOR__ 99
22 // GNUC-LARGE: #define __GNUC_PATCHLEVEL__ 99
23 // GNUC-LARGE: #define __GNUC__ 100
25 // RUN: %clang -fgnuc-version=100.99.99 -x c++ %s -dM -E -o - | FileCheck %s -check-prefix GXX-LARGE
26 // GXX-LARGE: #define __GNUG__ 100