[Bug tree-optimization/38072] ICE during inlining of valid code
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Nov 10 19:21:00 GMT 2008
------- Comment #4 from pinskia at gcc dot gnu dot org 2008-11-10 19:20 -------
Here is a better backtrace:
#0 remap_ssa_name (name=0xb7d3c000, id=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:192
#1 0x08127db4 in copy_body_r (tp=0xb7d3dc28, walk_subtrees=0xbfd9fc78,
data=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:599
#2 0x083f195b in walk_tree_1 (tp=0xb7d3dc28, func=0x8127a90 <copy_body_r>,
data=0xbfda005c, pset=0x0, lh=0) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree.c:8618
#3 0x083f1a95 in walk_tree_1 (tp=0xb7d2ce1c, func=0x8127a90 <copy_body_r>,
data=0xbfda005c, pset=0x0, lh=0) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree.c:8857
#4 0x0812735d in remap_type_1 (type=0xb7d2cb60, id=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:403
#5 0x08127517 in remap_type (type=0xb7d2cb60, id=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:430
#6 0x0812743e in remap_type_1 (type=0xb7d2cc40, id=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:311
#7 0x08127517 in remap_type (type=0xb7d2cc40, id=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:430
#8 0x08126f97 in remap_decl (decl=0xb7d35720, id=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:262
#9 0x081278d7 in remap_ssa_name (name=0xb7d3c2a4, id=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:176
#10 0x08127db4 in copy_body_r (tp=0xb7d3e0a0, walk_subtrees=0xbfd9fe48,
data=0xbfda005c) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:599
#11 0x083f195b in walk_tree_1 (tp=0xb7d3e0a0, func=0x8127a90 <copy_body_r>,
data=0xbfda005c, pset=0x0, lh=0) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree.c:8618
#12 0x083f1a95 in walk_tree_1 (tp=0xbfd9ff0c, func=0x8127a90 <copy_body_r>,
data=0xbfda005c, pset=0x0, lh=0) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree.c:8857
#13 0x08128e59 in copy_bb (id=0xbfda005c, bb=0xb7d36168,
frequency_scale=-1210851216, count_scale=1) at
/home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:826
#14 0x0812979f in copy_cfg_body (id=0xbfda005c, count=<value optimized out>,
frequency=0, entry_block_map=0xb7d36fb4, exit_block_map=0xb7d367bc)
at /home/apinski/src/gcc-sony/gcc-4.3-clean/gcc/gcc/tree-inline.c:1367
--- CUT ---
And a reduced testcase:
typedef __SIZE_TYPE__ size_t;
inline void* operator new[](unsigned, void* __p) throw() { return __p; }
void *malloc(size_t);
template<typename DataT> inline void ConstructRawArray(DataT *data,unsigned
size) {
new(data) DataT[size];
}
template<typename DataT> struct SingleBufferBodyC
{
DataT *buff;
void *operator new(size_t s,void *mem) { }
inline unsigned Size() const { }
SingleBufferBodyC(unsigned nsize)
{
ConstructRawArray(this->buff,this->Size());
}
};
template<typename DataT> struct SingleBufferC
{
SingleBufferC(unsigned size)
{
SingleBufferBodyC<DataT> *ret = reinterpret_cast<SingleBufferBodyC<DataT>
*> (malloc(8)) ;
new(ret) SingleBufferBodyC<DataT>(size);
}
};
struct TestObjC {
TestObjC() { }
int val;
};
int TestSingleBuffer() {
SingleBufferC<TestObjC> buff3(100);
}
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
GCC build triplet|i686-apple-darwin9 |
GCC host triplet|i686-apple-darwin9 |
GCC target triplet|i686-apple-darwin9 |
Keywords| |ice-on-valid-code
Summary|ICE on valid code. |ICE during inlining of valid
| |code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38072
More information about the Gcc-bugs
mailing list