diff options
Diffstat (limited to 'test/Sema/predef.c')
-rw-r--r-- | test/Sema/predef.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Sema/predef.c b/test/Sema/predef.c new file mode 100644 index 0000000..7b3fe50 --- /dev/null +++ b/test/Sema/predef.c @@ -0,0 +1,19 @@ +// RUN: clang-cc -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 const [1]' discards qualifiers, expected 'char *'}} + +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}} + |