public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/31480]  New: internal compiler error: Segmentation fault
@ 2007-04-05  4:02 gerg at snapgear dot com
  2007-04-19 23:05 ` [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH kkojima at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: gerg at snapgear dot com @ 2007-04-05  4:02 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 14038 bytes --]

An sh-linux targeted gcc generates:

  mm.i: In function ‘mmtree_RB_REMOVE_COLOR’:
  mm.i:36: 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.

when compiling with:

  sh-linux-gcc -O -fomit-frame-pointer -Wall -c mm.i

using the attached pre-processed source, mm.i.

The toolchain is gcc-4.1.2 and binutils-2.17 (with glibc-2.3.6 headers).
The host machine is a Fedora Core 4 Linux PC system. The gcc build configure
line was:

  configure --target=sh-linux --with-headers=linux-2.4.32/include
--prefix=/usr/local --with-gnu-as --with-gnu-ld --disable-libmudflap
--disable-libssp --disable-shared --enable-multilib --enable-languages=c,c++

The original source of mm.i was derived when compiling the ssh v43p1
package, the original file in that package was monitor_mm.c. The attached
mm.i is a preprocessed and stripped file that still reproduces the
problem.

Changing the optimization level stops the problem, as does not using
the -momit-frame-pointer option.


---------------------------------- mm.i -------------------------------------

typedef unsigned int size_t;

struct mm_share {
 struct { struct mm_share *rbe_left; struct mm_share *rbe_right; struct
mm_share *rbe_parent; int rbe_color; } next;
 void *address;
 size_t size;
};

struct mm_master {
 struct mmtree { struct mm_share *rbh_root; } rb_free;
 struct mmtree rb_allocated;
 void *address;
 size_t size;

 struct mm_master *mmalloc;

 int write;
 int read;
};


static int
mm_compare(struct mm_share *a, struct mm_share *b)
{
 long diff = (char *)a->address - (char *)b->address;

 if (diff == 0)
  return (0);
 else if (diff < 0)
  return (-1);
 else
  return (1);
}

void mmtree_RB_INSERT_COLOR(struct mmtree *head, struct mm_share *elm) { struct
mm_share *parent, *gparent, *tmp; while ((parent = (elm)->next.rbe_parent) &&
(parent)->next.rbe_color == 1) { gparent = (parent)->next.rbe_parent; if
(parent == (gparent)->next.rbe_left) { tmp = (gparent)->next.rbe_right; if (tmp
&& (tmp)->next.rbe_color == 1) { (tmp)->next.rbe_color = 0; do {
(parent)->next.rbe_color = 0; (gparent)->next.rbe_color = 1; } while (0); elm =
gparent; continue; } if ((parent)->next.rbe_right == elm) { do { (tmp) =
(parent)->next.rbe_right; if (((parent)->next.rbe_right =
(tmp)->next.rbe_left)) { ((tmp)->next.rbe_left)->next.rbe_parent = (parent); }
; if (((tmp)->next.rbe_parent = (parent)->next.rbe_parent)) { if ((parent) ==
((parent)->next.rbe_parent)->next.rbe_left)
((parent)->next.rbe_parent)->next.rbe_left = (tmp); else
((parent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_left = (parent); (parent)->next.rbe_parent = (tmp); ; if
(((tmp)->next.rbe_parent)) ; } while (0); tmp = parent; parent = elm; elm =
tmp; } do { (parent)->next.rbe_color = 0; (gparent)->next.rbe_color = 1; }
while (0); do { (tmp) = (gparent)->next.rbe_left; if (((gparent)->next.rbe_left
= (tmp)->next.rbe_right)) { ((tmp)->next.rbe_right)->next.rbe_parent =
(gparent); } ; if (((tmp)->next.rbe_parent = (gparent)->next.rbe_parent)) { if
((gparent) == ((gparent)->next.rbe_parent)->next.rbe_left)
((gparent)->next.rbe_parent)->next.rbe_left = (tmp); else
((gparent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_right = (gparent); (gparent)->next.rbe_parent = (tmp); ;
if (((tmp)->next.rbe_parent)) ; } while (0); } else { tmp =
(gparent)->next.rbe_left; if (tmp && (tmp)->next.rbe_color == 1) {
(tmp)->next.rbe_color = 0; do { (parent)->next.rbe_color = 0;
(gparent)->next.rbe_color = 1; } while (0); elm = gparent; continue; } if
((parent)->next.rbe_left == elm) { do { (tmp) = (parent)->next.rbe_left; if
(((parent)->next.rbe_left = (tmp)->next.rbe_right)) {
((tmp)->next.rbe_right)->next.rbe_parent = (parent); } ; if
(((tmp)->next.rbe_parent = (parent)->next.rbe_parent)) { if ((parent) ==
((parent)->next.rbe_parent)->next.rbe_left)
((parent)->next.rbe_parent)->next.rbe_left = (tmp); else
((parent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_right = (parent); (parent)->next.rbe_parent = (tmp); ;
if (((tmp)->next.rbe_parent)) ; } while (0); tmp = parent; parent = elm; elm =
tmp; } do { (parent)->next.rbe_color = 0; (gparent)->next.rbe_color = 1; }
while (0); do { (tmp) = (gparent)->next.rbe_right; if
(((gparent)->next.rbe_right = (tmp)->next.rbe_left)) {
((tmp)->next.rbe_left)->next.rbe_parent = (gparent); } ; if
(((tmp)->next.rbe_parent = (gparent)->next.rbe_parent)) { if ((gparent) ==
((gparent)->next.rbe_parent)->next.rbe_left)
((gparent)->next.rbe_parent)->next.rbe_left = (tmp); else
((gparent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_left = (gparent); (gparent)->next.rbe_parent = (tmp); ;
if (((tmp)->next.rbe_parent)) ; } while (0); } }
(head->rbh_root)->next.rbe_color = 0; } void mmtree_RB_REMOVE_COLOR(struct
mmtree *head, struct mm_share *parent, struct mm_share *elm) { struct mm_share
*tmp; while ((elm == ((void *)0) || (elm)->next.rbe_color == 0) && elm !=
(head)->rbh_root) { if ((parent)->next.rbe_left == elm) { tmp =
(parent)->next.rbe_right; if ((tmp)->next.rbe_color == 1) { do {
(tmp)->next.rbe_color = 0; (parent)->next.rbe_color = 1; } while (0); do {
(tmp) = (parent)->next.rbe_right; if (((parent)->next.rbe_right =
(tmp)->next.rbe_left)) { ((tmp)->next.rbe_left)->next.rbe_parent = (parent); }
; if (((tmp)->next.rbe_parent = (parent)->next.rbe_parent)) { if ((parent) ==
((parent)->next.rbe_parent)->next.rbe_left)
((parent)->next.rbe_parent)->next.rbe_left = (tmp); else
((parent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_left = (parent); (parent)->next.rbe_parent = (tmp); ; if
(((tmp)->next.rbe_parent)) ; } while (0); tmp = (parent)->next.rbe_right; } if
(((tmp)->next.rbe_left == ((void *)0) || ((tmp)->next.rbe_left)->next.rbe_color
== 0) && ((tmp)->next.rbe_right == ((void *)0) ||
((tmp)->next.rbe_right)->next.rbe_color == 0)) { (tmp)->next.rbe_color = 1; elm
= parent; parent = (elm)->next.rbe_parent; } else { if ((tmp)->next.rbe_right
== ((void *)0) || ((tmp)->next.rbe_right)->next.rbe_color == 0) { struct
mm_share *oleft; if ((oleft = (tmp)->next.rbe_left)) (oleft)->next.rbe_color =
0; (tmp)->next.rbe_color = 1; do { (oleft) = (tmp)->next.rbe_left; if
(((tmp)->next.rbe_left = (oleft)->next.rbe_right)) {
((oleft)->next.rbe_right)->next.rbe_parent = (tmp); } ; if
(((oleft)->next.rbe_parent = (tmp)->next.rbe_parent)) { if ((tmp) ==
((tmp)->next.rbe_parent)->next.rbe_left)
((tmp)->next.rbe_parent)->next.rbe_left = (oleft); else
((tmp)->next.rbe_parent)->next.rbe_right = (oleft); } else (head)->rbh_root =
(oleft); (oleft)->next.rbe_right = (tmp); (tmp)->next.rbe_parent = (oleft); ;
if (((oleft)->next.rbe_parent)) ; } while (0); tmp = (parent)->next.rbe_right;
} (tmp)->next.rbe_color = (parent)->next.rbe_color; (parent)->next.rbe_color =
0; if ((tmp)->next.rbe_right) ((tmp)->next.rbe_right)->next.rbe_color = 0; do {
(tmp) = (parent)->next.rbe_right; if (((parent)->next.rbe_right =
(tmp)->next.rbe_left)) { ((tmp)->next.rbe_left)->next.rbe_parent = (parent); }
; if (((tmp)->next.rbe_parent = (parent)->next.rbe_parent)) { if ((parent) ==
((parent)->next.rbe_parent)->next.rbe_left)
((parent)->next.rbe_parent)->next.rbe_left = (tmp); else
((parent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_left = (parent); (parent)->next.rbe_parent = (tmp); ; if
(((tmp)->next.rbe_parent)) ; } while (0); elm = (head)->rbh_root; break; } }
else { tmp = (parent)->next.rbe_left; if ((tmp)->next.rbe_color == 1) { do {
(tmp)->next.rbe_color = 0; (parent)->next.rbe_color = 1; } while (0); do {
(tmp) = (parent)->next.rbe_left; if (((parent)->next.rbe_left =
(tmp)->next.rbe_right)) { ((tmp)->next.rbe_right)->next.rbe_parent = (parent);
} ; if (((tmp)->next.rbe_parent = (parent)->next.rbe_parent)) { if ((parent) ==
((parent)->next.rbe_parent)->next.rbe_left)
((parent)->next.rbe_parent)->next.rbe_left = (tmp); else
((parent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_right = (parent); (parent)->next.rbe_parent = (tmp); ;
if (((tmp)->next.rbe_parent)) ; } while (0); tmp = (parent)->next.rbe_left; }
if (((tmp)->next.rbe_left == ((void *)0) ||
((tmp)->next.rbe_left)->next.rbe_color == 0) && ((tmp)->next.rbe_right ==
((void *)0) || ((tmp)->next.rbe_right)->next.rbe_color == 0)) {
(tmp)->next.rbe_color = 1; elm = parent; parent = (elm)->next.rbe_parent; }
else { if ((tmp)->next.rbe_left == ((void *)0) ||
((tmp)->next.rbe_left)->next.rbe_color == 0) { struct mm_share *oright; if
((oright = (tmp)->next.rbe_right)) (oright)->next.rbe_color = 0;
(tmp)->next.rbe_color = 1; do { (oright) = (tmp)->next.rbe_right; if
(((tmp)->next.rbe_right = (oright)->next.rbe_left)) {
((oright)->next.rbe_left)->next.rbe_parent = (tmp); } ; if
(((oright)->next.rbe_parent = (tmp)->next.rbe_parent)) { if ((tmp) ==
((tmp)->next.rbe_parent)->next.rbe_left)
((tmp)->next.rbe_parent)->next.rbe_left = (oright); else
((tmp)->next.rbe_parent)->next.rbe_right = (oright); } else (head)->rbh_root =
(oright); (oright)->next.rbe_left = (tmp); (tmp)->next.rbe_parent = (oright); ;
if (((oright)->next.rbe_parent)) ; } while (0); tmp = (parent)->next.rbe_left;
} (tmp)->next.rbe_color = (parent)->next.rbe_color; (parent)->next.rbe_color =
0; if ((tmp)->next.rbe_left) ((tmp)->next.rbe_left)->next.rbe_color = 0; do {
(tmp) = (parent)->next.rbe_left; if (((parent)->next.rbe_left =
(tmp)->next.rbe_right)) { ((tmp)->next.rbe_right)->next.rbe_parent = (parent);
} ; if (((tmp)->next.rbe_parent = (parent)->next.rbe_parent)) { if ((parent) ==
((parent)->next.rbe_parent)->next.rbe_left)
((parent)->next.rbe_parent)->next.rbe_left = (tmp); else
((parent)->next.rbe_parent)->next.rbe_right = (tmp); } else (head)->rbh_root =
(tmp); (tmp)->next.rbe_right = (parent); (parent)->next.rbe_parent = (tmp); ;
if (((tmp)->next.rbe_parent)) ; } while (0); elm = (head)->rbh_root; break; } }
} if (elm) (elm)->next.rbe_color = 0; } struct mm_share *
mmtree_RB_REMOVE(struct mmtree *head, struct mm_share *elm) { struct mm_share
*child, *parent, *old = elm; int color; if ((elm)->next.rbe_left == ((void
*)0)) child = (elm)->next.rbe_right; else if ((elm)->next.rbe_right == ((void
*)0)) child = (elm)->next.rbe_left; else { struct mm_share *left; elm =
(elm)->next.rbe_right; while ((left = (elm)->next.rbe_left)) elm = left; child
= (elm)->next.rbe_right; parent = (elm)->next.rbe_parent; color =
(elm)->next.rbe_color; if (child) (child)->next.rbe_parent = parent; if
(parent) { if ((parent)->next.rbe_left == elm) (parent)->next.rbe_left = child;
else (parent)->next.rbe_right = child; ; } else (head)->rbh_root = child; if
((elm)->next.rbe_parent == old) parent = elm; (elm)->next = (old)->next; if
((old)->next.rbe_parent) { if (((old)->next.rbe_parent)->next.rbe_left == old)
((old)->next.rbe_parent)->next.rbe_left = elm; else
((old)->next.rbe_parent)->next.rbe_right = elm; ; } else (head)->rbh_root =
elm; ((old)->next.rbe_left)->next.rbe_parent = elm; if ((old)->next.rbe_right)
((old)->next.rbe_right)->next.rbe_parent = elm; if (parent) { left = parent; do
{ ; } while ((left = (left)->next.rbe_parent)); } goto color; } parent =
(elm)->next.rbe_parent; color = (elm)->next.rbe_color; if (child)
(child)->next.rbe_parent = parent; if (parent) { if ((parent)->next.rbe_left ==
elm) (parent)->next.rbe_left = child; else (parent)->next.rbe_right = child; ;
} else (head)->rbh_root = child; color: if (color == 0)
mmtree_RB_REMOVE_COLOR(head, parent, child); return (old); } struct mm_share *
mmtree_RB_INSERT(struct mmtree *head, struct mm_share *elm) { struct mm_share
*tmp; struct mm_share *parent = ((void *)0); int comp = 0; tmp =
(head)->rbh_root; while (tmp) { parent = tmp; comp = (mm_compare)(elm, parent);
if (comp < 0) tmp = (tmp)->next.rbe_left; else if (comp > 0) tmp =
(tmp)->next.rbe_right; else return (tmp); } do { (elm)->next.rbe_parent =
parent; (elm)->next.rbe_left = (elm)->next.rbe_right = ((void *)0);
(elm)->next.rbe_color = 1; } while (0); if (parent != ((void *)0)) { if (comp <
0) (parent)->next.rbe_left = elm; else (parent)->next.rbe_right = elm; ; } else
(head)->rbh_root = elm; mmtree_RB_INSERT_COLOR(head, elm); return (((void
*)0)); } struct mm_share * mmtree_RB_FIND(struct mmtree *head, struct mm_share
*elm) { struct mm_share *tmp = (head)->rbh_root; int comp; while (tmp) { comp =
mm_compare(elm, tmp); if (comp < 0) tmp = (tmp)->next.rbe_left; else if (comp >
0) tmp = (tmp)->next.rbe_right; else return (tmp); } return (((void *)0)); }
struct mm_share * mmtree_RB_NEXT(struct mmtree *head, struct mm_share *elm) {
if ((elm)->next.rbe_right) { elm = (elm)->next.rbe_right; while
((elm)->next.rbe_left) elm = (elm)->next.rbe_left; } else { if
((elm)->next.rbe_parent && (elm == ((elm)->next.rbe_parent)->next.rbe_left))
elm = (elm)->next.rbe_parent; else { while ((elm)->next.rbe_parent && (elm ==
((elm)->next.rbe_parent)->next.rbe_right)) elm = (elm)->next.rbe_parent; elm =
(elm)->next.rbe_parent; } } return (elm); } struct mm_share *
mmtree_RB_MINMAX(struct mmtree *head, int val) { struct mm_share *tmp =
(head)->rbh_root; struct mm_share *parent = ((void *)0); while (tmp) { parent =
tmp; if (val < 0) tmp = (tmp)->next.rbe_left; else tmp = (tmp)->next.rbe_right;
} return (parent); }
------------------------------------------------------------------------------


-- 
           Summary: internal compiler error: Segmentation fault
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: gerg at snapgear dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: sh-linux


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


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

* [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH
  2007-04-05  4:02 [Bug c/31480] New: internal compiler error: Segmentation fault gerg at snapgear dot com
@ 2007-04-19 23:05 ` kkojima at gcc dot gnu dot org
  2007-04-22  0:18 ` kkojima at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2007-04-19 23:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from kkojima at gcc dot gnu dot org  2007-04-20 00:05 -------
I've confirmed that the testcase doesn't fail with 3.4 compiler
and fails with 4.0, 4.1 and 4.2.  Although it doesn't fail with
the current trunk compiler, it might be simply latent.  The segfault
occurs in insn_current_length when evaluating GET_CODE for a null
rtx.  Now I'm testing the patch below.

--- ORIG/trunk/gcc/config/sh/sh.md      2007-03-29 08:44:33.000000000 +0900
+++ LOCAL/trunk/gcc/config/sh/sh.md     2007-04-19 11:02:06.000000000 +0900
@@ -420,10 +420,12 @@
         (eq_attr "type" "jump")
         (cond [(eq_attr "med_branch_p" "yes")
                (const_int 2)
-               (and (eq (symbol_ref "GET_CODE (prev_nonnote_insn (insn))")
-                         (symbol_ref "INSN"))
-                     (eq (symbol_ref "INSN_CODE (prev_nonnote_insn (insn))")
-                         (symbol_ref "code_for_indirect_jump_scratch")))
+               (and (ne (symbol_ref "prev_nonnote_insn (insn)")
+                        (const_int 0))
+                    (and (eq (symbol_ref "GET_CODE (prev_nonnote_insn
(insn))")
+                             (symbol_ref "INSN"))
+                         (eq (symbol_ref "INSN_CODE (prev_nonnote_insn
(insn))")
+                             (symbol_ref "code_for_indirect_jump_scratch"))))
                 (cond [(eq_attr "braf_branch_p" "yes")
                        (const_int 6)
                        (eq (symbol_ref "flag_pic") (const_int 0))


-- 

kkojima at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kkojima at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
      Known to fail|                            |4.0.4 4.1.2 4.2.0
      Known to work|                            |3.4.6
   Last reconfirmed|0000-00-00 00:00:00         |2007-04-20 00:05:05
               date|                            |
            Summary|internal compiler error:    |[4.1/4.2 Regression] ICE
                   |Segmentation fault          |with -O -fomit-frame-pointer
                   |                            |on SH


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


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

* [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH
  2007-04-05  4:02 [Bug c/31480] New: internal compiler error: Segmentation fault gerg at snapgear dot com
  2007-04-19 23:05 ` [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH kkojima at gcc dot gnu dot org
@ 2007-04-22  0:18 ` kkojima at gcc dot gnu dot org
  2007-05-20 23:25 ` kkojima at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2007-04-22  0:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from kkojima at gcc dot gnu dot org  2007-04-22 01:18 -------
Subject: Bug 31480

Author: kkojima
Date: Sun Apr 22 01:18:02 2007
New Revision: 124031

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124031
Log:
        PR target/31480
        * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
        is null.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sh/sh.md


-- 


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


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

* [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH
  2007-04-05  4:02 [Bug c/31480] New: internal compiler error: Segmentation fault gerg at snapgear dot com
  2007-04-19 23:05 ` [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH kkojima at gcc dot gnu dot org
  2007-04-22  0:18 ` kkojima at gcc dot gnu dot org
@ 2007-05-20 23:25 ` kkojima at gcc dot gnu dot org
  2007-05-20 23:56 ` kkojima at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2007-05-20 23:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from kkojima at gcc dot gnu dot org  2007-05-21 00:25 -------
Subject: Bug 31480

Author: kkojima
Date: Sun May 20 23:25:03 2007
New Revision: 124881

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124881
Log:
        PR target/31480
        Backport from mainline.
        * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
        is null.


Modified:
    branches/gcc-4_2-branch/gcc/ChangeLog
    branches/gcc-4_2-branch/gcc/config/sh/sh.md


-- 


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


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

* [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH
  2007-04-05  4:02 [Bug c/31480] New: internal compiler error: Segmentation fault gerg at snapgear dot com
                   ` (2 preceding siblings ...)
  2007-05-20 23:25 ` kkojima at gcc dot gnu dot org
@ 2007-05-20 23:56 ` kkojima at gcc dot gnu dot org
  2007-05-21  0:02 ` kkojima at gcc dot gnu dot org
  2007-05-26  3:15 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2007-05-20 23:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from kkojima at gcc dot gnu dot org  2007-05-21 00:56 -------
Subject: Bug 31480

Author: kkojima
Date: Sun May 20 23:55:48 2007
New Revision: 124884

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124884
Log:
        PR target/31480
        Backport from mainline.
        * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
        is null.


Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/config/sh/sh.md


-- 


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


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

* [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH
  2007-04-05  4:02 [Bug c/31480] New: internal compiler error: Segmentation fault gerg at snapgear dot com
                   ` (3 preceding siblings ...)
  2007-05-20 23:56 ` kkojima at gcc dot gnu dot org
@ 2007-05-21  0:02 ` kkojima at gcc dot gnu dot org
  2007-05-26  3:15 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: kkojima at gcc dot gnu dot org @ 2007-05-21  0:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from kkojima at gcc dot gnu dot org  2007-05-21 01:01 -------
Fixed.


-- 

kkojima at gcc dot gnu dot org changed:

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


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


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

* [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH
  2007-04-05  4:02 [Bug c/31480] New: internal compiler error: Segmentation fault gerg at snapgear dot com
                   ` (4 preceding siblings ...)
  2007-05-21  0:02 ` kkojima at gcc dot gnu dot org
@ 2007-05-26  3:15 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-05-26  3:15 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|3.4.6                       |3.4.6 4.2.1
   Target Milestone|---                         |4.1.3


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


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

end of thread, other threads:[~2007-05-26  3:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-05  4:02 [Bug c/31480] New: internal compiler error: Segmentation fault gerg at snapgear dot com
2007-04-19 23:05 ` [Bug target/31480] [4.1/4.2 Regression] ICE with -O -fomit-frame-pointer on SH kkojima at gcc dot gnu dot org
2007-04-22  0:18 ` kkojima at gcc dot gnu dot org
2007-05-20 23:25 ` kkojima at gcc dot gnu dot org
2007-05-20 23:56 ` kkojima at gcc dot gnu dot org
2007-05-21  0:02 ` kkojima at gcc dot gnu dot org
2007-05-26  3:15 ` 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).