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

Reply via email to