http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50881

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.5.3
   Target Milestone|---                         |4.6.3
            Summary|ICE Segfault on compare     |[4.6 Regression] ICE
                   |this pointer with reference |Segfault on compare this
                   |                            |pointer with reference
      Known to fail|                            |4.6.1

--- Comment #8 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-11-02 
09:02:16 UTC ---
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();
    }
}

Reply via email to