diff options
Diffstat (limited to 'clang/test/Sema/enable_if.c')
-rw-r--r-- | clang/test/Sema/enable_if.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/Sema/enable_if.c b/clang/test/Sema/enable_if.c index 4644858593d..7faae43b577 100644 --- a/clang/test/Sema/enable_if.c +++ b/clang/test/Sema/enable_if.c @@ -77,6 +77,21 @@ void test3(int c) { #endif } +// Verify that the alternate spelling __enable_if__ works as well. +int isdigit2(int c) __attribute__((overloadable)); // expected-note{{candidate function}} +int isdigit2(int c) __attribute__((overloadable)) // expected-note{{candidate function has been explicitly made unavailable}} + __attribute__((__enable_if__(c <= -1 || c > 255, "'c' must have the value of an unsigned char or EOF"))) + __attribute__((unavailable("'c' must have the value of an unsigned char or EOF"))); + +void test4(int c) { + isdigit2(c); + isdigit2(10); +#ifndef CODEGEN + isdigit2(-10); // expected-error{{call to unavailable function 'isdigit2': 'c' must have the value of an unsigned char or EOF}} +#endif +} + + #ifndef CODEGEN __attribute__((enable_if(n == 0, "chosen when 'n' is zero"))) void f1(int n); // expected-error{{use of undeclared identifier 'n'}} |