]> granicus.if.org Git - clang/commitdiff
Downgrade "function declared 'noreturn' should not return" from an
authorDouglas Gregor <dgregor@apple.com>
Wed, 21 Oct 2009 15:46:01 +0000 (15:46 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 21 Oct 2009 15:46:01 +0000 (15:46 +0000)
error (by default) to a warning, per C++0x [dcl.attr.noreturn]. Patch
from Sean Hunt!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84762 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticSemaKinds.td
test/Sema/attr-noreturn.c

index d92bb9cdc9b33eb958213d0698d66a7727855cf9..7a87e244f77c6d2f32a2012814e60a7707c39b03 100644 (file)
@@ -2203,7 +2203,7 @@ def ext_return_has_expr : ExtWarn<
 def ext_return_has_void_expr : Extension<
   "void %select{function|method}1 %0 should not return void expression">;
 def warn_noreturn_function_has_return_expr : Warning<
-  "function %0 declared 'noreturn' should not return">, DefaultError,
+  "function %0 declared 'noreturn' should not return">,
   InGroup<DiagGroup<"invalid-noreturn">>;
 def warn_falloff_noreturn_function : Warning<
   "function declared 'noreturn' should not return">,
index b83eb94e0582bf85bf1fcb5846e906e3d022e3aa..14011bedca1ae27cad93439bc8f6ed09519984c8 100644 (file)
@@ -15,14 +15,14 @@ int f2() __attribute__((noreturn(1, 2))); // expected-error {{attribute requires
 
 void f3() __attribute__((noreturn));
 void f3() {
-  return;  // expected-error {{function 'f3' declared 'noreturn' should not return}}
+  return;  // expected-warning {{function 'f3' declared 'noreturn' should not return}}
 }
 
-#pragma clang diagnostic warning "-Winvalid-noreturn"
+#pragma clang diagnostic error "-Winvalid-noreturn"
 
 void f4() __attribute__((noreturn));
 void f4() {
-  return;  // expected-warning {{function 'f4' declared 'noreturn' should not return}}
+  return;  // expected-error {{function 'f4' declared 'noreturn' should not return}}
 }
 
 // PR4685