diff options
-rw-r--r-- | include/clang/Basic/Builtins.def | 2 | ||||
-rw-r--r-- | test/Sema/builtins.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/clang/Basic/Builtins.def b/include/clang/Basic/Builtins.def index 502bbd24d9..5dcd23f6a2 100644 --- a/include/clang/Basic/Builtins.def +++ b/include/clang/Basic/Builtins.def @@ -271,7 +271,7 @@ BUILTIN(__builtin___vprintf_chk, "iicC*a", "FP:1:") BUILTIN(__builtin_expect, "iii" , "nc") BUILTIN(__builtin_prefetch, "vvC*.", "nc") -BUILTIN(__builtin_trap, "v", "n") +BUILTIN(__builtin_trap, "v", "nr") BUILTIN(__builtin_unreachable, "v", "nr") BUILTIN(__builtin_shufflevector, "v." , "nc") diff --git a/test/Sema/builtins.c b/test/Sema/builtins.c index 04a56bd5ed..912a6b385c 100644 --- a/test/Sema/builtins.c +++ b/test/Sema/builtins.c @@ -62,3 +62,8 @@ void test11(int X) { __builtin_eh_return_data_regno(X); // expected-error {{not an integer constant expression}} } +// PR5062 +void test12(void) __attribute__((__noreturn__)); +void test12(void) { + __builtin_trap(); // no warning because trap is noreturn. +} |