ParseObjCSelectorPiece and C++0x keywords

I'm working on my Unicode patch - step 2 and adding support for char16/32_t, mostly by following the pattern set out by wchar_t. This should quickly give the needed functionality, but might miss a few warnings on using 0x extensions.

The one place I have hit that I am not sure I should follow is Parser::ParseObjCSelectorPiece, which seems to contain a list of all the C++ and C99 keywords but none of the C++0x keywords, not even those we implement such as static_assert, although it does contain keywords we don't support such as export.

So I guess this is a heads-up for the ObjectiveC/C++ folks to consider whether this function needs updating to accommodate the 0x language support now emerging.

0x keywords we already implement include:
  decltype
  nullptr
  static_assert

Keywords that are work-in-progress
  char16_t
  char32_t

Keywords that we do not yet implement
  axiom
  concept
  concept_map
  late_check
  requires
  thread_local

AlisdairM

I'm working on my Unicode patch - step 2 and adding support for char16/32_t, mostly by following the pattern set out by wchar_t. This should quickly give the needed functionality, but might miss a few warnings on using 0x extensions.

The one place I have hit that I am not sure I should follow is Parser::ParseObjCSelectorPiece, which seems to contain a list of all the C++ and C99 keywords but none of the C++0x keywords, not even those we implement such as static_assert, although it does contain keywords we don't support such as export.

Selector names can be one of c/c++ keyword; as in:
@interface I
- goto;
- continue;
- class;
@end

Presumably to be compatible with gcc. Since C++0X keywords words are all new, there is no need to allow them in objc (unless, if they are already being used). So, we add them if there is existing use.

- fariborz