[Bug middle-end/69715] g++ crash dump on building SoftFloatWrapper.cpp
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Feb 8 07:50:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69715
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-02-08
CC| |trippels at gcc dot gnu.org
Component|c++ |middle-end
Ever confirmed|0 |1
Severity|blocker |normal
--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
All supported gcc versions ICE.
markus@x4 tmp % cat cra.ii
namespace streflop {
template <int> struct A { operator long double() const; };
namespace SoftFloat {
typedef struct {
long long low;
int high;
} floatx80;
floatx80 fn1(int);
}
using namespace SoftFloat;
template <> A<32>::operator long double() const {
long double a;
*reinterpret_cast<floatx80 *>(&a) = fn1(0);
return a;
}
}
markus@x4 tmp % /var/tmp/gcc_test/usr/local/bin/g++ -c -m32 -O3 cra.ii
cra.ii: In member function ‘streflop::A<<anonymous> >::operator long double()
const [with int <anonymous> = 32]’:
cra.ii:13:45: internal compiler error: in store_bit_field_1, at expmed.c:839
*reinterpret_cast<floatx80 *>(&a) = fn1(0);
^
0x9d7d8e store_bit_field_1
../../gcc/gcc/expmed.c:839
0x9d7e8c store_bit_field(rtx_def*, unsigned long, unsigned long, unsigned long,
unsigned long, machine_mode, rtx_def*, bool)
../../gcc/gcc/expmed.c:1111
0x9f906c store_field
../../gcc/gcc/expr.c:6769
0x9f4b41 expand_assignment(tree_node*, tree_node*, bool)
../../gcc/gcc/expr.c:5021
0x8e7a2a expand_call_stmt
../../gcc/gcc/cfgexpand.c:2646
0x8e7a2a expand_gimple_stmt_1
../../gcc/gcc/cfgexpand.c:3536
0x8e7a2a expand_gimple_stmt
../../gcc/gcc/cfgexpand.c:3702
0x8eaa96 expand_gimple_basic_block
../../gcc/gcc/cfgexpand.c:5708
0x8ef8d6 execute
../../gcc/gcc/cfgexpand.c:6323
More information about the Gcc-bugs
mailing list