diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-01-09 16:34:58 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-01-09 16:34:58 +0000 |
commit | 3bd836a58e4c515aadd278f73f5dfc42782f3bd9 (patch) | |
tree | d1ac926de16002624b30c87339b219d3fcf5b4a2 /clang/lib/AST/Decl.cpp | |
parent | 9f64604e74a46ea1c8a8bd258b4a4195f79ec6cb (diff) | |
download | bcm5719-llvm-3bd836a58e4c515aadd278f73f5dfc42782f3bd9.tar.gz bcm5719-llvm-3bd836a58e4c515aadd278f73f5dfc42782f3bd9.zip |
Handle static functions being redeclared in function scope.
Fixes pr14861.
llvm-svn: 171978
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
-rw-r--r-- | clang/lib/AST/Decl.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index 35e61b57754..bf5bfaaef10 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -803,6 +803,10 @@ static LinkageInfo computeLVForDecl(const NamedDecl *D, bool OnlyTemplate) { !Function->getDeclContext()->isExternCContext()) return LinkageInfo::uniqueExternal(); + // This is a "void f();" which got merged with a file static. + if (Function->getStorageClass() == SC_Static) + return LinkageInfo::internal(); + LinkageInfo LV; if (!OnlyTemplate) { if (llvm::Optional<Visibility> Vis = Function->getExplicitVisibility()) |