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

@@ -548,7 +548,13 @@ virtual bool visit(EnumSpecifierAST *ast)
{
if (ast->enum_token)
terminal(ast->enum_token, ast);
if (ast->key_token)
terminal(ast->key_token, ast);
nonterminal(ast->name);
if (ast->colon_token)
terminal(ast->colon_token, ast);
for (SpecifierListAST *iter = ast->type_specifier_list; iter; iter = iter->next)
nonterminal(iter->value);
if (ast->lbrace_token)
terminal(ast->lbrace_token, ast);
for (EnumeratorListAST *iter = ast->enumerator_list; iter; iter = iter->next)