diff options
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/AST/ASTContext.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/AST/Decl.cpp | 3 | 
2 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 932bc1cb86d..89e1d52c643 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -7911,7 +7911,7 @@ static GVALinkage basicGVALinkageForFunction(const ASTContext &Context,    // Functions specified with extern and inline in -fms-compatibility mode    // forcibly get emitted.  While the body of the function cannot be later    // replaced, the function definition cannot be discarded. -  if (FD->getMostRecentDecl()->isMSExternInline()) +  if (FD->isMSExternInline())      return GVA_StrongODR;    return GVA_DiscardableODR; diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index a7e879e04c8..e700cf85997 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -2734,7 +2734,8 @@ bool FunctionDecl::isMSExternInline() const {    if (!Context.getLangOpts().MSVCCompat && !hasAttr<DLLExportAttr>())      return false; -  for (const FunctionDecl *FD = this; FD; FD = FD->getPreviousDecl()) +  for (const FunctionDecl *FD = getMostRecentDecl(); FD; +       FD = FD->getPreviousDecl())      if (FD->getStorageClass() == SC_Extern)        return true;  | 

