This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/30840] [4.3 Regression] ice for legal code with flags -O3 -fno-strict-aliasing



------- Comment #3 from pinskia at gcc dot gnu dot org  2007-02-19 06:53 -------
Confirmed, reduced testcase as far as I can do it:
typedef struct rxvt_term *rxvt_t;
struct rxvt_salloc {
        struct chain {
                struct chain *next;
        };
        chain *firstline;
        unsigned int firstfree;
        inline void alloc ();
};
struct rxvt_perl_interp {
        bool invoke (rxvt_term *term);
};
extern struct rxvt_perl_interp rxvt_perl;
struct rxvt_term   {
        int term_start;
        int *row_buf;
        rxvt_salloc *talloc;
        void scr_reset (int pend, int qlines);
};
inline void rxvt_salloc::alloc ()
{
        if (firstline)
                firstline = firstline->next;
        else    {
                if (firstfree > 65536)
                        firstfree = sizeof (chain);
                firstfree += firstfree;
        }
}
void rxvt_term::scr_reset (int pend, int qlines) {
        do      {
                int *qline;
                for (int qrow = term_start; qlines--; qrow++)
                {
                        qline = row_buf + qrow;
                        talloc->alloc ();
                        talloc->alloc ();
                }
                qline[0]  &= ~0x0001;
                talloc->alloc ();
                talloc->alloc ();
        }       while (term_start != pend);
        rxvt_perl.invoke (this);
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   GCC host triplet|x86_64-suse-linux           |
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2007-02-19 06:53:25
               date|                            |
            Summary|ice for legal code with     |[4.3 Regression] ice for
                   |flags -O3 -fno-strict-      |legal code with flags -O3 -
                   |aliasing                    |fno-strict-aliasing
   Target Milestone|---                         |4.3.0


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]