brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 10cb4d2 Raw
35 lines · cpp
1// RUN: %clang_cc1 -std=c++98 -fsyntax-only -verify %s2 3inline namespace N { // expected-warning{{inline namespaces are a C++11 feature}}4struct X {5  template<typename ...Args> // expected-warning{{variadic templates are a C++11 extension}}6  void f(Args &&...) &; // expected-warning{{rvalue references are a C++11 extension}} \7  // expected-warning{{reference qualifiers on functions are a C++11 extension}}8};9}10 11struct B {12  virtual void f();13  virtual void g();14};15struct D final : B { // expected-warning {{'final' keyword is a C++11 extension}}16  virtual void f() override; // expected-warning {{'override' keyword is a C++11 extension}}17  virtual void g() final; // expected-warning {{'final' keyword is a C++11 extension}}18};19 20void NewBracedInitList() {21  // A warning on this would be sufficient once we can handle it correctly.22  new int {}; // expected-error {{}}23}24 25struct Auto {26  static int n;27};28auto Auto::n = 0; // expected-warning {{'auto' type specifier is a C++11 extension}}29auto Auto::m = 0; // expected-error {{no member named 'm' in 'Auto'}}30                  // expected-warning@-1 {{'auto' type specifier is a C++11 extension}}31 32struct Conv { template<typename T> operator T(); };33bool pr21367_a = new int && false;34bool pr21367_b = &Conv::operator int && false;35