diff options
Diffstat (limited to 'test/CXX/dcl.decl/dcl.meaning/dcl.array/p1.cpp')
-rw-r--r-- | test/CXX/dcl.decl/dcl.meaning/dcl.array/p1.cpp | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/test/CXX/dcl.decl/dcl.meaning/dcl.array/p1.cpp b/test/CXX/dcl.decl/dcl.meaning/dcl.array/p1.cpp deleted file mode 100644 index bb4a48eb5b91..000000000000 --- a/test/CXX/dcl.decl/dcl.meaning/dcl.array/p1.cpp +++ /dev/null @@ -1,54 +0,0 @@ -// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s - -// Simple form -int ar1[10]; - -// Element type cannot be: -// - (cv) void -volatile void ar2[10]; // expected-error {{incomplete element type 'volatile void'}} -// - a reference -int& ar3[10]; // expected-error {{array of references}} -// - a function type -typedef void Fn(); -Fn ar4[10]; // expected-error {{array of functions}} -// - an abstract class -struct Abstract { virtual void fn() = 0; }; // expected-note {{pure virtual}} -Abstract ar5[10]; // expected-error {{abstract class}} - -// If we have a size, it must be greater than zero. -int ar6[-1]; // expected-error {{array with a negative size}} -int ar7[0u]; // expected-warning {{zero size arrays are an extension}} - -// An array with unknown bound is incomplete. -int ar8[]; // expected-error {{needs an explicit size or an initializer}} -// So is an array with an incomplete element type. -struct Incomplete; // expected-note {{forward declaration}} -Incomplete ar9[10]; // expected-error {{incomplete type}} -// Neither of which should be a problem in situations where no complete type -// is required. (PR5048) -void fun(int p1[], Incomplete p2[10]); -extern int ear1[]; -extern Incomplete ear2[10]; - -// cv migrates to element type -typedef const int cint; -extern cint car1[10]; -typedef int intar[10]; -// thus this is a valid redeclaration -extern const intar car1; - -// Check that instantiation works properly when the element type is a template. -template <typename T> struct S { - typename T::type x; // expected-error {{has no members}} -}; -S<int> ar10[10]; // expected-note {{requested here}} - -// Ensure that negative array size errors include the name of the declared -// array as this is often used to simulate static_assert with template -// instantiations, placing the 'error message' in the declarator name. -int -user_error_message -[-1]; // expected-error {{user_error_message}} -typedef int -another_user_error_message -[-1]; // expected-error {{another_user_error_message}} |