parent
3f9b831041
commit
bf3a546a5b
|
|
@ -1,22 +0,0 @@
|
||||||
// RUN: llvmgcc -xc++ %s -c -o - | llvm-dis | grep callDefaultCtor | not grep declare
|
|
||||||
|
|
||||||
// This is a testcase for LLVM PR445, which was a problem where the
|
|
||||||
// instantiation of callDefaultCtor was not being emitted correctly.
|
|
||||||
|
|
||||||
struct Pass {};
|
|
||||||
|
|
||||||
template<typename PassName>
|
|
||||||
Pass *callDefaultCtor() { return new Pass(); }
|
|
||||||
|
|
||||||
void foo(Pass *(*C)());
|
|
||||||
|
|
||||||
struct basic_string {
|
|
||||||
bool empty() const { return true; }
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
bool foo2(basic_string &X) {
|
|
||||||
return X.empty();
|
|
||||||
}
|
|
||||||
void baz() { foo(callDefaultCtor<Pass>); }
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue