diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-10-08 04:53:31 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-10-08 04:53:31 +0000 |
commit | 3f02150d316dd8d468c5750fe894da3ffcc9a8a8 (patch) | |
tree | 520a1a74813218dd1709147e41e9930fa4e36d71 /clang/lib/AST/Decl.cpp | |
parent | 3459ce2e5ebbabb8d4dde3809da50dc89e1b0b35 (diff) | |
download | bcm5719-llvm-3f02150d316dd8d468c5750fe894da3ffcc9a8a8.tar.gz bcm5719-llvm-3f02150d316dd8d468c5750fe894da3ffcc9a8a8.zip |
[MSVC Compat] Enable ABI impacting non-conforming behavior independently of -fms-compatibility
No ABI for C++ currently makes it possible to implement the standard
100% perfectly. We wrongly hid some of our compatible behavior behind
-fms-compatibility instead of tying it to the compiler ABI.
llvm-svn: 249656
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
-rw-r--r-- | clang/lib/AST/Decl.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index 594cfa359c5..098298f0c59 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -2703,7 +2703,8 @@ bool FunctionDecl::isMSExternInline() const { assert(isInlined() && "expected to get called on an inlined function!"); const ASTContext &Context = getASTContext(); - if (!Context.getLangOpts().MSVCCompat && !hasAttr<DLLExportAttr>()) + if (!Context.getTargetInfo().getCXXABI().isMicrosoft() && + !hasAttr<DLLExportAttr>()) return false; for (const FunctionDecl *FD = getMostRecentDecl(); FD; |