On Apr 10, 2005, Andreas Jaeger <[EMAIL PROTECTED]> wrote:

> Laurent GUERBY <[EMAIL PROTECTED]> writes:

>> stage1/xgcc -Bstage1/ 
>> -B/home/guerby/work/gcc/install/install-20050410T003153/i686-pc-linux-gnu/bin/
>>  -c -O2 -g -fomit-frame-pointer      -gnatpg -gnata -I--I. -Iada 
>> -I/home/guerby/work/gcc/version-head/gcc/ada 
>> /home/guerby/work/gcc/version-head/gcc/ada/errout.adb -o ada/errout.o
>> +===========================GNAT BUG DETECTED==============================+
>> | 4.1.0 20050409 (experimental) (i686-pc-linux-gnu) GCC error:             |
>> | tree check: accessed operand 2 of view_convert_expr with 1 operands      |
>> |    in visit_assignment, at tree-ssa-ccp.c:1074                           |
>> | Error detected at errout.adb:2563:1                                      |

> And on x86_64-linux-gnu I see now:

> stage1/xgcc -Bstage1/ -B/opt/gcc/4.1-devel/x86_64-suse-linux-gnu/bin/ -c -g 
> -O2      -gnatpg -gnata -I- -I. -Iada -I/cvs/gcc/gcc/ada 
> /cvs/gcc/gcc/ada/ada.ads -o ada/ada.o
> +===========================GNAT BUG DETECTED==============================+
> | 4.1.0 20050409 (experimental) (x86_64-suse-linux-gnu) Segmentation fault |
> | Error detected at ada.ads:17:1                                           |
> | Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
> | Use a subject line meaningful to you and us to track the bug.            |
> | Include the entire contents of this bug box in the report.               |
> | Include the exact gcc or gnatmake command that you entered.              |
> | Also include sources listed below in gnatchop format                     |
> | (concatenated together with no headers between files).                   |
> +==========================================================================+

I'm testing the following patches to fix these two problems.  I'll
submit them formally when bootstrap is complete, but early review and
maybe even pre-approval wouldn't hurt :-)

Index: tree-ssa-ccp.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-ccp.c,v
retrieving revision 2.64
diff -u -p -d -u -p -d -u -p -r2.64 tree-ssa-ccp.c
--- tree-ssa-ccp.c      9 Apr 2005 01:37:23 -0000       2.64
+++ tree-ssa-ccp.c      11 Apr 2005 19:54:39 -0000
@@ -1071,7 +1071,7 @@ visit_assignment (tree stmt, tree *outpu
                               TREE_TYPE (TREE_OPERAND (orig_lhs, 0)),
                               val.value));
 
-       orig_lhs = TREE_OPERAND (orig_lhs, 1);
+       orig_lhs = TREE_OPERAND (orig_lhs, 0);
        if (w && is_gimple_min_invariant (w))
          val.value = w;
        else
Index: varasm.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/varasm.c,v
retrieving revision 1.495
diff -u -p -d -u -p -d -u -p -r1.495 varasm.c
--- varasm.c    9 Apr 2005 20:41:49 -0000       1.495
+++ varasm.c    11 Apr 2005 19:55:05 -0000
@@ -307,7 +307,7 @@ in_unlikely_text_section (void)
       cfun = DECL_STRUCT_FUNCTION (current_function_decl);
 
       ret_val = ((in_section == in_unlikely_executed_text)
-                || (in_section == in_named
+                || (in_section == in_named && cfun
                     && cfun->unlikely_text_section_name
                     && strcmp (in_named_name, 
                                cfun->unlikely_text_section_name) == 0));


-- 
Alexandre Oliva             http://www.ic.unicamp.br/~oliva/
Red Hat Compiler Engineer   [EMAIL PROTECTED], gcc.gnu.org}
Free Software Evangelist  [EMAIL PROTECTED], gnu.org}

Reply via email to