mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-30 15:32:52 +01:00
23 lines
504 B
Plaintext
23 lines
504 B
Plaintext
|
// 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>); }
|
||
|
|