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]

[tree-ssa]: Pre-splitting causes cc1plus miscompilation


I'm still tracking down what exactly is going on, but this patch (which disables PRE to take it out of the equation. There's a Makefile.in part too to add -Wno-error temporarily to test this), causes us to miscompile cc1plus, causing this segfault:


/compilerstuff/gcc-ssa-pre/gcc/build/i686-pc-linux-gnu/libstdc++-v3/ include/complex: In function `std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::complex<_Tp>&) [with _Tp = float, _CharT = char, _Traits = std::char_traits<char>]':
../../../../libstdc++-v3/src/complex_io.cc:41: instantiated from here
/compilerstuff/gcc-ssa-pre/gcc/build/i686-pc-linux-gnu/libstdc++-v3/ include/complex:393: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [complex_io.lo] Error 1



Just a heads up.



Index: tree-ssa-pre.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa-pre.c,v retrieving revision 1.1.4.95 diff -u -3 -p -r1.1.4.95 tree-ssa-pre.c --- tree-ssa-pre.c 29 Oct 2003 21:23:20 -0000 1.1.4.95 +++ tree-ssa-pre.c 30 Oct 2003 16:31:58 -0000 @@ -3198,7 +3198,7 @@ pre_expression (struct expr_info *slot, static void split_critical_edges (void) { -#if 0 +#if 1 struct edge_list *el = create_edge_list (); int i; edge e; @@ -3328,13 +3328,15 @@ collect_expressions (basic_block block, void tree_perform_ssapre (tree fndecl, enum tree_dump_index phase) { +#if 0 int currbbs; varray_type bexprs; size_t k; int i; sbitmap vars_to_rename; - +#endif split_critical_edges (); +#if 0 timevar_push (TV_TREE_PRE); dump_file = dump_begin (phase, &dump_flags); euse_node_pool = create_alloc_pool ("EUSE node pool", @@ -3450,6 +3452,7 @@ tree_perform_ssapre (tree fndecl, enum t rewrite_into_ssa (fndecl, vars_to_rename, TDI_pre); sbitmap_free (vars_to_rename); timevar_pop (TV_TREE_PRE); +#endif }

#include "gt-tree-ssa-pre.h"


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