blob: 3ec438494f8d4c7dcc71327803e217d0c979aae0 [file] [log] [blame]
// { dg-do run }
// { dg-options "-O2" }
//
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 29 May 2001 <nathan@codesourcery.com>
// Bug 2936. We ICE'd on tree inlining a function with an anonymous
// union decl.
inline const unsigned char *Foo (const char *string)
{
union
{
const char *p1;
const unsigned char *p2;
};
p1 = 0;
p2 = 0;
p1 = string;
return p2;
}
const unsigned char *Baz (const char *string)
{
return Foo (string);
}
int main ()
{
const char *string = "s";
const unsigned char *result;
result = Baz (string);
return (static_cast <const void *> (result)
!= static_cast <const void *> (string));
}