blob: ade6198fbd0d8363e56b722361a8d3f552b38935 [file] [log] [blame]
Anders Carlsson2174d4c2011-05-06 14:25:31 +00001// RUN: %clang_cc1 %s -fsyntax-only -verify
2struct A {
3 A() { f(); } // expected-warning {{call to pure virtual member function 'f'; overrides of 'f' in subclasses are not available in the constructor of 'A'}}
4 ~A() { f(); } // expected-warning {{call to pure virtual member function 'f'; overrides of 'f' in subclasses are not available in the destructor of 'A'}}
5
6 virtual void f() = 0; // expected-note 2 {{'f' declared here}}
7};
Chandler Carruthae198062011-06-27 08:31:58 +00008
9// Don't warn (or note) when calling the function on a pointer. (PR10195)
10struct B {
11 A *a;
12 B() { a->f(); };
13 ~B() { a->f(); };
14};