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]

Re: A strange behavior of apple-ppc-branch on darwin7.3.0


Odd. That should produce a segmentation fault. If the cleanup_control_flow function returns an int, it would be bitwise-ORed with 0 bits. If zero-bits are ORed with anything other then 1-bits, then it becomes 1. My idea is:

if (TARGET == "powerpc-apple-darwin7.3.0")
{
/* This is my fix. Bypass bitwise-or. */
retval = cleanup_control_flow();
retval |= retval;
}

Bug?

Samuel Lauber

----- Original Message -----
From: "Mostafa Hagog" <MUSTAFA@il.ibm.com>
To: gcc@gcc.gnu.org
Subject: A strange behavior of apple-ppc-branch on darwin7.3.0
Date: Wed, 1 Dec 2004 10:39:15 +0200

> 
> 
> 
> 
> 
> A build (or bootstrap) of apple-ppc-branch on powerpc-apple-darwin7.3.0,
> (on a G5 machine) ICEs as follows:
> ../../gcc/gcc/libgcc2.c: In function '__divdi3':
> ../../gcc/gcc/libgcc2.c:997: internal compiler error: in cleanup_tree_cfg,
> at tree-cfg.c:727
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://developer.apple.com/bugreporter> for instructions.
> make[2]: *** [libgcc/./_divdi3.o] Error 1
> make[1]: *** [libgcc.a] Error 2
> make: *** [all-gcc] Error 2
> 
> But with the below change to cleanup_tree_cfg, the ICE disappears.
> Any thoughts?
> 
> Mostafa.
> 
> Index: tree-cfg.c
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/tree-cfg.c,v
> retrieving revision 1.1.4.278.2.15
> diff -c -p -r1.1.4.278.2.15 tree-cfg.c
> *** tree-cfg.c    16 Nov 2004 20:20:15 -0000    1.1.4.278.2.15
> --- tree-cfg.c    1 Dec 2004 08:28:29 -0000
> *************** cleanup_tree_cfg (void)
> *** 719,724 ****
> --- 719,727 ----
>      retval = cleanup_control_flow ();
>      retval |= delete_unreachable_blocks ();
>      retval |= thread_jumps ();
> +   retval |= cleanup_control_flow ();
> +   retval |= delete_unreachable_blocks ();
> +   retval |= thread_jumps ();
> 
>    #ifdef ENABLE_CHECKING
>      if (retval)

-- 
_____________________________________________________________
Web-based SMS services available at http://www.operamail.com.
From your mailbox to local or overseas cell phones.

Powered by Outblaze


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