aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/Decl.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-07-18 07:11:55 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-07-18 07:11:55 +0000
commitf57ef0516c011237a1b6a5b2585b99caf0396bd7 (patch)
tree9109e5011200fd130712a953faa5ca46b99a9354 /lib/AST/Decl.cpp
parentdce67a70a86db8758c926a76fdd980f5369d5746 (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.cpp7
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;
}