aboutsummaryrefslogtreecommitdiff
path: root/test/Parser/cxx0x-ambig.cpp
AgeCommit message (Collapse)Author
2013-04-21The 'constexpr implies const' rule for non-static member functions is gone inRichard Smith
C++1y, so stop adding the 'const' there. Provide a compatibility warning for code relying on this in C++11, with a fix-it hint. Update our lazily-written tests to add the const, except for those ones which were testing our implementation of this rule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179969 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-20Teach statement / declaration disambiguation about C++11-style generalized ↵Richard Smith
initializers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177480 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-22Don't skip '_Alignas' when disambiguating 'final'. '_Alignas' can't appear here,Richard Smith
and we used to assert if it did. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175866 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-20PR15311: Finish implementation of the suggested resolution of core issue 1488,Richard Smith
which allows grouping parens in an abstract-pack-declarator. This was already mostly implemented, but missed some cases. Add an ExtWarn for use of this extension until CWG ratifies it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175660 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-23Do not warn about a function decl / direct init ambiguity if the function ↵Richard Smith
has a trailing return type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160646 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-25Extend the "expected ';' after struct" logic to also apply to enums, and toRichard Smith
struct and enum forward-declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159164 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-27If we see '(...' where we're expecting an abstract-declarator, that doesn'tRichard Smith
necessarily mean we've found a function declarator. If the next token is not a ')', this is actually a parenthesized pack expansion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153544 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12Fix a crash-on-invalid found by -Wlogical-op-parentheses.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152559 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12Fix parsing of trailing-return-type. Types are syntactically prohibited fromRichard Smith
being defined here: [] () -> struct S {} does not define struct S. In passing, implement DR1318 (syntactic disambiguation of 'final'). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152551 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23Update parser's disambiguation to cope with braced function-style casts inRichard Smith
C++11, and with braced-init-list initializers in conditions. This exposed an ambiguity with enum underlying types versus bitfields, which we resolve by treating 'enum E : T {' as always defining an enumeration (even if it would only successfully parse as a bitfield). This appears to be g++ compatible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151227 91177308-0d34-0410-b5e6-96231b3b80d8