|
1 |
| -// RUN: %clang_cc1 -std=c++2c -verify=expected -fsyntax-only %s |
| 1 | +// RUN: %clang_cc1 -std=c++03 -verify=expected,cxx11,cxx03 -fsyntax-only %s |
2 | 2 | // RUN: %clang_cc1 -std=c++11 -verify=expected,cxx11 -fsyntax-only %s
|
3 |
| - |
| 3 | +// RUN: %clang_cc1 -std=c++2c -verify=expected -fsyntax-only %s |
4 | 4 |
|
5 | 5 |
|
6 | 6 | class A trivially_relocatable_if_eligible {};
|
7 | 7 | // cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
8 | 8 | class E final trivially_relocatable_if_eligible {};
|
9 | 9 | // cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
| 10 | +// cxx03-warning@-2 {{'final' keyword is a C++11 extension}} |
10 | 11 | class G trivially_relocatable_if_eligible final{};
|
11 | 12 | // cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
12 |
| -class I trivially_relocatable_if_eligible trivially_relocatable_if_eligible final {}; // expected-error {{class already marked 'trivially_relocatable_if_eligible'}} |
13 |
| -// cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}} |
| 13 | +// cxx03-warning@-2 {{'final' keyword is a C++11 extension}} |
| 14 | +class I trivially_relocatable_if_eligible trivially_relocatable_if_eligible final {}; |
| 15 | +// expected-error@-1 {{class already marked 'trivially_relocatable_if_eligible'}} |
| 16 | +// cxx11-warning@-2 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}} |
| 17 | +// cxx03-warning@-3 {{'final' keyword is a C++11 extension}} |
14 | 18 | class trivially_relocatable_if_eligible trivially_relocatable_if_eligible {};
|
15 | 19 | // cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
16 |
| - |
17 | 20 | class J replaceable_if_eligible{};
|
18 | 21 | // cxx11-warning@-1 {{'replaceable_if_eligible' keyword is a C++2c extension}}
|
19 |
| -class K replaceable_if_eligible replaceable_if_eligible {}; // expected-error {{class already marked 'replaceable_if_eligible'}} |
20 |
| -// cxx11-warning@-1 {{'replaceable_if_eligible' keyword is a C++2c extension}} |
| 22 | +class K replaceable_if_eligible replaceable_if_eligible {}; |
| 23 | +// expected-error@-1 {{class already marked 'replaceable_if_eligible'}} |
| 24 | +// cxx11-warning@-2 {{'replaceable_if_eligible' keyword is a C++2c extension}} |
21 | 25 | class replaceable_if_eligible replaceable_if_eligible {};
|
22 | 26 | // cxx11-warning@-1 {{'replaceable_if_eligible' keyword is a C++2c extension}}
|
23 | 27 | class L replaceable_if_eligible trivially_relocatable_if_eligible final {};
|
24 | 28 | // cxx11-warning@-1 {{'replaceable_if_eligible' keyword is a C++2c extension}}
|
25 | 29 | // cxx11-warning@-2 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
| 30 | +// cxx03-warning@-3 {{'final' keyword is a C++11 extension}} |
26 | 31 | class M replaceable_if_eligible final trivially_relocatable_if_eligible {};
|
27 | 32 | // cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
28 | 33 | // cxx11-warning@-2 {{'replaceable_if_eligible' keyword is a C++2c extension}}
|
| 34 | +// cxx03-warning@-3 {{'final' keyword is a C++11 extension}} |
29 | 35 | class N final trivially_relocatable_if_eligible replaceable_if_eligible {};
|
30 | 36 | // cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
31 | 37 | // cxx11-warning@-2 {{'replaceable_if_eligible' keyword is a C++2c extension}}
|
| 38 | +// cxx03-warning@-3 {{'final' keyword is a C++11 extension}} |
32 | 39 | class O trivially_relocatable_if_eligible replaceable_if_eligible final {};
|
33 | 40 | // cxx11-warning@-1 {{'trivially_relocatable_if_eligible' keyword is a C++2c extension}}
|
34 | 41 | // cxx11-warning@-2 {{'replaceable_if_eligible' keyword is a C++2c extension}}
|
| 42 | +// cxx03-warning@-3 {{'final' keyword is a C++11 extension}} |
0 commit comments