summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/lto/pr65276_0.C
blob: c8e96999dc0cf19c509fe9610db12b3af3c1604c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// { dg-lto-do link }
// { dg-lto-options {{-flto -O0 -std=c++11}} }

/* pr65276_0.C should get compiled with -O0, while the _1.C file
   should get compiled with -O2, and the entire thing should be linked
   with -O0.  Test that we don't get an ICE.  */

extern "C++"
{
  namespace std
  {
    class exception
    {
    public:
      virtual ~ exception () noexcept;
    };
  }
}
namespace std
{
  struct __cow_string
  {
    union
    {
      const char *_M_p;
      char _M_bytes[sizeof (const char *)];
    };
  };
  class runtime_error:public exception
  {
    __cow_string _M_msg;
  };
}
namespace std
{
  class system_error:public std::runtime_error
  {
  };
  enum _Ios_Fmtflags
  {
  };
  inline constexpr _Ios_Fmtflags operator& (_Ios_Fmtflags __a,
                                            _Ios_Fmtflags __b)
  {
    return _Ios_Fmtflags ();
  }
  enum _Ios_Openmode
  {
  };
  class ios_base
  {
  public:
    class __attribute ((__abi_tag__ ("cxx11"))) failure:public system_error
    {
    };
    class Init
    {
    };
  };
  static ios_base::Init __ioinit;
}