Reduced testcase:
class CompareThisRefICE { CompareThisRefICE(); }; typedef unsigned short ushort; class __attribute__((visibility("default"))) QString { public: ~QString(); inline QString(const char *ch) : d(fromAscii_helper(ch)) { } struct Data { ushort righttoleft : 11; }; Data *d; static Data *fromAscii_helper(const char *str, int size = -1); }; class B { }; CompareThisRefICE::CompareThisRefICE() { CompareThisRefICE t; if (!(this != &t)) { QString b("boom"); throw B(); } }
Reduced testcase:
class CompareThisRefICE { RefICE( ); _((visibility( "default" ))) QString { helper( ch)) { } helper( const char *str, int size = -1); CE::CompareThis RefICE( ) { RefICE t;
CompareThis
};
typedef unsigned short ushort;
class __attribute_
public:
~QString();
inline QString(const char *ch) : d(fromAscii_
struct Data { ushort righttoleft : 11; };
Data *d;
static Data *fromAscii_
};
class B { };
CompareThisRefI
CompareThis
if (!(this != &t)) {
QString b("boom");
throw B();
}
}