This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r260425 - in /branches/c++-modules: ChangeLog.m...
- From: nathan at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Sun, 20 May 2018 18:52:41 -0000
- Subject: r260425 - in /branches/c++-modules: ChangeLog.m...
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