re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower...
[official-gcc.git] / gcc / testsuite / g++.dg / torture / pr66752-2.C
blob96d3fe9db4bb9c23e56936d30e2ae7819b713495
1 /* { dg-do compile } */
2 extern "C"
4   typedef struct _IO_FILE FILE;
5   extern int fprintf (FILE * __restrict __stream,
6                       const char *__restrict __format, ...);
8 typedef union tree_node *tree;
9 class ipa_polymorphic_call_context
12 class ipcp_value_base
15 template < typename valtype > class ipcp_value:public ipcp_value_base
17 public:valtype value;
18   ipcp_value *next;
21 template < typename valtype > class ipcp_lattice
23 public:ipcp_value < valtype > *values;
24   void print (FILE * f, bool dump_sources, bool dump_benefits);
27 class ipcp_param_lattices
29 public:ipcp_lattice < tree > itself;
30   ipcp_lattice < ipa_polymorphic_call_context > ctxlat;
32 template < typename valtype > void ipcp_lattice < valtype >::print (FILE * f,
33                                                                     bool
34                                                                     dump_sources,
35                                                                     bool
36                                                                     dump_benefits)
38   ipcp_value < valtype > *val;
39   bool prev = false;
40   for (val = values; val; val = val->next)
41     {
42       if (dump_benefits && prev)
43         fprintf (f, "               ");
44       else if (!dump_benefits && prev)
45         fprintf (f, ", ");
46       else
47         prev = true;
48       if (dump_sources)
49         fprintf (f, "]");
50       if (dump_benefits)
51         fprintf (f, "shit");
52     }
55 void
56 print_all_lattices (FILE * f, bool dump_sources, bool dump_benefits)
58   struct ipcp_param_lattices *plats;
59   plats->ctxlat.print (f, dump_sources, dump_benefits);