[Bug testsuite/38151] structures with _Complex arguments are not passed correctly
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Nov 16 20:59:00 GMT 2008
------- Comment #10 from ubizjak at gmail dot com 2008-11-16 20:58 -------
Real bug with argument passing. Confirmed on x86_64-linux-gnu with the
testcase:
--cut here--
struct S2848
{
unsigned int a;
_Complex int b;
};
struct S2848 s2848;
void __attribute__((noinline))
check2848 (struct S2848 arg0)
{
if (arg0.b != s2848.b)
abort ();
}
int main()
{
s2848.a = 4027477739U;
s2848.b = (723419448 + -218144346 * __extension__ 1i);
check2848 (s2848);
return 0;
}
--cut here--
> gcc -O2 t.c
> ./a.out
Aborted
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hjl at gcc dot gnu dot org,
| |hubicka at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
GCC host triplet|i686-apple-darwin9 |
GCC target triplet|i686-apple-darwin9 |x86_64
Keywords| |ABI, wrong-code
Known to fail| |4.3.0 4.4.0
Last reconfirmed|0000-00-00 00:00:00 |2008-11-16 20:58:10
date| |
Summary|tmpdir-gcc.dg-struct-layout-|structures with _Complex
|1/t028 failure at -m64 on |arguments are not passed
|i686-apple-darwin9 |correctly
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38151
More information about the Gcc-bugs
mailing list