diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-20 00:01:36 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-20 00:01:36 +0000 |
| commit | 6f42740707bb08185c9feedb22196d63acb8abb2 (patch) | |
| tree | 580a6ea4f15f0220bac1465fce1f247651ea61e6 /clang/lib | |
| parent | 990504e625a3bf3f3276576f42e07dfdf9f74c4c (diff) | |
| download | bcm5719-llvm-6f42740707bb08185c9feedb22196d63acb8abb2.tar.gz bcm5719-llvm-6f42740707bb08185c9feedb22196d63acb8abb2.zip | |
Fix crash on noreturn conversion in unprototyped function type. Thanks to Keith
Walker for spotting the bug.
llvm-svn: 284673
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index 0c7ef74a248..db97f3d57f5 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -1432,7 +1432,7 @@ bool Sema::IsFunctionConversion(QualType FromType, QualType ToType, const auto *FromFn = cast<FunctionType>(CanFrom); FunctionType::ExtInfo FromEInfo = FromFn->getExtInfo(); - const auto *ToFn = dyn_cast<FunctionProtoType>(CanTo); + const auto *ToFn = cast<FunctionType>(CanTo); FunctionType::ExtInfo ToEInfo = ToFn->getExtInfo(); bool Changed = false; @@ -1445,7 +1445,7 @@ bool Sema::IsFunctionConversion(QualType FromType, QualType ToType, // Drop 'noexcept' if not present in target type. if (const auto *FromFPT = dyn_cast<FunctionProtoType>(FromFn)) { - const auto *ToFPT = dyn_cast<FunctionProtoType>(ToFn); + const auto *ToFPT = cast<FunctionProtoType>(ToFn); if (FromFPT->isNothrow(Context) && !ToFPT->isNothrow(Context)) { FromFn = cast<FunctionType>( Context.getFunctionType(FromFPT->getReturnType(), |

