[Bug tree-optimization/17368] ice-on-legal-code in optimize_inline_calls, at tree-inline.c

salinger at sun dot felk dot cvut dot cz gcc-bugzilla@gcc.gnu.org
Thu Sep 9 11:53:00 GMT 2004


------- Additional Comments From salinger at sun dot felk dot cvut dot cz  2004-09-09 11:53 -------
Smaller testcase:

// g++ -O2
#include <string>

// from glibc 2.2.5:

# define bswap_16(x) \
     (__extension__                                                           \
      ({ register unsigned short int __v;                                     \
           __asm__ __volatile__ ("rorw $8, %w0"                               \
                                 : "=r" (__v)                                 \
                                 : "0" ((unsigned short int) (x))             \
                                 : "cc");                                     \
         __v; }))

unsigned short int conv(const std::string &arg)
        {return 1;}

int main(void)
{
        return bswap_16(conv("port"));
};



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
      Known to work|                            |3.3.3 3.4.2


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



More information about the Gcc-bugs mailing list