#include <iostream>
template < typename T>
class Test {
public :
template < typename A> // A == char
using Wrapper = std:: string ;
// template <typename A> // A == char
// class Wrapper : public std::string
// {};
template < template < class > class C>
void func( const C< T> & t) {
t;
return ;
}
void test( )
{
std:: string sss;
Wrapper< char > www;
func( ( const Wrapper< char > & ) sss) ;
}
} ;
int main( int argc, char * argv[ ] )
{
Test< char > ttt;
ttt.test ( ) ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmNsYXNzIFRlc3QgewpwdWJsaWM6CiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQT4gLy8gQSA9PSBjaGFyCiAgICB1c2luZyBXcmFwcGVyID0gc3RkOjpzdHJpbmc7CgovLyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQT4gLy8gQSA9PSBjaGFyCi8vICAgIGNsYXNzIFdyYXBwZXIgOiBwdWJsaWMgc3RkOjpzdHJpbmcKLy8gICAge307CgogICAgdGVtcGxhdGUgPHRlbXBsYXRlIDxjbGFzcz4gY2xhc3MgQz4KICAgIHZvaWQgZnVuYyhjb25zdCBDPFQ+JiB0KSB7CiAgICAgICAgdDsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdm9pZCB0ZXN0KCkKICAgIHsKICAgICAgICBzdGQ6OnN0cmluZyBzc3M7CiAgICAgICAgV3JhcHBlcjxjaGFyPiB3d3c7CiAgICAgICAgZnVuYygoY29uc3QgV3JhcHBlcjxjaGFyPiYpc3NzKTsKICAgIH0KfTsKCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKICAgIFRlc3Q8Y2hhcj4gdHR0OwogICAgdHR0LnRlc3QoKTsKfQo=
compilation info
prog.cpp: In member function ‘void Test<T>::test() [with T = char]’:
prog.cpp:19:10: internal compiler error: Segmentation fault
void test()
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
Preprocessed source stored into /home/sLPrmB/ccp5onrg.out file, please attach this to your bugreport.
stdout