diff options
author | David Majnemer <david.majnemer@gmail.com> | 2016-01-26 01:12:17 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2016-01-26 01:12:17 +0000 |
commit | 145abde152ec206aa6857cfed2b6dd785c395cc8 (patch) | |
tree | f146acc6c640baf4d48b58fbb766cdb2f14752ba /clang/lib/Sema | |
parent | ff33e3636d26b165048e333f1d55a9d3088d4bf3 (diff) | |
download | bcm5719-llvm-145abde152ec206aa6857cfed2b6dd785c395cc8.tar.gz bcm5719-llvm-145abde152ec206aa6857cfed2b6dd785c395cc8.zip |
[MS Compat] Don't crash if __GetExceptionInfo is in global scope
__GetExceptionInfo triggered Sema::LazilyCreateBuiltin which tries to
create a non-templated function decl. This is unnecessary and
ill-advised, there is no need for us to create a declaration for such a
builtin.
This fixes PR26298.
llvm-svn: 258762
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 6adbc3fab6f..e3365b559a7 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -1748,6 +1748,9 @@ NamedDecl *Sema::LazilyCreateBuiltin(IdentifierInfo *II, unsigned ID, << Context.BuiltinInfo.getName(ID); } + if (R.isNull()) + return nullptr; + DeclContext *Parent = Context.getTranslationUnitDecl(); if (getLangOpts().CPlusPlus) { LinkageSpecDecl *CLinkageDecl = |