Hi,
Compiling following testcase for "h8sx" target with optimization (-O1
onwards), gives ICE (internal compiler error) . The testcase works fine
for other H8 targets.
// Start Of Testcase
=======================================================================
#include <stdlib.h>
typedef union
{
unsigned long LONG;
struct
{
unsigned long Year : 14,
Month : 18;
} Bit;
} test;
typedef struct
{
unsigned int year ;
} Date;
unsigned int foo(Date *ptr_Date)
{
Date obj_Date;
test obj_test;
obj_test.LONG = 2000;
obj_Date.year = (unsigned int)obj_test.Bit.Year;
if(ptr_Date!=NULL) *ptr_Date=obj_Date;
return(0);
}
=======================================================================
// End Of Testcase
When I compile above testcase with "-msx -O1" options, i get following error
message,
internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:693
What can be the possible reason behind the same?
Thanks and Regards,
Sushil Kothawade
KPIT Cummins InfoSystems Ltd.
Pune, India
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Free download of GNU based tool-chains for Renesas' SH, H8, R8C, M16C
and M32C Series. The following site also offers free technical support
to its users. Visit http://www.kpitgnutools.com for details.
Latest versions of KPIT GNU tools were released on June 1, 2007.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
Summary: ICE for H8SX when compiled with optimization
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: Sushil dot Kothawade at kpitcummins dot com
GCC build triplet: i686-pc-linux
GCC host triplet: i686-pc-linux
GCC target triplet: h8300-unknown-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32739