Hi, Sh-XXX-gcc gives ICE (internal compiler error) for subroutines with #pragma interrupt attribute when the size of variable or variables in the routing exceed 256 bytes. GCC version: 3.4 and later.
Following is the simple test case for it. Test case: /////////////////////////// //bug.c #pragma interrupt int foo (void) { #if ERROR char cName[257]; #else char cName[256]; #endif return 1; } /* sh-XXX-gcc -c -DERROR bug.c gives ICE sh-XXX-gcc -c bug.c no ICE */ /////////////////////////// bug.c: In function `foo': bug.c:10: internal compiler error: in output_stack_adjust, at config/sh/sh.c:4741 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -------------------------------------------------------- Regards, Prafulla Thakare KPIT Cummins InfoSystems Ltd. Pune, India ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Free download of GNU based tool-chains for Renesas' SH and H8 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 are released on Oct 1, 2004. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Summary: [SH target], internal compiler error (ICE): for given code if using #pragma interrupt Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: critical Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: prafullat at kpitcummins dot com CC: gcc-bugs at gcc dot gnu dot org,prafullat at kpitcummins dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: sh-unknown-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18898