forked from OSchip/llvm-project
Ensure that the NRVO flag has some block to insert into. Fixes PR9178!
llvm-svn: 125694
This commit is contained in:
parent
197fcd4418
commit
8d2226208d
|
@ -648,7 +648,8 @@ void CodeGenFunction::EmitAutoVarDecl(const VarDecl &D,
|
|||
// to this variable. Set it to zero to indicate that NRVO was not
|
||||
// applied.
|
||||
llvm::Value *Zero = Builder.getFalse();
|
||||
NRVOFlag = CreateTempAlloca(Zero->getType(), "nrvo");
|
||||
NRVOFlag = CreateTempAlloca(Zero->getType(), "nrvo");
|
||||
EnsureInsertPoint();
|
||||
Builder.CreateStore(Zero, NRVOFlag);
|
||||
|
||||
// Record the NRVO flag for this variable.
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
// RUN: %clang_cc1 -emit-llvm-only %s
|
||||
// PR9178
|
||||
|
||||
void abort() __attribute__((__noreturn__));
|
||||
struct CoinModelLink {
|
||||
CoinModelLink();
|
||||
~CoinModelLink();
|
||||
};
|
||||
class CoinModel {
|
||||
CoinModelLink firstInQuadraticColumn();
|
||||
};
|
||||
CoinModelLink CoinModel::firstInQuadraticColumn() {
|
||||
abort();
|
||||
CoinModelLink x;
|
||||
return x;
|
||||
}
|
||||
|
Loading…
Reference in New Issue