Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/opt/cse2.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// This testcase caused ICE on IA-32 in simplify_unary_operation // CSE did not assume SUBREGs changing mode from integral to floating. // { dg-do run { target i?86-*-* sparc*-*-* x86_64-*-* } } // { dg-options "-O2" } struct A { union { float f; unsigned int w; } a; static inline const A foo (void) { return A ((unsigned int) (__extension__ ((union { unsigned l; float d; }) { l: 0x3f800000 }).d)); } inline A (float f) { a.f = f; } A (); inline A (unsigned int w) { a.w = w; } }; A::A() { *this = foo (); } A a; extern "C" void abort (void); extern "C" void exit (int); int main () { if (a.a.w != 1) abort (); exit (0); }