diff options
author | Anders Carlsson <andersca@mac.com> | 2009-05-14 01:09:04 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-05-14 01:09:04 +0000 |
commit | f2a2e338ffecff485893425b819e96c65aced043 (patch) | |
tree | 0049f6ebd6ff77c9e05c6fbc3a09c64f04d7ea5a /clang/test/SemaCXX/virtual-override.cpp | |
parent | 06928192aeb61fef083142b574d73b34ff1e1cf4 (diff) | |
download | bcm5719-llvm-f2a2e338ffecff485893425b819e96c65aced043.tar.gz bcm5719-llvm-f2a2e338ffecff485893425b819e96c65aced043.zip |
Add return type checking for overriding virtual functions. We currently don't check covariance but that's next.
llvm-svn: 71759
Diffstat (limited to 'clang/test/SemaCXX/virtual-override.cpp')
-rw-r--r-- | clang/test/SemaCXX/virtual-override.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/virtual-override.cpp b/clang/test/SemaCXX/virtual-override.cpp new file mode 100644 index 00000000000..c1b95ccbdf0 --- /dev/null +++ b/clang/test/SemaCXX/virtual-override.cpp @@ -0,0 +1,13 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +namespace T1 { + +class A { + virtual int f(); // expected-note{{overridden virtual function is here}} +}; + +class B : A { + virtual void f(); // expected-error{{virtual function 'f' has a different return type ('void') than the function it overrides (which has return type 'int')}} +}; + +} |