This is the mail archive of the gcc-bugs@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]

[Bug middle-end/31947] [4.2 Regression] ICE in calc_dfs_tree, at dominance.c:374



------- Comment #7 from rakdver at gcc dot gnu dot org  2007-10-17 16:07 -------
(In reply to comment #0)
> I'm getting the following ICE with gcc 4.2.0 RC3.  It compiles fine
> with gcc 4.1 and 4.3 20070515.
> 
> (sid)23889:tbm@em64t: ~] /usr/lib/gcc-snapshot/bin/g++ -c -O2
> freehdl-vital_timing.cc
> freehdl-vital_timing.cc: In function 'array_type<long int> delay(const
> array_type<long int>&)':
> freehdl-vital_timing.cc:38: internal compiler error: in calc_dfs_tree, at
> dominance.c:374
> Please submit a full bug report,
> with preprocessed source if appropriate.
> (sid)23890:tbm@em64t: ~] g++-4.1 -c -O2 freehdl-vital_timing.cc
> (sid)23891:tbm@em64t: ~]

This ICE happens when there are unreachable blocks in cfg when
calculate_dominance_info is called.  Adding delete_unreachable_blocks
before calculate_dominance_info in tree-vrp.c:identify_jump_threads fixes
this ICE (I need to check whether this does not cause other problems, though).


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]