Bug 15730 - ICE (segfault) passing 128 bit int trough variable arguments
Summary: ICE (segfault) passing 128 bit int trough variable arguments
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.4.0
: P2 normal
Target Milestone: 4.0.0
Assignee: Jan Hubicka
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2004-05-30 04:46 UTC by hebisch
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
Build: x86_64-unknown-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hebisch 2004-05-30 04:46:37 UTC
The following program:
typedef __builtin_va_list __gnuc_va_list;
typedef __gnuc_va_list va_list;

typedef int __attribute__ ((mode(TI))) PascalLongestInt;

void f (int global_flags, ...)
{
  va_list p;
  __builtin_va_start(p,global_flags);
  {
    long long int num = __builtin_va_arg(p,PascalLongestInt);
  }
  __builtin_va_end(p);
}

couses a segfault in `cc1' for native x86_64 compiler. I have tried
3.3, 3.4.0 and 3.5.0 20040516 (experimental) with the same result.
Comment 1 Andreas Jaeger 2004-05-30 22:21:11 UTC
Honza, can you look into this, please?
Comment 2 Andrew Pinski 2004-10-15 02:15:31 UTC
Fixed on the mainline.