diff options
Diffstat (limited to 'gcc/cp/parser.h')
-rw-r--r-- | gcc/cp/parser.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h index ffdddaf4a08..75f327b1d8b 100644 --- a/gcc/cp/parser.h +++ b/gcc/cp/parser.h @@ -196,6 +196,14 @@ typedef struct GTY (()) cp_parser_context { } cp_parser_context; +/* Control structure for #pragma omp declare simd parsing. */ +struct cp_omp_declare_simd_data { + bool error_seen; /* Set if error has been reported. */ + bool fndecl_seen; /* Set if one fn decl/definition has been seen already. */ + vec<cp_token_cache_ptr> tokens; +}; + + /* The cp_parser structure represents the C++ parser. */ typedef struct GTY(()) cp_parser { @@ -324,6 +332,12 @@ typedef struct GTY(()) cp_parser { /* TRUE if we can auto-correct a colon to a scope operator. */ bool colon_corrects_to_scope_p; + /* TRUE if : doesn't start a class definition. Should be only used + together with type_definition_forbidden_message non-NULL, in + contexts where new types may not be defined, and the type list + is terminated by colon. */ + bool colon_doesnt_start_class_def_p; + /* If non-NULL, then we are parsing a construct where new type definitions are not permitted. The string stored here will be issued as an error message if a type is defined. */ @@ -342,6 +356,10 @@ typedef struct GTY(()) cp_parser { current declaration. */ unsigned num_template_parameter_lists; + /* When parsing #pragma omp declare simd, this is a pointer to a + data structure with everything needed for parsing the clauses. */ + cp_omp_declare_simd_data * GTY((skip)) omp_declare_simd; + /* TRUE if the function being declared was made a template due to its parameter list containing generic type specifiers (`auto' or concept identifiers) rather than an explicit template parameter list. */ |