AArch64: When DF_BIND_NOW don't use TLSDESC GOT value.
[deliverable/binutils-gdb.git] / ld / testsuite / ld-srec / sr3.cc
1 // This file is compiled and linked into the S-record format.
2
3 #define FOO_MSG_LEN 80
4
5 class Foo {
6 static int foos;
7 int i;
8 static const int len = FOO_MSG_LEN;
9 char message[len];
10 public:
11 static void init_foo ();
12 static int nb_foos() { return foos; }
13 Foo();
14 Foo(const char* message);
15 Foo(const Foo&);
16 Foo & operator= (const Foo&);
17 ~Foo ();
18 };
19
20 static Foo static_foo( "static_foo");
21
22 int
23 main ()
24 {
25 Foo automatic_foo( "automatic_foo");
26 return 0;
27 }
28
29 void
30 terminate(void)
31 {
32 /* This recursive call prevents a compiler warning that the noreturn
33 function terminate actually does return. */
34 terminate ();
35 }
36
37 extern "C" {
38 void
39 __main ()
40 {
41 }
42
43 void
44 __builtin_delete ()
45 {
46 }
47
48 void
49 __builtin_new ()
50 {
51 }
52
53 void
54 __throw ()
55 {
56 }
57
58 void
59 __rethrow ()
60 {
61 }
62
63 void
64 __terminate ()
65 {
66 }
67
68 void *__eh_pc;
69
70 void ***
71 __get_dynamic_handler_chain ()
72 {
73 return 0;
74 }
75
76 void *
77 __get_eh_context ()
78 {
79 return 0;
80 }
81
82 }
83
84 int Foo::foos = 0;
85
86 void Foo::init_foo ()
87 {
88 foos = 80;
89 }
90
91 Foo::Foo ()
92 {
93 i = ++foos;
94 }
95
96 Foo::Foo (const char*)
97 {
98 i = ++foos;
99 }
100
101 Foo::Foo (const Foo& foo)
102 {
103 i = ++foos;
104 for (int k = 0; k < FOO_MSG_LEN; k++)
105 message[k] = foo.message[k];
106 }
107
108 Foo& Foo::operator= (const Foo& foo)
109 {
110 for (int k = 0; k < FOO_MSG_LEN; k++)
111 message[k] = foo.message[k];
112 return *this;
113 }
114
115 Foo::~Foo ()
116 {
117 foos--;
118 }
119
120 void *__dso_handle;
121
122 extern "C"
123 int
124 __cxa_atexit (void)
125 {
126 return 0;
127 }
This page took 0.032124 seconds and 4 git commands to generate.