diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2011-07-18 07:11:55 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2011-07-18 07:11:55 +0000 |
commit | f57ef0516c011237a1b6a5b2585b99caf0396bd7 (patch) | |
tree | 9109e5011200fd130712a953faa5ca46b99a9354 /lib/AST/Decl.cpp | |
parent | dce67a70a86db8758c926a76fdd980f5369d5746 (diff) |
Don't crash when codegen'ing an empty redecl of a function in C99 mode, when
neither was inline. Fixes bug introduced in r135377.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135380 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Decl.cpp')
-rw-r--r-- | lib/AST/Decl.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index d0c285186b..b7884e04cb 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -1782,9 +1782,10 @@ bool FunctionDecl::doesDeclarationForceExternallyVisibleDefinition() const { return false; if (getLinkage() != ExternalLinkage || isInlineSpecified()) return false; - const FunctionDecl *InlineDefinition = 0; - if (hasBody(InlineDefinition)) - return InlineDefinition->isInlineDefinitionExternallyVisible(); + const FunctionDecl *Definition = 0; + if (hasBody(Definition)) + return Definition->isInlined() && + Definition->isInlineDefinitionExternallyVisible(); return false; } |