aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2020-12-09 07:18:23 -0800
committerNathan Sidwell <nathan@acm.org>2020-12-09 07:22:35 -0800
commit0b37233152b55fb256d7537d7e76067edc52cb88 (patch)
tree06c922f186b65e8ac0eed9733da3651498d23bd4 /gcc/tree-ssa-loop-im.c
parentfe70679b80f5e6193a0976be41b68d590c7cb2f3 (diff)
downloadgcc-0b37233152b55fb256d7537d7e76067edc52cb88.zip
gcc-0b37233152b55fb256d7537d7e76067edc52cb88.tar.gz
gcc-0b37233152b55fb256d7537d7e76067edc52cb88.tar.bz2
c++: Module parsing
This adds the module-declaration parsing and other logic. We have two new kinds of declaration -- module and import. Plus the ability to export other declarations. The module processing can also divide the TU into several portions -- GMF, Purview and PMF. There are restrictions that some declarations must or mustnot appear in a #include, so I needed to add a bit to indicate whether a token came from the main source or not. This seemed the least unpleasant way of implementing such a check. gcc/cp/ * parser.h (struct cp_token): Add main_source_p field. * parser.c (cp_lexer_new_main): Pass thought module token filter. Check macros. (cp_lexer_get_preprocessor_token): Set main_source_p. (enum module_parse): New. (cp_parser_diagnose_invalid_type_name): Deal with unrecognized module-directives. (cp_parser_skip_to_closing_parenthesize_1): Skip module-directivres. (cp_parser_skip_to_end_of_statement): Likewise. (cp_parser_skiup_to_end_of_block_or_statement): Likewise. (cp_parser_translation_unit): Add module parsing calls. (cp_parser_module_name, cp_parser_module_declaration): New. (cp_parser_import_declaration, cp_parser_module_export): New. (cp_parser_declaration): Add module export detection. (cp_parser_template_declaration): Adjust 'export' error message. (cp_parser_function_definition_after_declarator): Add module-specific logic. * module.cc (import_module, declare_module) (maybe_check_all_macros): Stubs.
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
0 files changed, 0 insertions, 0 deletions