diff options
Diffstat (limited to 'clang/test/Sema/predef.c')
-rw-r--r-- | clang/test/Sema/predef.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/Sema/predef.c b/clang/test/Sema/predef.c new file mode 100644 index 0000000..95bcfb9 --- /dev/null +++ b/clang/test/Sema/predef.c @@ -0,0 +1,19 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +void abcdefghi12(void) { + const char (*ss)[12] = &__func__; + static int arr[sizeof(__func__)==12 ? 1 : -1]; +} + +char *X = __func__; // expected-warning {{predefined identifier is only valid}} \ + expected-warning {{initializing 'char *' with an expression of type 'const char [1]' discards qualifiers}} + +void a() { + __func__[0] = 'a'; // expected-error {{variable is not assignable}} +} + +// rdar://6097892 - GCC permits this insanity. +const char *b = __func__; // expected-warning {{predefined identifier is only valid}} +const char *c = __FUNCTION__; // expected-warning {{predefined identifier is only valid}} +const char *d = __PRETTY_FUNCTION__; // expected-warning {{predefined identifier is only valid}} + |