C++11: Make 'enum struct', enum-base and opaque enum decls work.

For declarations like:
enum struct Foo : long int;

Change-Id: Id813efdbc31c8d70a4b40bb0101dc33a8dd2556a
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Christian Kamm
2012-09-18 11:17:29 +02:00
committed by hjk
parent 8711121197
commit 44c9cef30a
10 changed files with 75 additions and 13 deletions

View File

@@ -1634,7 +1634,10 @@ class CPLUSPLUS_EXPORT EnumSpecifierAST: public SpecifierAST
{
public:
unsigned enum_token;
unsigned key_token; // struct, class or 0
NameAST *name;
unsigned colon_token; // can be 0 if there is no enum-base
SpecifierListAST *type_specifier_list; // ditto
unsigned lbrace_token;
EnumeratorListAST *enumerator_list;
unsigned stray_comma_token;
@@ -1646,7 +1649,10 @@ public: // annotations
public:
EnumSpecifierAST()
: enum_token(0)
, key_token(0)
, name(0)
, colon_token(0)
, type_specifier_list(0)
, lbrace_token(0)
, enumerator_list(0)
, stray_comma_token(0)