comparison gcc/testsuite/g++.dg/ext/dllimport7.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 // { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } }
2
3 // Report errors on definition of dllimport'd static data member .
4
5
6 struct Baz
7 {
8 Baz(int a_ =0) : a(a_) {}
9 int a;
10 };
11
12 class __declspec(dllimport) Bar
13 {
14 public:
15 enum {one = 1};
16 static const int two = 2;
17 static const int three;
18 static const Baz null_baz;
19 };
20
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* } .-1 }
23
24 const Baz Bar::null_baz; // { dg-warning "redeclared without dllimport" }
25
26 int foo()
27 {
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);
34 }