This is the mail archive of the gcc@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] | |
Richard Guenther wrote:
Hi!
With todays CVS I get the following ICE with the tramp3d-v2 testcase at http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/tramp3d-v2.cpp.gz
~/ix86/gccssa-lno/bin/g++ -o tramp3d-v2 tramp3d-v2.cpp -O2 -msse2 -ftree-vectorize
tramp3d-v2.cpp: In member function `void RelationList::setDirty() const':
tramp3d-v2.cpp:47400: internal compiler error: in record_dependences_for_modify_expr, at tree-scalar-evolution.c:3236
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
trying to debug this with gdb, my gdb version (5.3) segfaults at setting the breakpoint to the above location. So you have to dig for your own - but maybe TREE_CODE_LENGTH (TREE_CODE (rhs)) is ... 3? (dunno, function call, I assume).
Grepping through tree.def there are tree codes with lengths 3 and 4 which encountered, whould ICE here. Amongst them vtable-ref which seems to be a likely candidate (the elem(i)->setDirty() call is polymorphic).
Richard.
The code failing looks actually like
struct RelationList { void setDirty() const { for (int i = 0; i < list_m->size(); ++i) list_m->elem(i)->setDirty(); } private: RefCountedPtr<RelationListData> list_m; };
where ->elem() returns an element of std::vector<RelationListItem *>.
Richard.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |