This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r269973 - 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, 27 Mar 2019 18:53:10 -0000
- Subject: r269973 - in /branches/c++-modules: ChangeLog.m...
Author: nathan
Date: Wed Mar 27 18:53:10 2019
New Revision: 269973
URL: https://gcc.gnu.org/viewcvs?rev=269973&root=gcc&view=rev
Log:
Header unit compilations retrofit includeness.
gcc/cp/
* cxx-mapper.c (module2bmi): Don't use PCH suffix.
* module.cc (module_header_macro, controlling_node): Delete.
(module_state::write_macros): Rely on cpp to determine controlling
macro.
(module_state::{write,read}): Likewise.
(module_begin_main_file): Retrofit as a header.
(finish_module_parse): Delete header_macro stuff.
libcpp/
* files.c (_cpp_stack_file): Set main_file.
(_cpp_find_header_unit): Close the file.
(cpp_retrofit_as_include): New.
(cpp_main_controlling_macro): New.
* include/cpplib.h (cpp_retrofit_as_include): Declare.
(cpp_main_controlling_macro): Declare.
* internal.h (struct cpp_buffer): Add main_file flag.
(cpp_in_primary_file): Use it.
gcc/testsuite/
* g++.dg/modules/{,sys/}inext-1.H: New.
* g++.dg/modules/macro-[23]_[abc].[CH]: Adjust.
* g++.dg/modules/modules.exp (dg-module-bmi): Adjust.
* g++.dg/modules/stdio-1_a.H: Asjust.
Added:
branches/c++-modules/gcc/testsuite/g++.dg/modules/inext-1.H
branches/c++-modules/gcc/testsuite/g++.dg/modules/sys/inext-1.H
Modified:
branches/c++-modules/ChangeLog.modules
branches/c++-modules/gcc/cp/cxx-mapper.cc
branches/c++-modules/gcc/cp/module.cc
branches/c++-modules/gcc/testsuite/g++.dg/modules/macro-2_c.H
branches/c++-modules/gcc/testsuite/g++.dg/modules/macro-3_a.H
branches/c++-modules/gcc/testsuite/g++.dg/modules/macro-3_b.H
branches/c++-modules/gcc/testsuite/g++.dg/modules/macro-3_c.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/modules.exp
branches/c++-modules/gcc/testsuite/g++.dg/modules/stdio-1_a.H
branches/c++-modules/libcpp/files.c
branches/c++-modules/libcpp/include/cpplib.h
branches/c++-modules/libcpp/internal.h