Fortran: Fix PR 47485.
[gcc.git] / gcc / testsuite / g++.dg / cpp0x / inh-ctor39.C
blob89c0d8d87a90b2f0dcb625ddbacafdd7d0ce6872
1 // PR c++/114784
2 // { dg-do compile { target c++11 } }
3 // { dg-additional-options "-O2" }
5 template <typename T>
6 struct A {
7   [[gnu::always_inline]] A (int t) { foo ().bar (t, {}); }
8   [[gnu::always_inline]] A (long long t) { foo ().bar (t, {}); }
9   T foo ();
12 struct B : A<B> {
13   using A<B>::A;
14   [[gnu::always_inline]] B (long long v) : A (v) {}
15   template <typename T>
16   void bar (T &&, int);
17   char b;
20 struct C {
21   C (int v) : a(v) { }
22   C (long long v) : a(v) { }
23   B a;
26 static C
27 baz ()
29   C x(0);
30   C y(0LL);
31   return 0;
34 [[gnu::cold]] int
35 qux ()
37   baz ();
38   return 0;
41 template <typename>
42 struct D {
43   template <typename T>
44   [[gnu::always_inline]] D (T) { d = sizeof (T); }
45   D();
46   int d;
48 template <typename T>
49 struct E : D<T> {
50   using D<T>::D;
53 E<char> c = {};
54 E<char> d = 1;
55 E<char> e = 1.0;