blob: 5c44d0c33bdba74750050e77071d463b1bead9d8 (
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
|
// { dg-do run }
// { dg-additional-sources " comdat2-aux.cc" }
// { dg-options "-O" }
// Test that statics in inline functions are unified between
// translation units. Currently we handle this by just suppressing
// inling and relying on unification of the function itself.
template <class T>
struct S {
static int f ()
{
static int i;
return ++i;
}
S () {};
~S () {};
};
typedef S<int> a;
int g ();
int main ()
{
if (a::f() != 1
|| g() != 2
|| a::f() != 3)
return 1;
return 0;
}
|