File tree 1 file changed +7
-0
lines changed
1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -3278,15 +3278,22 @@ llvm::CallBase *swift::irgen::emitCXXConstructorCall(
3278
3278
llvm::ArrayRef<llvm::Value *> args) {
3279
3279
bool canThrow = IGF.IGM .isForeignExceptionHandlingEnabled ();
3280
3280
if (auto *fpt = ctor->getType ()->getAs <clang::FunctionProtoType>()) {
3281
+ llvm::errs () << " STEP A" << (void *)fpt << " \n " ;
3282
+ llvm::errs () << " est:" << fpt->getExceptionSpecType () << " \n " ;
3281
3283
if (fpt->getExceptionSpecType () ==
3282
3284
clang::ExceptionSpecificationType::EST_Unevaluated) {
3285
+ llvm::errs () << " STEP B!\n " ;
3283
3286
// Clang might not have evaluated the exception spec for
3284
3287
// a constructor, so force the evaluation of it.
3285
3288
auto &clangSema = IGF.IGM .Context .getClangModuleLoader ()->getClangSema ();
3286
3289
clangSema.EvaluateImplicitExceptionSpec (
3287
3290
ctor->getLocation (), const_cast <clang::CXXConstructorDecl *>(ctor));
3288
3291
fpt = ctor->getType ()->getAs <clang::FunctionProtoType>();
3292
+ llvm::errs () << " STEP B2" << (void *)fpt << " \n " ;
3289
3293
}
3294
+ llvm::errs () << " STEP C!\n " ;
3295
+ llvm::errs () << " est:" << fpt->getExceptionSpecType () << " \n " ;
3296
+ llvm::errs () << " STEP D" << (void *)fpt << " \n " ;
3290
3297
if (fpt && fpt->isNothrow ())
3291
3298
canThrow = false ;
3292
3299
}
You can’t perform that action at this time.
0 commit comments