• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 -std=c++11 -verify %s
2 // Per a core issue (no number yet), an ellipsis is always dropped.
3 struct A {
4   A(...); // expected-note {{here}}
5   A(int = 0, int = 0, int = 0, int = 0, ...); // expected-note 5{{here}}
6   A(int = 0, int = 0, ...); // expected-note {{here}}
7 };
8 
9 struct B : A { // expected-note 3{{candidate}}
10   using A::A; // expected-warning 3{{inheriting constructor does not inherit ellipsis}} expected-note 4{{candidate}} expected-note 2{{deleted}}
11 };
12 
13 B b0{};
14 // expected-error@-1 {{call to implicitly-deleted default constructor}}
15 // expected-note@9 {{default constructor of 'B' is implicitly deleted because base class 'A' has multiple default constructors}}
16 
17 B b1{1};
18 // FIXME: explain why the inheriting constructor was deleted
19 // expected-error@-2 {{call to implicitly-deleted function of 'B'}}
20 
21 B b2{1,2};
22 // expected-error@-1 {{call to implicitly-deleted function of 'B'}}
23 
24 B b3{1,2,3};
25 // ok
26 
27 B b4{1,2,3,4};
28 // ok
29 
30 B b5{1,2,3,4,5};
31 // expected-error@-1 {{no matching constructor for initialization of 'B'}}
32