d2b51b106a
* conpr-1.C, conpr-2.C, conpr-3.C: Include stdlib.h. Relative to g++.old-deja: * g++.brendan/complex1.C, g++.jason/optimize2.C, g++.mike/p9732b.C, g++.other/addrof1.C, g++.other/dyncast5.C, g++.other/init5.C, g++.other/init7.C, g++.other/union2.C, g++.pt/vbase1.C, g++.robertl/eb14.C, g++.robertl/eh990323-1.C, g++.robertl/eh990323-2.C, g++.robertl/eh990323-3.C, g++.robertl/eh990323-4.C, g++.robertl/eh990323-5.C, g++.robertl/ice990323-2.C: Prototype exit and/or abort. * g++.brendan/nest21.C, g++.eh/rethrow3.C, g++.jason/init3.C, g++.law/arm15.C, g++.law/cvt2.C, g++.law/visibility17.C, g++.mike/eh23.C, g++.mike/eh25.C, g++.mike/eh34.C, g++.mike/eh48.C, g++.mike/eh55.C, g++.mike/p2736.C, g++.oliva/new1.C, g++.other/align.C, g++.robertl/eb39.C, g++.robertl/eb54.C, g++.robertl/eb63.C: Include stdlib.h and/or string.h. * g++.other/goto1.C: Update expectations for error messages. From-SVN: r34226
39 lines
489 B
C
39 lines
489 B
C
// Bug: g++ crashed on empty intializers for unions.
|
|
// Bug: gcc and g++ didn't zero unions with empty initializers.
|
|
// Submitted by J"orn Rennecke <amylaar@cygnus.co.uk>
|
|
|
|
extern "C" void exit (int);
|
|
|
|
typedef union u
|
|
{
|
|
union u *up;
|
|
void *vp;
|
|
} u;
|
|
|
|
static u v = {};
|
|
|
|
void bar (u);
|
|
void baz (u);
|
|
|
|
void foo()
|
|
{
|
|
u w = {};
|
|
u x = { &v };
|
|
baz (x);
|
|
bar (w);
|
|
}
|
|
|
|
void baz (u w) { }
|
|
|
|
void bar (u w)
|
|
{
|
|
if (w.up)
|
|
exit (1);
|
|
}
|
|
|
|
int main ()
|
|
{
|
|
foo ();
|
|
return 0;
|
|
}
|