blob: 7636722e1811cb01c846db5e811071487389c2db [file] [log] [blame]
Argyrios Kyrtzidis799ef662011-02-03 18:01:15 +00001// RUN: %clang_cc1 -fsyntax-only -Woverloaded-virtual -verify %s
2
3struct B1 {
4 virtual void foo(int); // expected-note {{declared here}}
5 virtual void foo(); // expected-note {{declared here}}
6};
7
8struct S1 : public B1 {
9 void foo(float); // expected-warning {{hides overloaded virtual functions}}
10};
11
12struct S2 : public B1 {
13 void foo(); // expected-note {{declared here}}
14};
15
16struct B2 {
17 virtual void foo(void*); // expected-note {{declared here}}
18};
19
20struct MS1 : public S2, public B2 {
21 virtual void foo(int); // expected-warning {{hides overloaded virtual functions}}
22};
23
24struct B3 {
25 virtual void foo(int);
26 virtual void foo();
27};
28
29struct S3 : public B3 {
30 using B3::foo;
31 void foo(float);
32};
33
34struct B4 {
35 virtual void foo();
36};
37
38struct S4 : public B4 {
39 void foo(float);
40 void foo();
41};