OSDN Git Service

2011-01-07 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / ext / dllimport6.C
1 // { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } }
2 //  Mark class static members as dllimport.
3
4 struct Baz
5 {
6   Baz(int a_ =0) : a(a_) {}
7   int a;
8 };
9
10 class  __attribute__ ((dllimport)) Bar
11 {
12   public:
13     static const int two = 2;
14     static const int three;
15     static const Baz null_baz;
16 };
17
18 int foo()
19 {
20   Bar foobar;
21   const int* baz = &Bar::two; 
22   int a = foobar.two;
23   int b = foobar.three;
24   int c = foobar.null_baz.a;
25   return (a + b + c + *baz);
26 }
27
28 // { dg-final { scan-assembler __imp\[_\]*__ZN3Bar3twoE } }
29 // { dg-final { scan-assembler __imp\[_\]*__ZN3Bar5threeE } }
30 // { dg-final { scan-assembler __imp\[_\]*__ZN3Bar8null_bazE } }