1*67e74705SXin Li// RUN: %clang -S -### -cl-std=CL %s 2>&1 | FileCheck --check-prefix=CHECK-CL %s 2*67e74705SXin Li// RUN: %clang -S -### -cl-std=CL1.1 %s 2>&1 | FileCheck --check-prefix=CHECK-CL11 %s 3*67e74705SXin Li// RUN: %clang -S -### -cl-std=CL1.2 %s 2>&1 | FileCheck --check-prefix=CHECK-CL12 %s 4*67e74705SXin Li// RUN: %clang -S -### -cl-std=CL2.0 %s 2>&1 | FileCheck --check-prefix=CHECK-CL20 %s 5*67e74705SXin Li// RUN: %clang -S -### -cl-opt-disable %s 2>&1 | FileCheck --check-prefix=CHECK-OPT-DISABLE %s 6*67e74705SXin Li// RUN: %clang -S -### -cl-strict-aliasing %s 2>&1 | FileCheck --check-prefix=CHECK-STRICT-ALIASING %s 7*67e74705SXin Li// RUN: %clang -S -### -cl-single-precision-constant %s 2>&1 | FileCheck --check-prefix=CHECK-SINGLE-PRECISION-CONST %s 8*67e74705SXin Li// RUN: %clang -S -### -cl-finite-math-only %s 2>&1 | FileCheck --check-prefix=CHECK-FINITE-MATH-ONLY %s 9*67e74705SXin Li// RUN: %clang -S -### -cl-kernel-arg-info %s 2>&1 | FileCheck --check-prefix=CHECK-KERNEL-ARG-INFO %s 10*67e74705SXin Li// RUN: %clang -S -### -cl-unsafe-math-optimizations %s 2>&1 | FileCheck --check-prefix=CHECK-UNSAFE-MATH-OPT %s 11*67e74705SXin Li// RUN: %clang -S -### -cl-fast-relaxed-math %s 2>&1 | FileCheck --check-prefix=CHECK-FAST-RELAXED-MATH %s 12*67e74705SXin Li// RUN: %clang -S -### -cl-mad-enable %s 2>&1 | FileCheck --check-prefix=CHECK-MAD-ENABLE %s 13*67e74705SXin Li// RUN: %clang -S -### -cl-no-signed-zeros %s 2>&1 | FileCheck --check-prefix=CHECK-NO-SIGNED-ZEROS %s 14*67e74705SXin Li// RUN: %clang -S -### -cl-denorms-are-zero %s 2>&1 | FileCheck --check-prefix=CHECK-DENORMS-ARE-ZERO %s 15*67e74705SXin Li// RUN: not %clang -cl-std=c99 -DOPENCL %s 2>&1 | FileCheck --check-prefix=CHECK-C99 %s 16*67e74705SXin Li// RUN: not %clang -cl-std=invalid -DOPENCL %s 2>&1 | FileCheck --check-prefix=CHECK-INVALID %s 17*67e74705SXin Li 18*67e74705SXin Li// CHECK-CL: "-cc1" {{.*}} "-cl-std=CL" 19*67e74705SXin Li// CHECK-CL11: "-cc1" {{.*}} "-cl-std=CL1.1" 20*67e74705SXin Li// CHECK-CL12: "-cc1" {{.*}} "-cl-std=CL1.2" 21*67e74705SXin Li// CHECK-CL20: "-cc1" {{.*}} "-cl-std=CL2.0" 22*67e74705SXin Li// CHECK-OPT-DISABLE: "-cc1" {{.*}} "-cl-opt-disable" 23*67e74705SXin Li// CHECK-STRICT-ALIASING: "-cc1" {{.*}} "-cl-strict-aliasing" 24*67e74705SXin Li// CHECK-SINGLE-PRECISION-CONST: "-cc1" {{.*}} "-cl-single-precision-constant" 25*67e74705SXin Li// CHECK-FINITE-MATH-ONLY: "-cc1" {{.*}} "-cl-finite-math-only" 26*67e74705SXin Li// CHECK-KERNEL-ARG-INFO: "-cc1" {{.*}} "-cl-kernel-arg-info" 27*67e74705SXin Li// CHECK-UNSAFE-MATH-OPT: "-cc1" {{.*}} "-cl-unsafe-math-optimizations" 28*67e74705SXin Li// CHECK-FAST-RELAXED-MATH: "-cc1" {{.*}} "-cl-fast-relaxed-math" 29*67e74705SXin Li// CHECK-MAD-ENABLE: "-cc1" {{.*}} "-cl-mad-enable" 30*67e74705SXin Li// CHECK-NO-SIGNED-ZEROS: "-cc1" {{.*}} "-cl-no-signed-zeros" 31*67e74705SXin Li// CHECK-DENORMS-ARE-ZERO: "-cc1" {{.*}} "-cl-denorms-are-zero" 32*67e74705SXin Li// CHECK-C99: error: invalid value 'c99' in '-cl-std=c99' 33*67e74705SXin Li// CHECK-INVALID: error: invalid value 'invalid' in '-cl-std=invalid' 34*67e74705SXin Li 35*67e74705SXin Likernel void func(void); 36