summaryrefslogtreecommitdiffstats
path: root/clang/test/Parser/cxx0x-member-initializers.cpp
Commit message (Collapse)AuthorAgeFilesLines
* PR19993: don't assert/crash if a static data member is initialized by '= ↵Richard Smith2014-06-111-0/+4
| | | | | | delete;'. llvm-svn: 210617
* PR13657 (and duplicates):Richard Smith2013-09-121-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a comma occurs in a default argument or default initializer within a class, disambiguate whether it is part of the initializer or whether it ends the initializer. The way this works (which I will be proposing for standardization) is to treat the comma as ending the default argument or default initializer if the following token sequence matches the syntactic constraints of a parameter-declaration-clause or init-declarator-list (respectively). This is both consistent with the disambiguation rules elsewhere (where entities are treated as declarations if they can be), and should have no regressions over our old behavior. I think it might also disambiguate all cases correctly, but I don't have a proof of that. There is an annoyance here: because we're performing a tentative parse in a situation where we may not have seen declarations of all relevant entities (if the comma is part of the initializer, lookup may find entites declared later in the class), we need to turn off typo-correction and diagnostics during the tentative parse, and in the rare case that we decide the comma is part of the initializer, we need to revert all token annotations we performed while disambiguating. Any diagnostics that occur outside of the immediate context of the tentative parse (for instance, if we trigger the implicit instantiation of a class template) are *not* suppressed, mirroring the usual rules for a SFINAE context. llvm-svn: 190639
* Update all tests other than Driver/std.cpp to use -std=c++11 rather thanRichard Smith2011-10-131-1/+1
| | | | | | -std=c++0x. Patch by Ahmed Charles! llvm-svn: 141900
* Fix a bug in the token caching for inline constructors in C++11, and improve ↵Sebastian Redl2011-09-301-0/+14
| | | | | | error recovery in both dialects. This should fix the GCC test suite failures as well. llvm-svn: 140847
* Implement support for C++11 in-class initialization of non-static data members.Richard Smith2011-06-111-0/+15
llvm-svn: 132878
OpenPOWER on IntegriCloud