diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-01-19 03:48:05 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-01-19 03:48:05 +0000 |
commit | ba65f505b7cc2551571b299d05d767e0a892aaae (patch) | |
tree | 509827e5964e85dc82200ac60a909ccf77cccb92 /test/Parser | |
parent | dc1088f6201c3fb8f3f97f54c343f7d163fbec06 (diff) |
Fix five more cases of tokens which can legally follow a type specifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172886 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Parser')
-rw-r--r-- | test/Parser/cxx-decl.cpp | 14 | ||||
-rw-r--r-- | test/Parser/cxx0x-decl.cpp | 25 |
2 files changed, 38 insertions, 1 deletions
diff --git a/test/Parser/cxx-decl.cpp b/test/Parser/cxx-decl.cpp index aa775c8c76..ee292fdae0 100644 --- a/test/Parser/cxx-decl.cpp +++ b/test/Parser/cxx-decl.cpp @@ -134,7 +134,7 @@ struct S { namespace TestIsValidAfterTypeSpecifier { -struct s {}; +struct s {} v; namespace a { struct s operator++(struct s a) @@ -148,6 +148,18 @@ operator++(struct s a) { return a; } } +struct X { + struct s + friend f(); + struct s + virtual f(); +}; + +struct s +&r0 = v; +struct s +bitand r2 = v; + } // PR8380 diff --git a/test/Parser/cxx0x-decl.cpp b/test/Parser/cxx0x-decl.cpp index 1da7dd2833..b9441fd681 100644 --- a/test/Parser/cxx0x-decl.cpp +++ b/test/Parser/cxx0x-decl.cpp @@ -49,3 +49,28 @@ struct ConstexprTrailingReturn { constexpr auto f() -> decltype((n)); }; constexpr const int &ConstexprTrailingReturn::f() const { return n; } + +namespace TestIsValidAfterTypeSpecifier { +struct s {} v; + +// FIXME: We should accept this once we support thread_local. +struct s +thread_local tl; // expected-error {{expected unqualified-id}} + +struct s +&r0 = v; + +struct s +&&r1 = s(); + +struct s +bitand r2 = v; + +struct s +and r3 = s(); + +enum E {}; +enum E +[[]] e; + +} |