diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-01-21 01:30:40 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-01-21 01:30:40 +0000 |
commit | 290d347471d3af6e0b0317b3b668c5f49aa84432 (patch) | |
tree | 18b80c079e16d1586e6627fc6bf891cb0bff81ee /clang/lib/Sema/SemaDecl.cpp | |
parent | e6556a9ceac2a2fab2062822a910877b4491b939 (diff) | |
download | bcm5719-llvm-290d347471d3af6e0b0317b3b668c5f49aa84432.tar.gz bcm5719-llvm-290d347471d3af6e0b0317b3b668c5f49aa84432.zip |
Revert "Sema: err_after_alias is unreachable, remove it"
This reverts commit r226626. err_after_alias is, in fact, reachable.
llvm-svn: 226633
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
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<FunctionDecl>(Def)); else { VarDecl *VD = cast<VarDecl>(New); - S.Diag(VD->getLocation(), diag::err_redefinition) << VD->getDeclName(); + unsigned Diag = cast<VarDecl>(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(); } |