[PATCH] D44901: [Diag] Avoid emitting a redefinition note if no location is available.

Matt Davis via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 28 09:07:57 PDT 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rC328712: [Diag] Avoid emitting a redefinition note if no location is available. (authored by mattd, committed by ).

Repository:
  rC Clang

https://reviews.llvm.org/D44901

Files:
  lib/Sema/SemaDecl.cpp
  test/Sema/redefine_extname.c


Index: lib/Sema/SemaDecl.cpp
===================================================================
--- lib/Sema/SemaDecl.cpp
+++ lib/Sema/SemaDecl.cpp
@@ -4057,7 +4057,8 @@
   }
 
   // Redefinition coming from different files or couldn't do better above.
-  Diag(Old->getLocation(), diag::note_previous_definition);
+  if (Old->getLocation().isValid())
+    Diag(Old->getLocation(), diag::note_previous_definition);
 }
 
 /// We've just determined that \p Old and \p New both appear to be definitions
Index: test/Sema/redefine_extname.c
===================================================================
--- test/Sema/redefine_extname.c
+++ test/Sema/redefine_extname.c
@@ -4,3 +4,4 @@
 #pragma redefine_extname foo_static bar_static
 static int foo_static() { return 1; } // expected-warning {{#pragma redefine_extname is applicable to external C declarations only; not applied to function 'foo_static'}}
 
+unsigned __int128_t; // expected-error {{redefinition of '__int128_t' as different kind of symbol}}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44901.140086.patch
Type: text/x-patch
Size: 1009 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180328/219f119a/attachment.bin>


More information about the cfe-commits mailing list