]> granicus.if.org Git - clang/commitdiff
make -Wtypedef-redefinition an extwarn instead of defaulting
authorChris Lattner <sabre@nondot.org>
Mon, 27 Apr 2009 00:41:01 +0000 (00:41 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 27 Apr 2009 00:41:01 +0000 (00:41 +0000)
to error, doing this breaks too many programs (e.g. Adium).

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

include/clang/Basic/DiagnosticSemaKinds.td
test/Preprocessor/line-directive.c

index 7225aadbbc1ec04952f90084c3954302db31694e..448f16b0b820de1c4270e792f0901883bbcc815d 100644 (file)
@@ -740,9 +740,9 @@ def warn_missing_prototype : Warning<
   InGroup<DiagGroup<"missing-prototypes">>, DefaultIgnore;
 def err_redefinition : Error<"redefinition of %0">;
 
-def warn_redefinition_of_typedef : Warning<
+def warn_redefinition_of_typedef : ExtWarn<
   "redefinition of typedef %0 is invalid in C">,
-  InGroup<DiagGroup<"typedef-redefinition"> >, DefaultError;
+  InGroup<DiagGroup<"typedef-redefinition"> >;
 
 def err_static_non_static : Error<
   "static declaration of %0 follows non-static declaration">;
index a9ed4bcf8cd66f99d55d890b905964114dead3c3..53e9ab7b5de910532e2b35689ed211dd1544f827 100644 (file)
@@ -41,7 +41,7 @@
 
 # 192 "glomp.h" // not a system header.
 typedef int x;  // expected-note {{previous definition is here}}
-typedef int x;  // expected-error {{redefinition of typedef 'x' is invalid in C}}
+typedef int x;  // expected-warning {{redefinition of typedef 'x' is invalid in C}}
 
 # 192 "glomp.h" 3 // System header.
 typedef int y;  // ok
@@ -60,7 +60,7 @@ typedef int z1;  // ok
 # 42 "blonk.h"  // DOES change system headerness.
 
 typedef int w;  // expected-note {{previous definition is here}}
-typedef int w;  // expected-error {{redefinition of typedef 'w' is invalid in C}}
+typedef int w;  // expected-warning {{redefinition of typedef 'w' is invalid in C}}
 
 
 // This should not produce an "extra tokens at end of #line directive" warning,