r260425 - in /branches/c++-modules: ChangeLog.m...

nathan@gcc.gnu.org nathan@gcc.gnu.org
Sun May 20 18:52:00 GMT 2018


Author: nathan
Date: Sun May 20 18:52:41 2018
New Revision: 260425

URL: https://gcc.gnu.org/viewcvs?rev=260425&root=gcc&view=rev
Log:
	Import peeking
	gcc/c-family/
	* c-lex.c (c_lex_with_flags) <case CPP_STRING>: Check
	C_LEX_STRING_IS_HEADER. 
	* c-pragma.h (C_LEX_STRING_IS_HEADER): New flag.
	gcc/cp/
	* cp-tree.h (HEADER_STRING_LITERAL_P): Delete.
	(maybe_peek_import): Declare.
	* cxx-module-server.sh: Adjust.
	* lex.c (atom_preamble_prefix_peek): Add peeking state.
	* module.c (module_server::peek_import_query): New.
	(make_flat_name): New.  Broken out of ...
	(module_state::do_import): ... here.  Call it.
	(maybe_peek_import): New.
	* parser.c (cp_parser_peek_module_name): New.
	(cp_parser_module_name): Use it.
	(cp_parser_import_declaration): Adjust.
	(cp_parser_module_preamble): Do peeking.
	gcc/
	* doc/invoke.texi (C++ Modules): Tweak server protocol
	gcc/testsuite/
	* g++.dg/modules/atom-peek-1_[abc].C: New.
	* g++.dg/modules/mod-decl-1.C: Adjust diags.
	* g++.dg/modules/p0713-2.C: Likewise.
	* g++.dg/modules/proclaim-1.C: Likewise.

Added:
    branches/c++-modules/gcc/testsuite/g++.dg/modules/atom-peek-1_a.C
    branches/c++-modules/gcc/testsuite/g++.dg/modules/atom-peek-1_b.C
    branches/c++-modules/gcc/testsuite/g++.dg/modules/atom-peek-1_c.C
Modified:
    branches/c++-modules/ChangeLog.modules
    branches/c++-modules/gcc/c-family/c-lex.c
    branches/c++-modules/gcc/c-family/c-pragma.h
    branches/c++-modules/gcc/cp/cp-tree.h
    branches/c++-modules/gcc/cp/cxx-module-server.sh
    branches/c++-modules/gcc/cp/lex.c
    branches/c++-modules/gcc/cp/module.c
    branches/c++-modules/gcc/cp/parser.c
    branches/c++-modules/gcc/doc/invoke.texi
    branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-decl-1.C
    branches/c++-modules/gcc/testsuite/g++.dg/modules/p0713-2.C
    branches/c++-modules/gcc/testsuite/g++.dg/modules/proclaim-1.C



More information about the Gcc-cvs mailing list