c/10612: ICE when calling a function with variable sized return type

Frank Heckenbach frank@g-n-u.de
Sat May 3 17:46:00 GMT 2003


>Number:         10612
>Category:       c
>Synopsis:       ICE when calling a function with variable sized return type
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Sat May 03 17:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Frank Heckenbach <frank@g-n-u.de>
>Release:        3.2.3/3.3 CVS 20030502/HEAD 20030501
>Organization:
>Environment:
i386-linux
>Description:
Calling a function with variable sized return type causes an
internal compiler error.

int main ()
{
  int n = 1;
  typedef struct { int t[n]; } s;

  static s f ()
  {
    s r;
    r.t[0] = 0;
    return r;
  }

  f ();  /* GCC crashes here */
  return 0;
}

$ gcc-3.3 -Wall x.c
x.c: In function `main':
x.c:13: internal compiler error: in assign_stack_temp_for_type, at function.c:649
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list