From 290d347471d3af6e0b0317b3b668c5f49aa84432 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Wed, 21 Jan 2015 01:30:40 +0000 Subject: Revert "Sema: err_after_alias is unreachable, remove it" This reverts commit r226626. err_after_alias is, in fact, reachable. llvm-svn: 226633 --- clang/lib/Sema/SemaDecl.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'clang/lib/Sema') diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 8af7e5a1d03..cd6ff6ce582 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -2223,7 +2223,11 @@ static void checkNewAttributesAfterDef(Sema &S, Decl *New, const Decl *Old) { S.CheckForFunctionRedefinition(FD, cast(Def)); else { VarDecl *VD = cast(New); - S.Diag(VD->getLocation(), diag::err_redefinition) << VD->getDeclName(); + unsigned Diag = cast(Def)->isThisDeclarationADefinition() == + VarDecl::TentativeDefinition + ? diag::err_alias_after_tentative + : diag::err_redefinition; + S.Diag(VD->getLocation(), Diag) << VD->getDeclName(); S.Diag(Def->getLocation(), diag::note_previous_definition); VD->setInvalidDecl(); } -- cgit v1.2.3