diff options
| author | Sunil Srivastava <sunil_srivastava@playstation.sony.com> | 2016-04-27 19:53:03 +0000 |
|---|---|---|
| committer | Sunil Srivastava <sunil_srivastava@playstation.sony.com> | 2016-04-27 19:53:03 +0000 |
| commit | bf010806724cf614d2954cb1406cfd08b2112746 (patch) | |
| tree | ae3c49e934ddfbbb003d495eeb7d3b3de5d2a171 /clang/test | |
| parent | 0e0bcc4bdbdd64bf4e7bc2d474bf3bfb1ec27556 (diff) | |
| download | bcm5719-llvm-bf010806724cf614d2954cb1406cfd08b2112746.tar.gz bcm5719-llvm-bf010806724cf614d2954cb1406cfd08b2112746.zip | |
Set the default C standard to C99 when targeting the PS4.
Patch by Douglas Yung!
Differential Revision: http://reviews.llvm.org/D19003
llvm-svn: 267772
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/FixIt/fixit-errors.c | 3 | ||||
| -rw-r--r-- | clang/test/Preprocessor/init.c | 8 | ||||
| -rw-r--r-- | clang/test/Sema/attr-deprecated.c | 5 | ||||
| -rw-r--r-- | clang/test/Sema/nullability.c | 14 | ||||
| -rw-r--r-- | clang/test/SemaObjC/objcbridge-attribute-arc.m | 5 |
5 files changed, 32 insertions, 3 deletions
diff --git a/clang/test/FixIt/fixit-errors.c b/clang/test/FixIt/fixit-errors.c index d727adb6fdf..1ac9d1c6432 100644 --- a/clang/test/FixIt/fixit-errors.c +++ b/clang/test/FixIt/fixit-errors.c @@ -22,6 +22,8 @@ void test_point() { (void)get_origin->x; // expected-error {{base of member reference is a function; perhaps you meant to call it with no arguments?}} } +// These errors require C11. +#if __STDC_VERSION__ > 199901L void noreturn_1() _Noreturn; // expected-error {{must precede function declarator}} void noreturn_1() { return; // expected-warning {{should not return}} @@ -29,3 +31,4 @@ void noreturn_1() { void noreturn_2() _Noreturn { // expected-error {{must precede function declarator}} return; // expected-warning {{should not return}} } +#endif diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c index 51af23b1423..98be2ac03d1 100644 --- a/clang/test/Preprocessor/init.c +++ b/clang/test/Preprocessor/init.c @@ -88,7 +88,6 @@ // COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234 // COMMON:#define __ORDER_PDP_ENDIAN__ 3412 // COMMON:#define __STDC_HOSTED__ 1 -// COMMON:#define __STDC_VERSION__ 201112L // COMMON:#define __STDC__ 1 // COMMON:#define __VERSION__ {{.*}} // COMMON:#define __clang__ 1 @@ -98,7 +97,13 @@ // COMMON:#define __clang_version__ {{.*}} // COMMON:#define __llvm__ 1 // +// RUN: %clang_cc1 -E -dM -triple=x86_64-pc-win32 < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s +// RUN: %clang_cc1 -E -dM -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s +// RUN: %clang_cc1 -E -dM -triple=x86_64-apple-darwin < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s +// RUN: %clang_cc1 -E -dM -triple=armv7a-apple-darwin < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s // +// C-DEFAULT:#define __STDC_VERSION__ 201112L +// // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix FREESTANDING %s // FREESTANDING:#define __STDC_HOSTED__ 0 // @@ -8361,6 +8366,7 @@ // PS4:#define __SSE2__ 1 // PS4:#define __SSE_MATH__ 1 // PS4:#define __SSE__ 1 +// PS4:#define __STDC_VERSION__ 199901L // PS4:#define __UINTMAX_TYPE__ long unsigned int // PS4:#define __USER_LABEL_PREFIX__ // PS4:#define __WCHAR_MAX__ 65535 diff --git a/clang/test/Sema/attr-deprecated.c b/clang/test/Sema/attr-deprecated.c index 2e3e722942a..8566a0e9436 100644 --- a/clang/test/Sema/attr-deprecated.c +++ b/clang/test/Sema/attr-deprecated.c @@ -122,5 +122,10 @@ struct test22 { }; typedef int test23_ty __attribute((deprecated)); +// Redefining a typedef is a C11 feature. +#if __STDC_VERSION__ <= 199901L +// expected-note@-3 {{'test23_ty' has been explicitly marked deprecated here}} +#else typedef int test23_ty; // expected-note {{'test23_ty' has been explicitly marked deprecated here}} +#endif test23_ty test23_v; // expected-warning {{'test23_ty' is deprecated}} diff --git a/clang/test/Sema/nullability.c b/clang/test/Sema/nullability.c index bbe5cb4143a..71e12734d1d 100644 --- a/clang/test/Sema/nullability.c +++ b/clang/test/Sema/nullability.c @@ -8,7 +8,11 @@ typedef int * int_ptr; // Parse nullability type specifiers. -typedef int * _Nonnull nonnull_int_ptr; // expected-note{{'_Nonnull' specified here}} +// This note requires C11. +#if __STDC_VERSION__ > 199901L +// expected-note@+2{{'_Nonnull' specified here}} +#endif +typedef int * _Nonnull nonnull_int_ptr; typedef int * _Nullable nullable_int_ptr; typedef int * _Null_unspecified null_unspecified_int_ptr; @@ -23,9 +27,14 @@ typedef int * _Null_unspecified _Nonnull conflicting_2; // expected-error{{nulla typedef nonnull_int_ptr _Nonnull redundant_okay_1; // Conflicting nullability specifiers via a typedef are not. +// Some of these errors require C11. +#if __STDC_VERSION__ > 199901L typedef nonnull_int_ptr _Nullable conflicting_2; // expected-error{{nullability specifier '_Nullable' conflicts with existing specifier '_Nonnull'}} +#endif typedef nonnull_int_ptr nonnull_int_ptr_typedef; +#if __STDC_VERSION__ > 199901L typedef nonnull_int_ptr_typedef _Nullable conflicting_2; // expected-error{{nullability specifier '_Nullable' conflicts with existing specifier '_Nonnull'}} +#endif typedef nonnull_int_ptr_typedef nonnull_int_ptr_typedef_typedef; typedef nonnull_int_ptr_typedef_typedef _Null_unspecified conflicting_3; // expected-error{{nullability specifier '_Null_unspecified' conflicts with existing specifier '_Nonnull'}} @@ -69,8 +78,11 @@ typedef _Nonnull int * _Nullable * conflict_int_ptr_ptr_2; // expected-error{{n // Nullability is not part of the canonical type. typedef int * _Nonnull ambiguous_int_ptr; +// Redefining a typedef is a C11 feature. +#if __STDC_VERSION__ > 199901L typedef int * ambiguous_int_ptr; typedef int * _Nullable ambiguous_int_ptr; +#endif // Printing of nullability. float f; diff --git a/clang/test/SemaObjC/objcbridge-attribute-arc.m b/clang/test/SemaObjC/objcbridge-attribute-arc.m index 3bcfdf48e79..26dbce09b81 100644 --- a/clang/test/SemaObjC/objcbridge-attribute-arc.m +++ b/clang/test/SemaObjC/objcbridge-attribute-arc.m @@ -23,7 +23,10 @@ typedef struct __CFSetRef * CFSetRef __attribute__((objc_bridge(NSSet))); // exp typedef union __CFUColor __attribute__((objc_bridge(NSUColor))) * CFUColorRef; // expected-error {{parameter of 'objc_bridge' attribute must be 'id' when used on a typedef}} -typedef union __CFUColor __attribute__((objc_bridge(NSUColor))) * CFUColorRef; // expected-error {{parameter of 'objc_bridge' attribute must be 'id' when used on a typedef}} +// This error requires C11. +#if __STDC_VERSION__ > 199901L +typedef union __CFUColor __attribute__((objc_bridge(NSUColor))) * CFUColorRef; // expected-error {{parameter of 'objc_bridge' attribute must be 'id' when used on a typedef}}
+#endif typedef union __CFUColor __attribute__((objc_bridge(NSUColor))) *CFUColor1Ref; // expected-error {{parameter of 'objc_bridge' attribute must be 'id' when used on a typedef}} |

