// { dg-do run } // { dg-options "-O2" } // // Copyright (C) 2001 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 29 May 2001 // 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 (result) != static_cast (string)); }