This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r260293 - in /branches/c++-modules: ChangeLog.m...
- From: nathan at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 16 May 2018 15:02:49 -0000
- Subject: r260293 - in /branches/c++-modules: ChangeLog.m...
Author: nathan
Date: Wed May 16 15:02:48 2018
New Revision: 260293
URL: https://gcc.gnu.org/viewcvs?rev=260293&root=gcc&view=rev
Log:
Preamble rescanning!
gcc/
* configure.ac: Look for execv.
* config.in, configure: Rebuilt.
* toplev.h (original_argc, original_argv): Declare.
* toplev.c (original_argc, original_argv): Declare.
(toplev::main): Set them.
doc/invoke.texi (EE) Rename to ...
(fmodule-preamble): ... this.
(C++ Modules): Document RESET message. Document N,N.
gcc/c-family/
* c.opt (EE): Rename to ...
(fmodule-preamble) ... here.
(fmodule-preamble=): New hidden option.
* c-ppoutput.c (scan_translation_unit): Use cpp_pop_directives.
gcc/cp/
* cp-tree.h (atom_preamble_prefix_peek): Add from-parser parm.
(maybe_repeat_preamble): Declare.
* cp-lang.c (atom_preamble_fsm): Adjust.
* cxx-module-server.sh (RESET): New command.
* lang-specs.h (@c++): Adjust EE->fmodule-preamble.
* lex.c (atom_preamble_prefix_peek): Add from-parser parm. Check
flag_module_preamble. Call maybe_repeat_preamble.
* module.c: #include "toplev.h"
(module_server_name): Is const.
(module_server::module_server): Copy command. Support N,N for two
pipes.
(module_server::make): Adjust.
(module_server::reset): New.
(module_server::fini): Add reset arg. Reset.
(maybe_repeat_preamble): New.
(handle_module_option): Adjust.
* parser.c (cp_parser_module_preamble): Adjust.
gcc/testsuite/
* g++.dg/modules/cpp-preamble-[1-8].C: Adjust options.
* g++.dg/modules/atom-rescan-1.C: New.
* g++.dg/modules/atom-no-rescan-1.C: New.
Added:
branches/c++-modules/gcc/testsuite/g++.dg/modules/atom-norescan-1.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/atom-rescan-1.C
Modified:
branches/c++-modules/ChangeLog.modules
branches/c++-modules/gcc/c-family/c-ppoutput.c
branches/c++-modules/gcc/c-family/c.opt
branches/c++-modules/gcc/config.in
branches/c++-modules/gcc/configure
branches/c++-modules/gcc/configure.ac
branches/c++-modules/gcc/cp/cp-lang.c
branches/c++-modules/gcc/cp/cp-tree.h
branches/c++-modules/gcc/cp/cxx-module-server.sh
branches/c++-modules/gcc/cp/lang-specs.h
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/cpp-preamble-1.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/cpp-preamble-2.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/cpp-preamble-3.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/cpp-preamble-4.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/cpp-preamble-5.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/cpp-preamble-6.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/cpp-preamble-7.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/cpp-preamble-8.C
branches/c++-modules/gcc/toplev.c
branches/c++-modules/gcc/toplev.h