public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/34668]  New: ICE in find_compatible_field
@ 2008-01-04  9:21 aldot at gcc dot gnu dot org
  2008-01-04 13:01 ` [Bug c/34668] [4.3 Regression] " aldot at gcc dot gnu dot org
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: aldot at gcc dot gnu dot org @ 2008-01-04  9:21 UTC (permalink / raw)
  To: gcc-bugs

/there/toolchain_build_arm_nofpu/gcc-4.3.0/gcc/config/arm/arm.c:18717: internal
compiler error: tree check: expected record_type or union_type or
qual_union_type, have array_type in find_compatible_field, at tree.c:8022

Reducing.


/there/build_arm_nofpu/staging_dir/usr/bin/arm-linux-uclibcgnueabi-gcc -v
Using built-in specs.
Target: arm-linux-uclibcgnueabi
Configured with: /there/toolchain_build_arm_nofpu/gcc-4.3.0/configure
--prefix=/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu
--target=arm-linux-uclibcgnueabi --enable-languages=c,fortran
--with-sysroot=/there/build_arm_nofpu/staging_dir
--with-build-time-tools=/there/build_arm_nofpu/staging_dir/usr/arm-linux-uclibcgnueabi/bin
--disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-shared
--with-gmp=/there/toolchain_build_arm_nofpu/gmp
--with-mpfr=/there/toolchain_build_arm_nofpu/mpfr --disable-nls
--enable-threads --disable-multilib --with-float=soft
Thread model: posix
gcc version 4.3.0 20080102 (experimental) (GCC)


-- 
           Summary: ICE in find_compatible_field
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, build
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: aldot at gcc dot gnu dot org


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
@ 2008-01-04 13:01 ` aldot at gcc dot gnu dot org
  2008-01-04 13:17 ` aldot at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: aldot at gcc dot gnu dot org @ 2008-01-04 13:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from aldot at gcc dot gnu dot org  2008-01-04 12:50 -------
Works with:
gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

Fails with 4.3.0 since at least
gcc version 4.3.0 20071212 (experimental) (GCC)

Starting program: /opt/i686/gcc-4.3/lib/gcc/i686-linux-gnu/4.3.0/cc1
-fpreprocessed optabs.i arm.i -quiet -dumpbase optabs.i -mtune=generic
-auxbase-strip libbackend.o -Os -version -o /tmp/ccZ8vC6c.s
Failed to read a valid object file image from memory.
GNU C (GCC) version 4.3.0 20071221 (experimental) (i686-linux-gnu)
        compiled by GNU C version 4.3.0 20071221 (experimental), GMP version
4.2.1, MPFR version 2.3.0-p4.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b3aa603325a2948ed75b63114a5afa00

Breakpoint 1, internal_error (
    gmsgid=0x8ad2f58 "tree check: %s, have %s in %s, at %s:%d")
    at ../../../src/gcc-4.3/gcc/diagnostic.c:604
604       va_start (ap, gmsgid);
(gdb) bt
#0  internal_error (gmsgid=0x8ad2f58 "tree check: %s, have %s in %s, at %s:%d")
    at ../../../src/gcc-4.3/gcc/diagnostic.c:604
#1  0x08724a76 in tree_check_failed (node=0xb7d21ea0, 
    file=0x8ad166c "../../../src/gcc-4.3/gcc/tree.c", line=8022, 
    function=0x8ad37a4 "find_compatible_field")
    at ../../../src/gcc-4.3/gcc/tree.c:6813
#2  0x0872b303 in find_compatible_field (record=0xb7d21ea0, 
    orig_field=0xb7d28000) at ../../../src/gcc-4.3/gcc/tree.c:8022
#3  0x085a26ab in fold_stmt_r (expr_p=0xb7d26784, walk_subtrees=0xbfaa5fdc, 
    data=0xbfaa6350) at ../../../src/gcc-4.3/gcc/tree-ssa-ccp.c:2163
#4  0x0872c8df in walk_tree_1 (tp=0xb7d26784, func=0x85a112d <fold_stmt_r>, 
    data=0xbfaa6350, pset=0x0, lh=0) at ../../../src/gcc-4.3/gcc/tree.c:8376
#5  0x0872eb42 in walk_tree_1 (tp=0xb7cb96a4, func=0x85a112d <fold_stmt_r>, 
    data=0xbfaa6350, pset=0x0, lh=0) at ../../../src/gcc-4.3/gcc/tree.c:8615
#6  0x085a67f4 in fold_stmt (stmt_p=0xb7cb96a4)
    at ../../../src/gcc-4.3/gcc/tree-ssa-ccp.c:2529
#7  0x087e1bbe in fold_marked_statements (first=4, statements=0x8c303d8)
    at ../../../src/gcc-4.3/gcc/tree-inline.c:2839
#8  0x087e1e29 in optimize_inline_calls (fn=0xb7d20a10)
    at ../../../src/gcc-4.3/gcc/tree-inline.c:2929
#9  0x087a6b50 in cgraph_early_inlining ()
    at ../../../src/gcc-4.3/gcc/ipa-inline.c:1469
#10 0x083e7106 in execute_one_pass (pass=0x8c31550)
    at ../../../src/gcc-4.3/gcc/passes.c:1119
#11 0x083e7250 in execute_pass_list (pass=0x8c31550)
    at ../../../src/gcc-4.3/gcc/passes.c:1172
#12 0x083e726c in execute_pass_list (pass=0x8bd0360)
    at ../../../src/gcc-4.3/gcc/passes.c:1173
#13 0x083e6973 in do_per_function_toporder (
    callback=0x83e723f <execute_pass_list>, data=0x8bd0520)
    at ../../../src/gcc-4.3/gcc/passes.c:857
#14 0x083e72fd in execute_ipa_pass_list (pass=0x8bd0320)
    at ../../../src/gcc-4.3/gcc/passes.c:1189
#15 0x0879f5a7 in ipa_passes () at ../../../src/gcc-4.3/gcc/cgraphunit.c:1351
#16 0x0879f6c1 in cgraph_optimize ()
    at ../../../src/gcc-4.3/gcc/cgraphunit.c:1400
#17 0x0807678f in c_write_global_declarations ()
    at ../../../src/gcc-4.3/gcc/c-decl.c:8076
#18 0x0849b291 in compile_file () at ../../../src/gcc-4.3/gcc/toplev.c:1055
#19 0x0849cd68 in do_compile () at ../../../src/gcc-4.3/gcc/toplev.c:2245
#20 0x0849cdca in toplev_main (argc=14, argv=0xbfaa67e4)
    at ../../../src/gcc-4.3/gcc/toplev.c:2277
#21 0x081257be in main (argc=1634890337, argv=0x79745f79)
    at ../../../src/gcc-4.3/gcc/main.c:35


-- 

aldot at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.3.0
      Known to work|                            |4.1.2
            Summary|ICE in find_compatible_field|[4.3 Regression] ICE in
                   |                            |find_compatible_field
   Target Milestone|---                         |4.3.0


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
  2008-01-04 13:01 ` [Bug c/34668] [4.3 Regression] " aldot at gcc dot gnu dot org
@ 2008-01-04 13:17 ` aldot at gcc dot gnu dot org
  2008-01-04 13:24 ` aldot at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: aldot at gcc dot gnu dot org @ 2008-01-04 13:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from aldot at gcc dot gnu dot org  2008-01-04 12:51 -------
Created an attachment (id=14875)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14875&action=view)
optabs.i

file1


-- 


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
  2008-01-04 13:01 ` [Bug c/34668] [4.3 Regression] " aldot at gcc dot gnu dot org
  2008-01-04 13:17 ` aldot at gcc dot gnu dot org
@ 2008-01-04 13:24 ` aldot at gcc dot gnu dot org
  2008-01-04 13:32 ` [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine rguenth at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: aldot at gcc dot gnu dot org @ 2008-01-04 13:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from aldot at gcc dot gnu dot org  2008-01-04 12:51 -------
Created an attachment (id=14876)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14876&action=view)
arm.i (file2)


-- 


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2008-01-04 13:24 ` aldot at gcc dot gnu dot org
@ 2008-01-04 13:32 ` rguenth at gcc dot gnu dot org
  2008-01-04 13:33 ` aldot at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-04 13:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rguenth at gcc dot gnu dot org  2008-01-04 13:00 -------
Confirmed.  Fails at -O[23s].


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-01-04 13:00:27
               date|                            |
            Summary|[4.3 Regression] ICE in     |[4.3 Regression] ICE in
                   |find_compatible_field       |find_compatible_field with -
                   |                            |combine


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2008-01-04 13:32 ` [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine rguenth at gcc dot gnu dot org
@ 2008-01-04 13:33 ` aldot at gcc dot gnu dot org
  2008-01-04 14:00 ` aldot at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: aldot at gcc dot gnu dot org @ 2008-01-04 13:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from aldot at gcc dot gnu dot org  2008-01-04 13:06 -------
Works with
gcc-4.3.orig-HEAD (GCC) 4.3.0 20070919 (experimental)


-- 

aldot at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.1.2                       |4.1.2 4.2.3


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-01-04 13:33 ` aldot at gcc dot gnu dot org
@ 2008-01-04 14:00 ` aldot at gcc dot gnu dot org
  2008-01-04 15:50 ` jakub at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: aldot at gcc dot gnu dot org @ 2008-01-04 14:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from aldot at gcc dot gnu dot org  2008-01-04 13:52 -------
Smaller testcase:

cat > arm.i <<-EOF
struct optab { unsigned code; };
extern struct optab optab_table[1];
EOF


cat > optabs.i <<-EOF
struct optab { unsigned code; };
extern struct optab optab_table[1];
void
init_optab (struct optab *op)
{
  op->code = 0xdead;
}
void
set_conv_libfunc (void)
{
  init_optab ((&optab_table[0]));
}
EOF


-- 


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2008-01-04 14:00 ` aldot at gcc dot gnu dot org
@ 2008-01-04 15:50 ` jakub at gcc dot gnu dot org
  2008-01-10  1:05 ` jakub at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-04 15:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jakub at gcc dot gnu dot org  2008-01-04 15:17 -------
This is a problem during inlining.
The call actually has &optab_table argument:
 <addr_expr 0x2aaaae9035c0
    type <pointer_type 0x2aaaaea1e600
        type <record_type 0x2aaaaea1e300 optab type_0 SI ... > ...>
    arg 0 <var_decl 0x2aaaae9e8280 optab_table
        type <array_type 0x2aaaaea1ef00 type <record_type 0x2aaaaea1ecc0 optab>
    ... >
and two different optab RECORD_TYPEs are involved (one from each CU).
These types are types_compatible_p (0x2aaaaea1e300, 0x2aaaaea1ecc0), but
not are not equal.  copy_body_r calls
699                   *tp = fold_indirect_ref_1 (type, new);
700                   if (! *tp)
701                     {
702                       if (TREE_CODE (new) == ADDR_EXPR)
703                         *tp = TREE_OPERAND (new, 0);
here, but as the
/* *(foo *)&fooarray => fooarray[0] */
transformation is done only if the types are equal, this isn't folded into
&optab_table[0] and so inlining creates optab_table.code COMPONENT_REF, where
its first argument is not a record/union/qual union.
Either we change fold_indirect_ref_1 to do its transformations whenever
types_compatible_p (type1, type2) rather than just type1 == type2, or if that's
too expensive IMHO at least copy_body_r should do that.


-- 


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2008-01-04 15:50 ` jakub at gcc dot gnu dot org
@ 2008-01-10  1:05 ` jakub at gcc dot gnu dot org
  2008-01-10 15:28 ` jakub at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-10  1:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from jakub at gcc dot gnu dot org  2008-01-10 00:00 -------
Patch which cures this:
--- gcc/tree-inline.c.jj        2008-01-04 00:53:03.000000000 +0100
+++ gcc/tree-inline.c   2008-01-10 00:48:07.000000000 +0100
@@ -700,7 +700,30 @@ copy_body_r (tree *tp, int *walk_subtree
              if (! *tp)
                {
                  if (TREE_CODE (new) == ADDR_EXPR)
-                   *tp = TREE_OPERAND (new, 0);
+                   {
+                     tree t = TREE_OPERAND (new, 0);
+                     if (types_compatible_p (type, TREE_TYPE (t)))
+                       *tp = t;
+                     else if (TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE
+                              && types_compatible_p (TREE_TYPE (TREE_TYPE
(t)),
+                                                     type))
+                       {
+                         tree type_domain = TYPE_DOMAIN (TREE_TYPE (t));
+                         tree min_val = size_zero_node;
+                         if (type_domain && TYPE_MIN_VALUE (type_domain))
+                           min_val = TYPE_MIN_VALUE (type_domain);
+                         *tp = build4 (ARRAY_REF, type, t, min_val,
+                                       NULL_TREE, NULL_TREE);
+                       }
+                     else
+                       {
+                         t = build_fold_addr_expr (t);
+                         t = fold_convert (TREE_TYPE (new), t);
+                         *tp = build1 (INDIRECT_REF, type, t);
+                         TREE_THIS_VOLATILE (*tp) = TREE_THIS_VOLATILE (old);
+                         id->regimplify = true;
+                       }
+                   }
                  else
                    {
                      *tp = build1 (INDIRECT_REF, type, new);
@@ -1210,13 +1233,15 @@ copy_phis_for_bb (basic_block bb, copy_b
              tree arg = PHI_ARG_DEF_FROM_EDGE (phi, old_edge);
              tree new_arg = arg;

+             id->regimplify = false;
              walk_tree (&new_arg, copy_body_r, id, NULL);
              gcc_assert (new_arg);
              /* With return slot optimization we can end up with
                 non-gimple (foo *)&this->m, fix that here.  */
-             if (TREE_CODE (new_arg) != SSA_NAME
-                 && TREE_CODE (new_arg) != FUNCTION_DECL
-                 && !is_gimple_val (new_arg))
+             if ((TREE_CODE (new_arg) != SSA_NAME
+                  && TREE_CODE (new_arg) != FUNCTION_DECL
+                  && !is_gimple_val (new_arg))
+                 || id->regimplify)
                {
                  tree stmts = NULL_TREE;
                  new_arg = force_gimple_operand (new_arg, &stmts,
--- gcc/tree-ssa-operands.c.jj  2008-01-04 00:53:03.000000000 +0100
+++ gcc/tree-ssa-operands.c     2008-01-10 00:38:25.000000000 +0100
@@ -1663,7 +1663,7 @@ get_addr_dereference_operands (tree stmt
          /* If we don't know what this pointer points to then we have
             to make sure to not prune virtual operands based on offset
             and size.  */
-         if (v_ann->symbol_mem_tag)
+         if (v_ann && v_ann->symbol_mem_tag)
            {
              add_virtual_operand (v_ann->symbol_mem_tag, s_ann, flags,
                                   full_ref, 0, -1, false);
--- gcc/testsuite/gcc.dg/pr34668-1.c.jj 2008-01-10 00:55:59.000000000 +0100
+++ gcc/testsuite/gcc.dg/pr34668-1.c    2008-01-10 00:59:02.000000000 +0100
@@ -0,0 +1,19 @@
+/* PR c/34668 */
+/* { dg-do compile } */
+/* { dg-options "--combine -O2" } */
+/* { dg-additional-sources "pr34668-2.c" } */
+
+struct optab { unsigned code; };
+extern struct optab optab_table[1];
+
+void
+init_optab (struct optab *op)
+{
+  op->code = 0xdead;
+}
+
+void
+set_conv_libfunc (void)
+{
+  init_optab (&optab_table[0]);
+}
--- gcc/testsuite/gcc.dg/pr34668-2.c.jj 2008-01-10 00:56:02.000000000 +0100
+++ gcc/testsuite/gcc.dg/pr34668-2.c    2008-01-10 00:56:36.000000000 +0100
@@ -0,0 +1,5 @@
+/* PR c/34668 */
+/* { dg-do compile } */
+
+struct optab { unsigned code; };
+extern struct optab optab_table[1];


-- 


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2008-01-10  1:05 ` jakub at gcc dot gnu dot org
@ 2008-01-10 15:28 ` jakub at gcc dot gnu dot org
  2008-01-11  8:15 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-10 15:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from jakub at gcc dot gnu dot org  2008-01-10 14:50 -------
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00404.html
http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00408.html


-- 


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2008-01-10 15:28 ` jakub at gcc dot gnu dot org
@ 2008-01-11  8:15 ` jakub at gcc dot gnu dot org
  2008-01-16 14:12 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-01-11  8:15 UTC (permalink / raw)
  To: gcc-bugs



-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2008-01-11  8:15 ` jakub at gcc dot gnu dot org
@ 2008-01-16 14:12 ` rguenth at gcc dot gnu dot org
  2008-01-16 14:17 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-16 14:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from rguenth at gcc dot gnu dot org  2008-01-16 13:41 -------
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2008-01-16 14:12 ` rguenth at gcc dot gnu dot org
@ 2008-01-16 14:17 ` rguenth at gcc dot gnu dot org
  2010-03-09 14:20 ` [Bug middle-end/34668] " bmei at broadcom dot com
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-16 14:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from rguenth at gcc dot gnu dot org  2008-01-16 13:42 -------
Subject: Bug 34668

Author: rguenth
Date: Wed Jan 16 13:41:13 2008
New Revision: 131572

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131572
Log:
2008-01-16  Jakub Jelinek  <jakub@redhat.com>
        Richard Guenther  <rguenther@suse.de>

        PR c/34668
        * gimplify.c (fold_indirect_ref_rhs): Rename to ...
        (gimple_fold_indirect_ref_rhs): ... this.
        (gimple_fold_indirect_ref): New function with foldings
        that preserve lvalueness.
        (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
        * tree-flow.h (gimple_fold_indirect_ref): Declare.
        * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
        to fold an INDIRECT_REF, fall back to the old use of
        fold_indirect_ref_1.

        * gcc.dg/pr34668-1.c: New test.
        * gcc.dg/pr34668-2.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.dg/pr34668-1.c
    trunk/gcc/testsuite/gcc.dg/pr34668-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimplify.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-flow.h
    trunk/gcc/tree-inline.c


-- 


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug middle-end/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2008-01-16 14:17 ` rguenth at gcc dot gnu dot org
@ 2010-03-09 14:20 ` bmei at broadcom dot com
  2010-03-12 20:59 ` davem at gcc dot gnu dot org
  2010-03-12 21:20 ` pinskia at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: bmei at broadcom dot com @ 2010-03-09 14:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from bmei at broadcom dot com  2010-03-09 14:20 -------
It seems that this bug still fails on my build:

~/work/install-x86/bin/gcc 
/projects/firepath/tools/work/bmei/gcc-head/src/gcc/testsuite/gcc.dg/pr34668-1.c
--combine -O2
/projects/firepath/tools/work/bmei/gcc-head/src/gcc/testsuite/gcc.dg/pr34668-2.c
-S -o pr34668-1.s

/projects/firepath/tools/work/bmei/gcc-head/src/gcc/testsuite/gcc.dg/pr34668-2.c:
In function 'set_conv_libfunc':
/projects/firepath/tools/work/bmei/gcc-head/src/gcc/testsuite/gcc.dg/pr34668-2.c:5:15:
error: type mismatch in array reference
struct optab

struct optab

# .MEM_3 = VDEF <.MEM_1(D)>
optab_table[0].code = 57005;

/projects/firepath/tools/work/bmei/gcc-head/src/gcc/testsuite/gcc.dg/pr34668-2.c:5:15:
internal compiler error: verify_stmts failed
...

My build is revision 143368, target x86_64-unknown-linux-gnu. 
../trunk/configure --prefix=/home/bmei/work/install-x86
--with-mpfr=/projects/firepath/tools/work/bmei/packages/mpfr/2.4.1/x86-64
--with-gmp=/projects/firepath/tools/work/bmei/packages/gmp/4.3.0/x86-64
--with-mpc=/projects/firepath/tools/work/bmei/packages/mpc/0.8.1/x86-64
--enable-languages=c,c++ --disable-bootstrap : (reconfigured)
../trunk/configure --prefix=/home/bmei/work/install-x86
--with-mpfr=/projects/firepath/tools/work/bmei/packages/mpfr/2.4.1/x86-64
--with-gmp=/projects/firepath/tools/work/bmei/packages/gmp/4.3.0/x86-64
--with-mpc=/projects/firepath/tools/work/bmei/packages/mpc/0.8.1/x86-64
--enable-languages=c --disable-bootstrap : (reconfigured) ../trunk/configure
--prefix=/home/bmei/work/install-x86
--with-mpfr=/projects/firepath/tools/work/bmei/packages/mpfr/2.4.1/x86-64
--with-gmp=/projects/firepath/tools/work/bmei/packages/gmp/4.3.0/x86-64
--with-mpc=/projects/firepath/tools/work/bmei/packages/mpc/0.8.1/x86-64
--disable-bootstrap CC='gcc -static' CFLAGS='-g -O0' --enable-languages=c
--no-create --no-recursion


-- 

bmei at broadcom dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bmei at broadcom dot com


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug middle-end/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2010-03-09 14:20 ` [Bug middle-end/34668] " bmei at broadcom dot com
@ 2010-03-12 20:59 ` davem at gcc dot gnu dot org
  2010-03-12 21:20 ` pinskia at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: davem at gcc dot gnu dot org @ 2010-03-12 20:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from davem at gcc dot gnu dot org  2010-03-12 20:58 -------
I'm still seeing this fail on 32-bit sparc with mainline:

home/davem/src/GIT/GCC/gcc/gcc/testsuite/gcc.dg/pr34668-2.c: In function
'set_conv_libfunc':
/home/davem/src/GIT/GCC/gcc/gcc/testsuite/gcc.dg/pr34668-2.c:5:15: error: type
mismatch in array reference
struct optab

struct optab

# .MEM_3 = VDEF <.MEM_1(D)>
optab_table[0].code = 57005;

/home/davem/src/GIT/GCC/gcc/gcc/testsuite/gcc.dg/pr34668-2.c:5:15: internal
compiler error: verify_stmts failed


-- 

davem at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug middle-end/34668] [4.3 Regression] ICE in find_compatible_field with -combine
  2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2010-03-12 20:59 ` davem at gcc dot gnu dot org
@ 2010-03-12 21:20 ` pinskia at gcc dot gnu dot org
  14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-03-12 21:20 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from pinskia at gcc dot gnu dot org  2010-03-12 21:20 -------
(In reply to comment #13)
> I'm still seeing this fail on 32-bit sparc with mainline:

Yes we know, but that ICE is different from the problem here, see PR 39959.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2010-03-12 21:20 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-04  9:21 [Bug c/34668] New: ICE in find_compatible_field aldot at gcc dot gnu dot org
2008-01-04 13:01 ` [Bug c/34668] [4.3 Regression] " aldot at gcc dot gnu dot org
2008-01-04 13:17 ` aldot at gcc dot gnu dot org
2008-01-04 13:24 ` aldot at gcc dot gnu dot org
2008-01-04 13:32 ` [Bug c/34668] [4.3 Regression] ICE in find_compatible_field with -combine rguenth at gcc dot gnu dot org
2008-01-04 13:33 ` aldot at gcc dot gnu dot org
2008-01-04 14:00 ` aldot at gcc dot gnu dot org
2008-01-04 15:50 ` jakub at gcc dot gnu dot org
2008-01-10  1:05 ` jakub at gcc dot gnu dot org
2008-01-10 15:28 ` jakub at gcc dot gnu dot org
2008-01-11  8:15 ` jakub at gcc dot gnu dot org
2008-01-16 14:12 ` rguenth at gcc dot gnu dot org
2008-01-16 14:17 ` rguenth at gcc dot gnu dot org
2010-03-09 14:20 ` [Bug middle-end/34668] " bmei at broadcom dot com
2010-03-12 20:59 ` davem at gcc dot gnu dot org
2010-03-12 21:20 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).