Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.dg / ext / dllimport7.C
blob0a79b3da33c858869997203a2dae5f3655f3a412
1 // { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } }
3 //  Report errors on definition of dllimport'd static data member . 
6 struct Baz
8   Baz(int a_ =0) : a(a_) {} 
9   int a;
12 class  __declspec(dllimport) Bar
14   public:
15     enum {one = 1};
16     static const int two = 2;
17     static const int three;
18     static const Baz null_baz;
21 const int Bar::three = 3;       //  { dg-warning "redeclared without dllimport" }
22 //  { dg-error "definition of static data" "C++ specific error" { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } 21 }
23                                 
24 const Baz Bar::null_baz;        //  { dg-warning "redeclared without dllimport" }
26 int foo()
28   Bar foobar;
29   const int* baz = &Bar::two; 
30   int a = foobar.two;
31   int b = foobar.three;
32   int c = foobar.null_baz.a;
33   return (a + b + c + *baz);