blob: f959f7a9952ca48539c12d7ea52d868fb4de66a6 [file] [log] [blame]
Anders Carlsson1f3b6fd2011-01-16 23:56:42 +00001// RUN: %clang_cc1 -fsyntax-only -verify -std=c++0x %s
Anders Carlssonc7119a82011-01-20 05:55:43 +00002
3struct Base {
4 virtual void override();
5};
6
7struct S : Base {
Anders Carlsson1f3b6fd2011-01-16 23:56:42 +00008 virtual void final() final;
9 virtual void override() override;
10 virtual void n() new;
Anders Carlssonaa031fd2011-01-20 03:41:12 +000011 int i : 3 new;
12 int j new;
13};
14
15struct T {
16 // virt-specifier-seq is only valid in member-declarators, and a function definition is not a member-declarator.
Anders Carlssonc7119a82011-01-20 05:55:43 +000017 // FIXME: This currently doesn't work.
18 // virtual void f() const override { }
Anders Carlsson1f3b6fd2011-01-16 23:56:42 +000019};
Anders Carlsson37ea6c42011-01-20 04:07:46 +000020
21struct override;
Anders Carlssonc7119a82011-01-20 05:55:43 +000022struct Base2 {
23 virtual override override(int override);
24};
25
26struct A : Base2 {
27 virtual struct override override(int override) override;
Anders Carlsson37ea6c42011-01-20 04:07:46 +000028};