This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r253683 - in /branches/c++-modules: ChangeLog.m...
- From: nathan at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 12 Oct 2017 15:32:29 -0000
- Subject: r253683 - in /branches/c++-modules: ChangeLog.m...
Author: nathan
Date: Thu Oct 12 15:32:28 2017
New Revision: 253683
URL: https://gcc.gnu.org/viewcvs?rev=253683&root=gcc&view=rev
Log:
Module name can be a string const (-fmodules++)
gcc/cp/
* cp-tree.h (cp_expr): Add constant operator* and operator->.
(validate_module_name): New.
(declare_module, import_module): Take cp_expr.
* error.c (dump_module_suffix): Adjust.
* module.c (module_state): Add name_hash. Adjust.
(module_state_hash): Allow string consts.
(module_state::set_name): Likewise.
(cpm_{writer,reader}::module_name): New.
(dump_nested_name): Name can be a string const.
(cpms_{out,in}::header): Adjust.
(cpms_{out,in}::tag_import): Adjust.
(validate_module_name): New.
(module_to_filename): Allow string consts.
(make_module_file): Adjust.
(do_module_import): Adjust.
(import_module, declare_module): Adjust.
* parser.c (cp_parser_module_name): Return cp_expr, allow
string-cst.
(cp_parser_module_declaration, cp_parser_import_declaration,
cp_parser_module_proclamation): Adjust.
gcc/testsuite/
* g++.dg/modules/modules.exp (dg-module-bmi): Renamed.
* g++.dg/modules/mod++-decl-3_[ab].C: New.
Added:
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod++-decl-3_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod++-decl-3_b.C
Modified:
branches/c++-modules/ChangeLog.modules
branches/c++-modules/gcc/cp/cp-tree.h
branches/c++-modules/gcc/cp/error.c
branches/c++-modules/gcc/cp/module.c
branches/c++-modules/gcc/cp/parser.c
branches/c++-modules/gcc/testsuite/g++.dg/modules/bug-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-2_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-3_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-4_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-5_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/class-6_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/err-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/err-1_b.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/fn-inline-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/import-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/import-1_b.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/import-1_c.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/import-1_d.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod++-decl-0_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-decl-0.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-decl-1.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-decl-2_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-decl-3.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-decl-5_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-exp-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-imp-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-imp-1_c.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-impl-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-indirect-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-indirect-1_b.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-stamp-1_a.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-stamp-1_b.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-sym-1.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-sym-2.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/mod-sym-3.C
branches/c++-modules/gcc/testsuite/g++.dg/modules/modules.exp
branches/c++-modules/gcc/testsuite/g++.dg/modules/proclaim-1.C