Merge reload-branch up to revision 101000
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / optimize3.C
blob3ec438494f8d4c7dcc71327803e217d0c979aae0
1 // { dg-do run  }
2 // { dg-options "-O2" }
3 // 
4 // Copyright (C) 2001 Free Software Foundation, Inc.
5 // Contributed by Nathan Sidwell 29 May 2001 <nathan@codesourcery.com>
7 // Bug 2936. We ICE'd on tree inlining a function with an anonymous
8 // union decl.
10 inline const unsigned char *Foo (const char *string)
12   union
13   {
14     const char *p1;
15     const unsigned char *p2;
16   };
17   p1 = 0;
18   p2 = 0;
21   p1 = string;
22   return p2;
23   
26 const unsigned char *Baz (const char *string)
28   return Foo (string);
31 int main ()
33   const char *string = "s";
34   const unsigned char *result;
36   result = Baz (string);
37   return (static_cast <const void *> (result)
38           != static_cast <const void *> (string));