+===========================GNAT BUG DETECTED==============================+
| 4.1.0 20050610 (experimental) (x86_64-unknown-linux-gnu) GCC error:      |
| tree check: expected integer_cst, have mult_expr in                      |
|    fieldoff_compare, at tree-ssa-structalias.c:2550                      |
| Error detected at c34006d.adb:238:5                                      |

Also happens on

c34006f
c34007s
c34007u
c34009d
c34009f
c34009j
c34009l

gdb information:

#0  internal_error (gmsgid=0xa9ac83 "in %s, at %s:%d") at
/home/guerby/work/gcc/version-head/gcc/diagnostic.c:528
#1  0x000000000071c81c in fancy_abort (file=Variable "file" is not available.
) at /home/guerby/work/gcc/version-head/gcc/diagnostic.c:588
#2  0x000000000095625e in create_variable_info_for (decl=0x2a95946c30,
name=0x2a95946270 "\020d\224\225*")
    at /home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:2774
#3  0x00000000009563c0 in get_constraint_exp_from_ssa_var (t=0x2a95946c30) at
/home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:1827
#4  0x0000000000956ae1 in get_constraint_for (t=0x2a95946c30) at
/home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:2184
#5  0x0000000000956cf3 in get_constraint_for (t=0x2a9593cb00) at
/home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:2084
#6  0x0000000000956e6b in get_constraint_for (t=0x2a95963bc0) at
/home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:2171
#7  0x0000000000957465 in find_func_aliases (t=0x2a95960a50) at
/home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:2460
#8  0x000000000095a71b in create_alias_vars () at
/home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:3091
#9  0x000000000063e9cf in execute_pass_list (pass=0xca5e00) at
/home/guerby/work/gcc/version-head/gcc/tree-optimize.c:630
#10 0x000000000063ea5f in execute_pass_list (pass=0xc8f2c0) at
/home/guerby/work/gcc/version-head/gcc/tree-optimize.c:668
#11 0x000000000063edc5 in tree_rest_of_compilation (fndecl=0x2a95935680) at
/home/guerby/work/gcc/version-head/gcc/tree-optimize.c:800
#12 0x0000000000983586 in cgraph_expand_function (node=0x2a95942d00) at
/home/guerby/work/gcc/version-head/gcc/cgraphunit.c:968
#13 0x0000000000985337 in cgraph_optimize () at
/home/guerby/work/gcc/version-head/gcc/cgraphunit.c:1034
#14 0x000000000041b08a in gnat_parse_file (set_yydebug=Variable "set_yydebug" is
not available.

gdb) up
#2  0x000000000095625e in create_variable_info_for (decl=0x2a95946c30,
name=0x2a95946270 "\020d\224\225*")
    at /home/guerby/work/gcc/version-head/gcc/tree-ssa-structalias.c:2774
2774          gcc_assert (bitpos_of_field (field) == 0);
(gdb) p notokay
$1 = 0 '\0'

Patch from Daniel Berlin:
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-structalias.c,v
retrieving revision 2.1
diff -u -p -r2.1 tree-ssa-structalias.c
--- tree-ssa-structalias.c      9 Jun 2005 13:05:39 -0000       2.1
+++ tree-ssa-structalias.c      11 Jun 2005 21:54:10 -0000
@@ -2756,7 +2756,8 @@ create_variable_info_for (tree decl, con
              break;
            }
        }
-      sort_fieldstack (fieldstack);
+      if (!notokay)
+       sort_fieldstack (fieldstack);
       if (VEC_length (fieldoff_s, fieldstack) != 0)
        fo = VEC_index (fieldoff_s, fieldstack, 0);

Will test tomorrow.

-- 
           Summary: ACATS ICE (8) fieldoff_compare, at tree-ssa-
                    structalias.c:2550
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: laurent at guerby dot net
                CC: dberlin at gcc dot gnu dot org,gcc-bugs at gcc dot gnu
                    dot org


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

Reply via email to