Age | Commit message (Collapse) | Author |
|
We need an temporary register when moving data from a cached memory to
an uncached memory. Fix this issue and add a test for it.
gcc/
2020-12-29 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (prepare_move_operands): Use a temporary
registers when we have cached mem-to-uncached mem moves.
gcc/testsuite/
2020-12-29 Vladimir Isaev <isaev@synopsys.com>
* gcc.target/arc/uncached-9.c: New test.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
|
|
Update movdi, movdf and mov vectors not to use predicated vadd2
instructions. vadd2 is used as a "fast" move in these patterns. This
fixes a number of failures in dejagnu.
gcc/
2020-12-29 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.md (movdi_insn): Update pattern, no predicated
vadd2 usage.
(movdf_insn): Likewise.
* config/arc/simdext.md (movVEC_insn): Likewise.
Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>
|
|
Use copy_to_reg where appropriate, use int_mode_for_mode
and fix comment indentation.
2020-12-29 Uroš Bizjak <ubizjak@gmail.com>
gcc/
* config/i386/i386-expand.c (ix86_gen_TWO52): Use REAL_MODE_FORMAT
to determine number of mantissa bits. Use real_2expN instead
of real_ldexp.
(ix86_expand_rint): Use copy_to_reg.
(ix86_expand_floorceildf_32): Ditto.
(ix86_expand_truncdf_32): Ditto.
(ix86_expand_rounddf_32): Ditto.
(ix86_expand_floorceil): Use copy_to_reg and int_mode_for_mode.
(ix86_expand_trunc): Ditto.
(ix86_expand_round): Ditto.
|
|
|
|
The libgomp texinfo docs lead to an invalid "up" link on the Top node,
which we can avoid similarly to the Top link in the main GCC manual.
2020-12-28 Sandra Loosemore <sandra@codesourcery.com>
libgomp/
* libgomp.texi (Top): Avoid bad "up" link.
|
|
Support for HSAIL has been deprecated with GCC 10 and their web server
has been down for weeks.
gcc/
2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
* doc/standards.texi (HSAIL): Remove section.
|
|
x86_expand_rint expander uses x86_sse_copysign_to_positive, which
is unable to change the sign from - to +. When FE_DOWNWARD rounding
direction is in effect, the expanded sequence that involves subtraction
can trigger x - x = -0.0 special rule. x86_sse_copysign_to_positive
fails to change the sign of the intermediate value, assumed to always
be positive, back to positive.
The patch adds one extra fabs that strips the sign from the intermediate
value when flag_rounding_math is in effect.
2020-12-28 Uroš Bizjak <ubizjak@gmail.com>
gcc/
PR target/96793
* config/i386/i386-expand.c (ix86_expand_rint):
Remove the sign of the intermediate value for flag_rounding_math.
gcc/testsuite/
PR target/96793
* gcc.target/i386/pr96793-2.c: New test.
|
|
It is possible to avoid the call to force_reg and use existing
temporary register in ix86_expand_trunc, ix86_expand_round and
ix86_expand_rounddf_32 expanders.
2020-12-28 Uroš Bizjak <ubizjak@gmail.com>
gcc/
* config/i386/i386-expand.c (ix86_expand_trunc): Use
existing temporary register to avoid a call to force_reg.
|
|
gcc/ChangeLog:
* config/i386/i386.md (optab): New code attr.
* config/i386/sse.md (<code>v32qiv32hi2): Rename to ...
(<optab>v32qiv32hi2) ... this.
(<code>v16qiv16hi2): Likewise.
(<code>v8qiv8hi2): Likewise.
(<code>v16qiv16si2): Likewise.
(<code>v8qiv8si2): Likewise.
(<code>v4qiv4si2): Likewise.
(<code>v16hiv16si2): Likewise.
(<code>v8hiv8si2): Likewise.
(<code>v4hiv4si2): Likewise.
(<code>v8qiv8di2): Likewise.
(<code>v4qiv4di2): Likewise.
(<code>v2qiv2di2): Likewise.
(<code>v8hiv8di2): Likewise.
(<code>v4hiv4di2): Likewise.
(<code>v2hiv2di2): Likewise.
(<code>v8siv8di2): Likewise.
(<code>v4siv4di2): Likewise.
(<code>v2siv2di2): Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr92658-avx2-2.c: New test.
* gcc.target/i386/pr92658-avx512bw-2.c: Likewise.
* gcc.target/i386/pr92658-sse4-2.c: Likewise.
|
|
|
|
gcc:
2020-12-27 Gerald Pfeifer <gerald@pfeifer.com>
* doc/analyzer.texi (Analyzer Internals): Find a new source for
the "A Memory Model for Static Analysis of C Programs" paper.
|
|
libstdc++-v3:
2020-12-27 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/abi.xml: Update link to Arm ABI.
* doc/html/manual/abi.html: Regenerate.
|
|
gcc/testsuite
* gcc.dg/tree-ssa/asm-2.c: Use different register for iq2000.
* gcc.dg/tree-ssa/asm-3.c: Likewise.
|
|
2020-12-27 Paul Thomas <pault@gcc.gnu.org>
gcc/fortran
PR fortran/97694
PR fortran/97723
* check.c (allocatable_check): Select rank temporaries are
permitted even though they are treated as associate variables.
* resolve.c (gfc_resolve_code): Break on select rank as well as
select type so that the block os resolved.
* trans-stmt.c (trans_associate_var): Class associate variables
that are optional dummies must use the backend_decl.
gcc/testsuite/
PR fortran/97694
PR fortran/97723
* gfortran.dg/select_rank_5.f90: New test.
|
|
libstdc++-v3:
2020-12-27 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/debug.xml: Move Valgrind references to https.
* doc/html/manual/debug.html: Regenerate.
|
|
|
|
Some Objective-C++ testcases need modification in reponse to the
solution to PR 96045.
gcc/testsuite/ChangeLog:
PR c++/96045
* obj-c++.dg/property/property-neg-6.mm: Adjust EOF
diagnostic location.
* obj-c++.dg/syntax-error-10.mm: Likewise.
* obj-c++.dg/syntax-error-8.mm: Likewise.
* obj-c++.dg/syntax-error-9.mm: Likewise.
|
|
2020-12-26 Paul Thomas <pault@gcc.gnu.org>
gcc/fortran
PR fortran/98022
* data.c (gfc_assign_data_value): Throw an error for inquiry
references. Follow with corrected code that would provide the
expected result and provides clean error recovery.
gcc/testsuite/
PR fortran/98022
* gfortran.dg/data_inquiry_ref.f90: Change to dg-compile and
add errors for inquiry references.
|
|
2020-12-23 Paul Thomas <pault@gcc.gnu.org>
gcc/fortran
PR fortran/83118
* trans-array.c (gfc_alloc_allocatable_for_assignment): Make
sure that class expressions are captured for dummy arguments by
use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is
used.
* trans-expr.c (gfc_get_class_from_gfc_expr): New function.
(gfc_get_class_from_expr): If a constant expression is
encountered, return NULL_TREE;
(gfc_trans_assignment_1): Deallocate rhs allocatable components
after passing derived type function results to class lhs.
* trans.h : Add prototype for gfc_get_class_from_gfc_expr.
|
|
libstdc++-v3:
2020-12-26 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/abi.xml: Update link to Intel's compatibility
with GNU compilers document.
* doc/html/manual/abi.html: Regenerate.
|
|
|
|
libstdc++-v3:
2020-12-25 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/messages.xml: Update link to Java docs.
* doc/html/manual/facets.html: Ditto.
|
|
github.com requests (via 301 Moved Permanently) to use gibhub.com,
not www.github.com.
gcc/ChangeLog:
2020-12-25 Gerald Pfeifer <gerald@pfeifer.com>
* doc/invoke.texi (C++ Module Mapper): Fix reference to libcody.
|
|
Fix handling of F2018 enhancements to DATA statements that allows
initialization of pointer components to derived types, and adjust error
handling for the CHARACTER case.
gcc/fortran/ChangeLog:
* data.c (gfc_assign_data_value): Restrict use of
create_character_initializer to constant initializers.
* trans-expr.c (gfc_conv_initializer): Ensure that character
initializer is constant, otherwise fall through to get the same
error handling as for non-character cases.
gcc/testsuite/ChangeLog:
* gfortran.dg/pr93685_1.f90: New test.
* gfortran.dg/pr93685_2.f90: New test.
|
|
libstdc++-v3:
2020-12-25 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/documentation_hacking.xml: Convert three links
to doxygen.nl to https.
* doc/html/manual/documentation_hacking.html: Regenerate.
|
|
|
|
This option allows the user to specifiy alternate C++ runtime libraries,
for example when a platform uses libc++ as the installed C++ runtime.
We introduce the command line option: -stdlib= which is the user-facing
mechanism to select the C++ runtime to be used when compiling and linking
code. This is the same option spelling as that used by clang to allow the
use of libstdc++.
The availability (and thus function) of the option are a configure-time
choice using the configuration control:
--with-gxx-libcxx-include-dir=
Specification of the path for the libc++ headers, enables the -stdlib=
option (using the path as given), default values are set when the path
is unconfigured.
If --with-gxx-libcxx-include-dir is given together with --with-sysroot=,
then we test to see if the include path starts with the sysroot and, if so,
record the sysroot-relative component as the local path. At runtime, we
prepend the sysroot that is actually active.
At link time, we use the C++ runtime in force and (if that is libc++) also
append the libc++abi ABI library. As for other cases, if a target sets the
name pointer for the ABI library to NULL the G++ driver will omit it from
the link line.
gcc/ChangeLog:
* configure.ac: Add gxx-libcxx-include-dir handled
in the same way as the regular cxx header directory.
* Makefile.in: Regenerated.
* config.in: Likewise.
* configure: Likewise.
* cppdefault.c: Pick up libc++ headers if the option
is enabled.
* cppdefault.h (struct default_include): Amend comments
to reflect the extended use of the cplusplus field.
* incpath.c (add_standard_paths): Allow for multiple
c++ header include path variants.
* doc/invoke.texi: Document the -stdlib= option.
gcc/c-family/ChangeLog:
* c.opt: Add -stdlib= option and enumerations for
libstdc++ and libc++.
gcc/cp/ChangeLog:
* g++spec.c (LIBCXX, LIBCXX_PROFILE, LIBCXX_STATIC): New.
(LIBCXXABI, LIBCXXABI_PROFILE, LIBCXXABI_STATIC): New.
(enum stdcxxlib_kind): New.
(lang_specific_driver): Allow selection amongst multiple
c++ runtime libraries.
|
|
The subprocess return string is raw bytes in python3, it must decode
before used as string, verifed with python2 and python3.
gcc/ChangeLog:
* config/riscv/multilib-generator (arch_canonicalize): Call
decode for the subprocess return value.
|
|
Avoid the ambiguity between "chan <- (chan int)" and "chan (<- chan int)".
This parenthesizes the same way as the gc compiler.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/279961
|
|
|
|
delete
gcc/ChangeLog:
PR middle-end/98160
* builtins.c (warn_dealloc_offset): Avoid assuming calls are made
through declared functions and not pointers.
gcc/testsuite/ChangeLog:
PR middle-end/98160
* g++.dg/warn/pr98160.C: New test.
|
|
gcc/ChangeLog:
PR c++/98413
* builtins.c (get_offset_range): Avoid non-integers/-pointers.
gcc/testsuite/ChangeLog:
PR c++/98413
* g++.dg/warn/pr98413.C: New test.
|
|
Undefine various macros unexpectedly defined by VxWorks headers.
for libstdc++-v3/ChangeLog
* testsuite/17_intro/names.cc: Account for VxWorks headers.
|
|
Require effective target fpic support in tests using pic flags.
for gcc/testsuite/ChangeLog
* gcc.target/arm/data-rel-1.c: Require "fpic" support.
* gcc.target/arm/data-rel-2.c: Likewise.
* gcc.target/arm/data-rel-3.c: Ditto.
* gcc.target/arm/pr44788.c: Ditto.
* gcc.target/arm/pr52006.c: Ditto.
* gcc.target/arm/pr59858.c: Ditto.
* gcc.target/arm/tlscall.c: Ditto.
* gcc.target/arm/require-pic-register-loc.c: Ditto.
Adjust line numbers.
|
|
Setting the EOF token location to be the start of a line just after
the ending newline is not most helpful. While that location is
probably the right place to report preprocessing and lexing issues,
when parsing, the location just after the last token is better. That
way we get to point at some actual text. Setting the location from
the previous token has the advantage over just setting the location to
be the end of the final line, in that any ending comments do not get
considered, which I think is better.
PR c++/96045
gcc/cp/
* parser.c (cp_lexer_new_main): Adjust EOF token location.
gcc/testsuite/
* g++.dg/diagnostic/pr96045-1.C: New.
* g++.dg/diagnostic/pr96045-2.C: New.
* g++.dg/diagnostic/pr96045-3.C: New.
* c-c++-common/goacc/pr79428-1.c: Adjust EOF diagnostic location.
* c-c++-common/gomp/pr79428-2.c: Likewise
* c-c++-common/raw-string-6.c: Likewise
* g++.dg/cpp0x/decltype63.C: Likewise
* g++.dg/cpp0x/gen-attrs-64.C: Likewise
* g++.dg/cpp0x/pr68726.C: Likewise
* g++.dg/cpp0x/pr78341.C: Likewise
* g++.dg/cpp1y/pr65202.C: Likewise
* g++.dg/cpp1y/pr65340.C: Likewise
* g++.dg/cpp1y/pr68578.C: Likewise
* g++.dg/cpp1z/class-deduction44.C: Likewise
* g++.dg/diagnostic/unclosed-extern-c.C: Likewise
* g++.dg/diagnostic/unclosed-function.C: Likewise
* g++.dg/diagnostic/unclosed-namespace.C: Likewise
* g++.dg/diagnostic/unclosed-struct.C: Likewise
* g++.dg/ext/pr84598.C: Likewise
* g++.dg/other/switch4.C: Likewise
* g++.dg/parse/attr4.C: Likewise
* g++.dg/parse/cond4.C: Likewise
* g++.dg/parse/crash10.C: Likewise
* g++.dg/parse/crash18.C: Likewise
* g++.dg/parse/crash27.C: Likewise
* g++.dg/parse/crash34.C: Likewise
* g++.dg/parse/crash35.C: Likewise
* g++.dg/parse/crash52.C: Likewise
* g++.dg/parse/crash59.C: Likewise
* g++.dg/parse/crash61.C: Likewise
* g++.dg/parse/crash67.C: Likewise
* g++.dg/parse/error14.C: Likewise
* g++.dg/parse/error56.C: Likewise
* g++.dg/parse/invalid1.C: Likewise
* g++.dg/parse/parameter-declaration-1.C: Likewise
* g++.dg/parse/parser-pr28152-2.C: Likewise
* g++.dg/parse/parser-pr28152.C: Likewise
* g++.dg/parse/pr68722.C: Likewise
* g++.dg/parse/pr96258.C: Likewise
* g++.dg/pr46852.C: Likewise
* g++.dg/pr46868.C: Likewise
* g++.dg/template/crash115.C: Likewise
* g++.dg/template/crash43.C: Likewise
* g++.dg/template/crash90.C: Likewise
* g++.dg/template/error-recovery1.C: Likewise
* g++.dg/template/error57.C: Likewise
* g++.old-deja/g++.other/crash31.C: Likewise
|
|
unsafe_return_slot_p wasn't recognizing an empty base as
potentially-overlapping, which it definitely is.
The change to build_base_path is to make the virtual conversion also
recognized by is_empty_base_ref; unsafe_return_slot_p doesn't to handle
virtual conversions, but hypothetical future callers might.
gcc/cp/ChangeLog:
PR c++/97597
* class.c (is_empty_base_ref): New.
(build_base_path): Add NOP_EXPR after offset.
* cp-tree.h (is_empty_base_ref): Declare it.
* call.c (unsafe_return_slot_p): Call it.
gcc/testsuite/ChangeLog:
PR c++/97597
* g++.dg/init/empty3.C: New test.
|
|
The compiler was treating indirections through pointers that had been
explicitly checked against nil and slice and string index expressions
as non-trapping memory references. That is true for ordinary Go
programs, but it isn't true if the programs construct their own memory
addresses. In particular it isn't true for the kinds of programs that
want to use runtime.SetPanicOnFault.
The effect of this will be slightly larger binaries, due to additional
exception information, and perhaps slightly less optimization.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/279960
|
|
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/constexpr-overflow3.C: Use INT_MAX.
|
|
While the gimplifier patch I've just committed fixed an ICE, in some cases
like on the committed testcase cp folding doesn't happen after
build_zero_init_1 because it is called already during gimplification.
For the scalar types, if we want to use convert, the problem with complex floats
is that it returns a COMPLEX_EXPR with FLOAT_EXPR arguments which have
INTEGER_CST 0 as argument. As fold isn't recursive, it doesn't do anything
in that case, we need to first fold those FLOAT_EXPRs to REAL_CST 0.0 and
only afterwards the COMPLEX_EXPR can be folded into COMPLEX_CST with 0.0
arguments.
This patch instead just uses build_zero_cst that creates the zero constant for
any scalar types (and more) directly, instead of going through multiple hops.
2020-12-23 Jakub Jelinek <jakub@redhat.com>
PR c++/98353
* init.c (build_zero_init_1): Use build_zero_cst for SCALAR_TYPE_P
zero initializers.
|
|
The element initializer was non-constant, so its CONSTRUCTOR element ended
up NULL, so unshare_constructor crashed trying to look at it. This patch
fixes this in two places: First, by returning when we see a non-constant
initializer; second, by not crashing on NULL.
gcc/cp/ChangeLog:
PR c++/98332
* constexpr.c (unshare_constructor): Check for NULL.
(cxx_eval_vec_init_1): Always exit early if non-constant.
gcc/testsuite/ChangeLog:
PR c++/98332
* g++.dg/cpp0x/constexpr-overflow3.C: New test.
|
|
The shift to macOS version 11 also means that '11' without any
following '.x' is accepted as a valid version number. This adjusts
the validation code to accept this and map it to 11.0.0 which
matches what the clang toolchain appears to do.
gcc/ChangeLog:
* config/darwin-driver.c (validate_macosx_version_min): Allow
MACOSX_DEPLOYMENT_TARGET=11.
(darwin_default_min_version): Adjust warning spelling to avoid
an apostrophe.
|
|
The only calls to the runtime functions were removed in CL 170005.
The slicestringcopy function will be removed in the Go 1.16beta1 release.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/279932
|
|
Without this being forced, the optimizer could still make decisions that
require objects of the non-POD types to need a temporary, which would
result in an ICE during the expand to RTL passes.
gcc/d/ChangeLog:
PR d/98427
* types.cc (TypeVisitor::visit (TypeStruct *)): Set TYPE_MODE of all
non-trivial types as BLKmode.
(TypeVisitor::visit (TypeClass *)): Likewise.
gcc/testsuite/ChangeLog:
PR d/98427
* gdc.dg/pr98427.d: New test.
|
|
libcody's testsuite is not very portable, and is testing a host
library, so will do weird things on cross compiling, I think. Let's
just drop it.
libcody/
* Makefile.in (LDFLAGS): Drop -L..
* tests/01-serialize/connect.cc: Delete.
* tests/01-serialize/decoder.cc: Delete.
* tests/01-serialize/encoder.cc: Delete.
* tests/02-comms/client-1.cc: Delete.
* tests/02-comms/pivot-1.cc: Delete.
* tests/02-comms/server-1.cc: Delete.
* tests/Makesub.in: Delete.
* tests/jouster: Delete.
|
|
x86_expand_truncdf_32 expander uses x86_sse_copysign_to_positive, which
is unable to change the sign from - to +. When FE_DOWNWARD rounding
direction is in effect, the expanded sequence that involves subtraction
can trigger x - x = -0.0 special rule. x86_sse_copysign_to_positive
fails to change the sign of the intermediate value, assumed to always
be positive, back to positive.
The patch adds one extra fabs that strips the sign from the intermediate
value when flag_rounding_math is in effect.
2020-12-23 Uroš Bizjak <ubizjak@gmail.com>
gcc/
PR target/96793
* config/i386/i386-expand.c (ix86_expand_truncdf_32):
Remove the sign of the intermediate value for flag_rounding_math.
gcc/testsuite/
PR target/96793
* gcc.target/i386/pr96793-1.c: New test.
|
|
This adds --enable-default-pie support to c++tools, so that the sample
server is build -fPIE if requested.
PR bootstrap/98324
c++tools/
* Makefile.in: Add FLAGPIE.
* configure.ac: Add --enable-default-pie support.
* configure: Rebuilt.
|
|
|
|
The C++ compiler wasn't warning because we take their address.
Fixes golang/go#43252
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/279752
|
|
This is the gofrontend version of https://golang.org/cl/245125.
Original CL description:
Currently, we include a "kind" field on scase to distinguish the three
kinds of cases in a select statement: sends, receives, and defaults.
This commit removes by kind field by instead arranging for the
compiler to always place sends before receives, and to provide their
counts separately. It also passes an explicit "block bool" parameter
to avoid needing to include a default case in the array.
It's safe to shuffle cases like this because the runtime will
randomize the order they're polled in anyway.
For golang/go#40410.
This is being brought over to gofrontend as a step toward upgrading to
Go1.16beta1.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/279735
|
|
This adds most of the modules tests. I do not include the tests that
excercise system & C++ library header files. Those will be later.
gcc/testsuite/
* g++.dg/modules/access-1_a.C: New.: New.
* g++.dg/modules/access-1_b.C: New.
* g++.dg/modules/access-1_c.C: New.
* g++.dg/modules/adhoc-1_a.C: New.
* g++.dg/modules/adhoc-1_b.C: New.
* g++.dg/modules/adl-1_a.C: New.
* g++.dg/modules/adl-1_b.C: New.
* g++.dg/modules/adl-1_c.C: New.
* g++.dg/modules/adl-2_a.C: New.
* g++.dg/modules/adl-2_b.C: New.
* g++.dg/modules/adl-2_c.C: New.
* g++.dg/modules/adl-3_a.C: New.
* g++.dg/modules/adl-3_b.C: New.
* g++.dg/modules/adl-3_c.C: New.
* g++.dg/modules/adl-4_a.C: New.
* g++.dg/modules/adl-4_b.C: New.
* g++.dg/modules/adl-5_a.c: New.
* g++.dg/modules/adl-5_b.C: New.
* g++.dg/modules/adl-5_c.C: New.
* g++.dg/modules/adl-5_d.C: New.
* g++.dg/modules/alias-1_a.H: New.
* g++.dg/modules/alias-1_b.C: New.
* g++.dg/modules/alias-1_c.C: New.
* g++.dg/modules/alias-1_d.C: New.
* g++.dg/modules/alias-1_e.C: New.
* g++.dg/modules/alias-1_f.C: New.
* g++.dg/modules/alias-2_a.H: New.
* g++.dg/modules/alias-2_b.C: New.
* g++.dg/modules/align-type-1_a.C: New.
* g++.dg/modules/align-type-1_b.C: New.
* g++.dg/modules/ambig-1_a.C: New.
* g++.dg/modules/ambig-1_b.C: New.
* g++.dg/modules/anon-1_a.C: New.
* g++.dg/modules/anon-1_b.C: New.
* g++.dg/modules/anon-1_c.C: New.
* g++.dg/modules/anon-2.h: New.
* g++.dg/modules/anon-2_a.H: New.
* g++.dg/modules/anon-2_b.C: New.
* g++.dg/modules/atom-decl-0_a.C: New.
* g++.dg/modules/atom-decl-0_b.C: New.
* g++.dg/modules/atom-decl-0_c.C: New.
* g++.dg/modules/atom-decl-2.C: New.
* g++.dg/modules/atom-decl-3.C: New.
* g++.dg/modules/atom-pragma-1.C: New.
* g++.dg/modules/atom-pragma-3.C: New.
* g++.dg/modules/atom-preamble-1.C: New.
* g++.dg/modules/atom-preamble-2_a.C: New.
* g++.dg/modules/atom-preamble-2_b.C: New.
* g++.dg/modules/atom-preamble-2_c.C: New.
* g++.dg/modules/atom-preamble-2_d.C: New.
* g++.dg/modules/atom-preamble-2_e.C: New.
* g++.dg/modules/atom-preamble-2_f.C: New.
* g++.dg/modules/atom-preamble-3.C: New.
* g++.dg/modules/atom-preamble-4.C: New.
* g++.dg/modules/auto-1.h: New.
* g++.dg/modules/auto-1_a.H: New.
* g++.dg/modules/auto-1_b.C: New.
* g++.dg/modules/auto-2.h: New.
* g++.dg/modules/auto-2_a.H: New.
* g++.dg/modules/auto-2_b.C: New.
* g++.dg/modules/bad-mapper-1.C: New.
* g++.dg/modules/bad-mapper-2.C: New.
* g++.dg/modules/bad-mapper-3.C: New.
* g++.dg/modules/ben-1.map: New.
* g++.dg/modules/ben-1_a.C: New.
* g++.dg/modules/ben-1_b.C: New.
* g++.dg/modules/bfield-1_a.C: New.
* g++.dg/modules/bfield-1_b.C: New.
* g++.dg/modules/bfield-2_a.C: New.
* g++.dg/modules/bfield-2_b.C: New.
* g++.dg/modules/bool-1.h: New.
* g++.dg/modules/bool-1_a.H: New.
* g++.dg/modules/bool-1_b.H: New.
* g++.dg/modules/bool-1_c.C: New.
* g++.dg/modules/bug-1_a.C: New.
* g++.dg/modules/bug-1_b.C: New.
* g++.dg/modules/builtin-1_a.C: New.
* g++.dg/modules/builtin-1_b.C: New.
* g++.dg/modules/builtin-2.C: New.
* g++.dg/modules/builtin-3_b.C: New.
* g++.dg/modules/builtin-4_a.H: New.
* g++.dg/modules/builtin-4_b.C: New.
* g++.dg/modules/builtin-5_a.H: New.
* g++.dg/modules/builtin-5_b.C: New.
* g++.dg/modules/builtin-6_a.H: New.
* g++.dg/modules/builtin-6_b.C: New.
* g++.dg/modules/builtin-7_a.H: New.
* g++.dg/modules/builtin-7_b.C: New.
* g++.dg/modules/by-name-1.C: New.
* g++.dg/modules/cexpr-1_a.C: New.
* g++.dg/modules/cexpr-1_b.C: New.
* g++.dg/modules/cexpr-2_a.C: New.
* g++.dg/modules/cexpr-2_b.C: New.
* g++.dg/modules/circ-1_a.C: New.
* g++.dg/modules/circ-1_b.C: New.
* g++.dg/modules/circ-1_c.C: New.
* g++.dg/modules/circ-1_d.C: New.
* g++.dg/modules/class-1_a.C: New.
* g++.dg/modules/class-1_b.C: New.
* g++.dg/modules/class-1_c.C: New.
* g++.dg/modules/class-2_a.C: New.
* g++.dg/modules/class-2_b.C: New.
* g++.dg/modules/class-3_a.C: New.
* g++.dg/modules/class-3_b.C: New.
* g++.dg/modules/class-3_c.C: New.
* g++.dg/modules/class-3_d.C: New.
* g++.dg/modules/class-4_a.C: New.
* g++.dg/modules/class-4_b.C: New.
* g++.dg/modules/class-5_a.C: New.
* g++.dg/modules/class-5_b.C: New.
* g++.dg/modules/class-5_c.C: New.
* g++.dg/modules/class-6_a.C: New.
* g++.dg/modules/class-6_b.C: New.
* g++.dg/modules/class-6_c.C: New.
* g++.dg/modules/class-7_a.C: New.
* g++.dg/modules/class-7_b.C: New.
* g++.dg/modules/class-7_c.C: New.
* g++.dg/modules/class-8_a.C: New.
* g++.dg/modules/class-8_b.C: New.
* g++.dg/modules/clone-1_a.C: New.
* g++.dg/modules/clone-1_b.C: New.
* g++.dg/modules/concept-1_a.C: New.
* g++.dg/modules/concept-1_b.C: New.
* g++.dg/modules/concept-2_a.C: New.
* g++.dg/modules/concept-2_b.C: New.
* g++.dg/modules/concept-3_a.C: New.
* g++.dg/modules/concept-3_b.C: New.
* g++.dg/modules/concept-4.H: New.
* g++.dg/modules/concept-5.h: New.
* g++.dg/modules/concept-5_a.H: New.
* g++.dg/modules/concept-5_b.C: New.
* g++.dg/modules/concept-6.h: New.
* g++.dg/modules/concept-6_a.H: New.
* g++.dg/modules/concept-6_b.C: New.
* g++.dg/modules/constrained-partial-1_a.C: New.
* g++.dg/modules/constrained-partial-1_b.C: New.
* g++.dg/modules/convop-1_a.C: New.
* g++.dg/modules/convop-1_b.C: New.
* g++.dg/modules/cpp-1.C: New.
* g++.dg/modules/cpp-2_a.H: New.
* g++.dg/modules/cpp-2_b.H: New.
* g++.dg/modules/cpp-2_c.C: New.
* g++.dg/modules/cpp-3.C: New.
* g++.dg/modules/cpp-4.C: New.
* g++.dg/modules/cpp-4.h: New.
* g++.dg/modules/cpp-5_a.H: New.
* g++.dg/modules/cpp-5_b.C: New.
* g++.dg/modules/cpp-5_c.C: New.
* g++.dg/modules/cpp-6_a.H: New.
* g++.dg/modules/cpp-6_b.H: New.
* g++.dg/modules/cpp-6_c.C: New.
* g++.dg/modules/debug-1_a.C: New.
* g++.dg/modules/debug-1_b.C: New.
* g++.dg/modules/decomp-1_a.C: New.
* g++.dg/modules/decomp-1_b.C: New.
* g++.dg/modules/deferred-1.h: New.
* g++.dg/modules/deferred-1_a.H: New.
* g++.dg/modules/deferred-1_b.C: New.
* g++.dg/modules/dep-1_a.C: New.
* g++.dg/modules/dep-1_b.C: New.
* g++.dg/modules/dep-2.C: New.
* g++.dg/modules/dep-3.C: New.
* g++.dg/modules/dir-only-1.C: New.
* g++.dg/modules/dir-only-2_a.H: New.
* g++.dg/modules/dir-only-2_b.C: New.
* g++.dg/modules/dir-only-3.C: New.
* g++.dg/modules/dir-only-4.C: New.
* g++.dg/modules/dir-recovery.C: New.
* g++.dg/modules/enum-1_a.C: New.
* g++.dg/modules/enum-1_b.C: New.
* g++.dg/modules/enum-2_a.C: New.
* g++.dg/modules/enum-2_b.C: New.
* g++.dg/modules/enum-3_a.C: New.
* g++.dg/modules/enum-3_b.C: New.
* g++.dg/modules/enum-4_a.C: New.
* g++.dg/modules/enum-4_b.C: New.
* g++.dg/modules/enum-5_a.H: New.
* g++.dg/modules/enum-5_b.C: New.
* g++.dg/modules/enum-6_a.H: New.
* g++.dg/modules/enum-6_b.C: New.
* g++.dg/modules/enum-7.C: New.
* g++.dg/modules/enum-8_a.H: New.
* g++.dg/modules/enum-8_b.H: New.
* g++.dg/modules/enum-8_c.C: New.
* g++.dg/modules/enum-8_d.C: New.
* g++.dg/modules/enum-bad-1_a.H: New.
* g++.dg/modules/enum-bad-1_b.C: New.
* g++.dg/modules/err-1_a.C: New.
* g++.dg/modules/err-1_b.C: New.
* g++.dg/modules/err-1_c.C: New.
* g++.dg/modules/err-1_d.C: New.
* g++.dg/modules/except-1.C: New.
* g++.dg/modules/except-2.h: New.
* g++.dg/modules/except-2_a.H: New.
* g++.dg/modules/except-2_b.C: New.
* g++.dg/modules/except-3.h: New.
* g++.dg/modules/except-3_a.H: New.
* g++.dg/modules/except-3_b.C: New.
* g++.dg/modules/exp-xlate-1_a.H: New.
* g++.dg/modules/exp-xlate-1_b.C: New.
* g++.dg/modules/export-1.C: New.
* g++.dg/modules/extern-tpl-1_a.H: New.
* g++.dg/modules/extern-tpl-1_b.C: New.
* g++.dg/modules/extern-tpl-1_c.C: New.
* g++.dg/modules/extern-tpl-2_a.H: New.
* g++.dg/modules/extern-tpl-2_b.H: New.
* g++.dg/modules/extern-tpl-2_c.C: New.
* g++.dg/modules/extern-tpl-2_d.C: New.
* g++.dg/modules/flag-1_a.C: New.
* g++.dg/modules/flag-1_b.C: New.
* g++.dg/modules/fn-inline-1_a.C: New.
* g++.dg/modules/fn-inline-1_b.C: New.
* g++.dg/modules/fn-inline-1_c.C: New.
* g++.dg/modules/freeze-1_a.C: New.
* g++.dg/modules/freeze-1_b.C: New.
* g++.dg/modules/freeze-1_c.C: New.
* g++.dg/modules/freeze-1_d.C: New.
* g++.dg/modules/friend-1_a.C: New.
* g++.dg/modules/friend-1_b.C: New.
* g++.dg/modules/friend-1_c.C: New.
* g++.dg/modules/friend-2_a.C: New.
* g++.dg/modules/friend-2_b.C: New.
* g++.dg/modules/friend-3.C: New.
* g++.dg/modules/friend-4_a.C: New.
* g++.dg/modules/friend-4_b.C: New.
* g++.dg/modules/friend-5_a.C: New.
* g++.dg/modules/friend-5_b.C: New.
* g++.dg/modules/gc-1_a.C: New.
* g++.dg/modules/gc-1_b.C: New.
* g++.dg/modules/gc-1_c.C: New.
* g++.dg/modules/gc-1_d.C: New.
* g++.dg/modules/gc-2.map: New.
* g++.dg/modules/gc-2_a.C: New.
* g++.dg/modules/global-1_a.C: New.
* g++.dg/modules/global-1_b.C: New.
* g++.dg/modules/gmf-1_a.C: New.
* g++.dg/modules/gmf-1_b.C: New.
* g++.dg/modules/gmf-2_a.H: New.
* g++.dg/modules/gmf-2_b.C: New.
* g++.dg/modules/gmf-2_c.C: New.
* g++.dg/modules/gmf-2_d.C: New.
* g++.dg/modules/gvar_a.C: New.
* g++.dg/modules/gvar_b.C: New.
* g++.dg/modules/hdr-1_a.H: New.
* g++.dg/modules/hdr-1_b.H: New.
* g++.dg/modules/hdr-1_c.C: New.
* g++.dg/modules/hdr-init-1_a.H: New.
* g++.dg/modules/hdr-init-1_b.H: New.
* g++.dg/modules/hdr-init-1_c.C: New.
* g++.dg/modules/horcrux-1_a.C: New.
* g++.dg/modules/horcrux-1_b.C: New.
* g++.dg/modules/ice-1.C: New.
* g++.dg/modules/imp-inline-1_a.C: New.
* g++.dg/modules/imp-inline-1_b.C: New.
* g++.dg/modules/imp-member-1_a.C: New.
* g++.dg/modules/imp-member-1_b.C: New.
* g++.dg/modules/imp-member-1_c.C: New.
* g++.dg/modules/imp-member-1_d.C: New.
* g++.dg/modules/imp-member-1_e.C: New.
* g++.dg/modules/imp-member-2_a.C: New.
* g++.dg/modules/imp-member-2_b.C: New.
* g++.dg/modules/imp-member-2_c.C: New.
* g++.dg/modules/imp-member-3.H: New.
* g++.dg/modules/import-1_a.C: New.
* g++.dg/modules/import-1_b.C: New.
* g++.dg/modules/import-1_c.C: New.
* g++.dg/modules/import-1_d.C: New.
* g++.dg/modules/import-1_e.C: New.
* g++.dg/modules/import-1_f.C: New.
* g++.dg/modules/import-1_g.C: New.
* g++.dg/modules/import-2.C: New.
* g++.dg/modules/inc-xlate-1.map: New.
* g++.dg/modules/inc-xlate-1_a.H: New.
* g++.dg/modules/inc-xlate-1_b.H: New.
* g++.dg/modules/inc-xlate-1_c.C: New.
* g++.dg/modules/inc-xlate-1_e.C: New.
* g++.dg/modules/indirect-1_a.C: New.
* g++.dg/modules/indirect-1_b.C: New.
* g++.dg/modules/indirect-1_c.C: New.
* g++.dg/modules/indirect-2_a.C: New.
* g++.dg/modules/indirect-2_b.C: New.
* g++.dg/modules/indirect-2_c.C: New.
* g++.dg/modules/indirect-3_a.C: New.
* g++.dg/modules/indirect-3_b.C: New.
* g++.dg/modules/indirect-3_c.C: New.
* g++.dg/modules/indirect-4_a.C: New.
* g++.dg/modules/indirect-4_b.C: New.
* g++.dg/modules/indirect-4_c.C: New.
* g++.dg/modules/inext-1.H: New.
* g++.dg/modules/inh-tmpl-ctor-1.h: New.
* g++.dg/modules/inh-tmpl-ctor-1_a.H: New.
* g++.dg/modules/inh-tmpl-ctor-1_b.C: New.
* g++.dg/modules/init-1_a.C: New.
* g++.dg/modules/init-1_b.C: New.
* g++.dg/modules/init-2_a.C: New.
* g++.dg/modules/init-2_b.C: New.
* g++.dg/modules/init-2_c.C: New.
* g++.dg/modules/inst-1_a.C: New.
* g++.dg/modules/inst-1_b.C: New.
* g++.dg/modules/inst-2_a.C: New.
* g++.dg/modules/inst-2_b.C: New.
* g++.dg/modules/inst-3_a.C: New.
* g++.dg/modules/inst-3_b.C: New.
* g++.dg/modules/inst-4_a.C: New.
* g++.dg/modules/inst-4_b.C: New.
* g++.dg/modules/inst-5_a.H: New.
* g++.dg/modules/inst-5_b.C: New.
* g++.dg/modules/internal-1.C: New.
* g++.dg/modules/internal-2_a.H: New.
* g++.dg/modules/internal-2_b.H: New.
* g++.dg/modules/internal-2_c.C: New.
* g++.dg/modules/isalnum.H: New.
* g++.dg/modules/keyword-1_a.C: New.
* g++.dg/modules/keyword-1_b.C: New.
* g++.dg/modules/lambda-1_a.C: New.
* g++.dg/modules/lambda-1_b.C: New.
* g++.dg/modules/lambda-2.h: New.
* g++.dg/modules/lambda-2_a.H: New.
* g++.dg/modules/lambda-2_b.C: New.
* g++.dg/modules/lambda-2_c.C: New.
* g++.dg/modules/lambda-3.h: New.
* g++.dg/modules/lambda-3_a.H: New.
* g++.dg/modules/lambda-3_b.C: New.
* g++.dg/modules/lambda-3_c.C: New.
* g++.dg/modules/lambda-4.h: New.
* g++.dg/modules/lambda-4_a.H: New.
* g++.dg/modules/lambda-4_b.C: New.
* g++.dg/modules/lang-1_a.H: New.
* g++.dg/modules/lang-1_b.C: New.
* g++.dg/modules/lang-1_c.C: New.
* g++.dg/modules/lang-2_a.C: New.
* g++.dg/modules/lang-2_b.C: New.
* g++.dg/modules/late-ret-1.H: New.
* g++.dg/modules/late-ret-2_a.H: New.
* g++.dg/modules/late-ret-2_b.H: New.
* g++.dg/modules/late-ret-2_c.C: New.
* g++.dg/modules/late-ret-3_a.H: New.
* g++.dg/modules/late-ret-3_b.H: New.
* g++.dg/modules/late-ret-3_c.C: New.
* g++.dg/modules/lazy-1_a.C: New.
* g++.dg/modules/lazy-1_b.C: New.
* g++.dg/modules/leg-merge-1_a.H: New.
* g++.dg/modules/leg-merge-1_b.H: New.
* g++.dg/modules/leg-merge-1_c.C: New.
* g++.dg/modules/leg-merge-1_d.C: New.
* g++.dg/modules/leg-merge-2_a.H: New.
* g++.dg/modules/leg-merge-2_b.H: New.
* g++.dg/modules/leg-merge-2_c.C: New.
* g++.dg/modules/leg-merge-3_a.H: New.
* g++.dg/modules/leg-merge-3_b.H: New.
* g++.dg/modules/leg-merge-3_c.C: New.
* g++.dg/modules/leg-merge-3_d.C: New.
* g++.dg/modules/leg-merge-4_a.H: New.
* g++.dg/modules/leg-merge-4_b.H: New.
* g++.dg/modules/leg-merge-4_c.C: New.
* g++.dg/modules/leg-merge-5_a.H: New.
* g++.dg/modules/leg-merge-5_b.H: New.
* g++.dg/modules/leg-merge-5_c.C: New.
* g++.dg/modules/leg-merge-6_a.H: New.
* g++.dg/modules/leg-merge-6_b.H: New.
* g++.dg/modules/leg-merge-6_c.C: New.
* g++.dg/modules/leg-merge-7_a.H: New.
* g++.dg/modules/leg-merge-7_b.H: New.
* g++.dg/modules/leg-merge-7_c.C: New.
* g++.dg/modules/leg-merge-8_a.H: New.
* g++.dg/modules/leg-merge-8_b.H: New.
* g++.dg/modules/leg-merge-8_c.C: New.
* g++.dg/modules/leg-merge-9_a.H: New.
* g++.dg/modules/leg-merge-9_b.H: New.
* g++.dg/modules/leg-merge-9_c.C: New.
* g++.dg/modules/legacy-1_a.H: New.
* g++.dg/modules/legacy-1_b.C: New.
* g++.dg/modules/legacy-1_c.C: New.
* g++.dg/modules/legacy-2.h: New.
* g++.dg/modules/legacy-2.map: New.
* g++.dg/modules/legacy-2_a.H: New.
* g++.dg/modules/legacy-2_b.H: New.
* g++.dg/modules/legacy-2_c.C: New.
* g++.dg/modules/legacy-2_d.C: New.
* g++.dg/modules/legacy-3.h: New.
* g++.dg/modules/legacy-3_a.H: New.
* g++.dg/modules/legacy-3_b.H: New.
* g++.dg/modules/legacy-3_c.H: New.
* g++.dg/modules/legacy-6.map: New.
* g++.dg/modules/legacy-6_a.H: New.
* g++.dg/modules/legacy-6_b.H: New.
* g++.dg/modules/legacy-6_c.C: New.
* g++.dg/modules/legacy-6_d.C: New.
* g++.dg/modules/legacy-6_e.C: New.
* g++.dg/modules/legacy-6_f.C: New.
* g++.dg/modules/legacy-7_a.H: New.
* g++.dg/modules/legacy-7_b.C: New.
* g++.dg/modules/legacy-8_a.H: New.
* g++.dg/modules/legacy-8_b.H: New.
* g++.dg/modules/legacy-8_c.C: New.
* g++.dg/modules/legacy-8_d.C: New.
* g++.dg/modules/legacy-8_e.C: New.
* g++.dg/modules/libfn-1_a.C: New.
* g++.dg/modules/libfn-1_b.C: New.
* g++.dg/modules/literals-1_a.C: New.
* g++.dg/modules/literals-1_b.C: New.
* g++.dg/modules/loc-1_a.C: New.
* g++.dg/modules/loc-1_b.C: New.
* g++.dg/modules/loc-1_c.C: New.
* g++.dg/modules/loc-2_a.C: New.
* g++.dg/modules/loc-2_b.C: New.
* g++.dg/modules/loc-2_c.C: New.
* g++.dg/modules/loc-2_d.C: New.
* g++.dg/modules/loc-2_e.C: New.
* g++.dg/modules/loc-2_f.C: New.
* g++.dg/modules/loc-wrapper-1.h: New.
* g++.dg/modules/loc-wrapper-1_a.H: New.
* g++.dg/modules/loc-wrapper-1_b.C: New.
* g++.dg/modules/local-1_a.C: New.
* g++.dg/modules/local-1_b.C: New.
* g++.dg/modules/local-extern-1.C: New.
* g++.dg/modules/local-extern-2.H: New.
* g++.dg/modules/local-struct-1_a.C: New.
* g++.dg/modules/local-struct-1_b.C: New.
* g++.dg/modules/macloc-1_a.C: New.
* g++.dg/modules/macloc-1_b.C: New.
* g++.dg/modules/macloc-1_c.C: New.
* g++.dg/modules/macloc-1_d.C: New.
* g++.dg/modules/macloc-2_a.H: New.
* g++.dg/modules/macloc-2_b.C: New.
* g++.dg/modules/macro-1_a.H: New.
* g++.dg/modules/macro-1_b.C: New.
* g++.dg/modules/macro-2_a.H: New.
* g++.dg/modules/macro-2_b.H: New.
* g++.dg/modules/macro-2_c.H: New.
* g++.dg/modules/macro-2_d.C: New.
* g++.dg/modules/macro-3_a.H: New.
* g++.dg/modules/macro-3_b.H: New.
* g++.dg/modules/macro-3_c.C: New.
* g++.dg/modules/macro-4_a.H: New.
* g++.dg/modules/macro-4_b.H: New.
* g++.dg/modules/macro-4_c.H: New.
* g++.dg/modules/macro-4_d.C: New.
* g++.dg/modules/macro-4_e.C: New.
* g++.dg/modules/macro-4_f.C: New.
* g++.dg/modules/macro-4_g.C: New.
* g++.dg/modules/macro-5_a.H: New.
* g++.dg/modules/macro-5_b.H: New.
* g++.dg/modules/macro-5_c.C: New.
* g++.dg/modules/macro-6_a.H: New.
* g++.dg/modules/macro-6_b.C: New.
* g++.dg/modules/macro-6_c.C: New.
* g++.dg/modules/macro-7_a.C: New.
* g++.dg/modules/macro-7_b.C: New.
* g++.dg/modules/macro-7_c.C: New.
* g++.dg/modules/map-1.map: New.
* g++.dg/modules/map-1_a.C: New.
* g++.dg/modules/map-1_b.C: New.
* g++.dg/modules/map-1_b.map: New.
* g++.dg/modules/map-2.C: New.
* g++.dg/modules/map-2.map: New.
* g++.dg/modules/member-def-1_a.C: New.
* g++.dg/modules/member-def-1_b.C: New.
* g++.dg/modules/member-def-1_c.C: New.
* g++.dg/modules/member-def-1_d.C: New.
* g++.dg/modules/member-def-2_a.C: New.
* g++.dg/modules/member-def-2_b.C: New.
* g++.dg/modules/member-def-2_c.C: New.
* g++.dg/modules/member-def-2_d.C: New.
* g++.dg/modules/memref-1_a.C: New.
* g++.dg/modules/memref-1_b.C: New.
* g++.dg/modules/merge-10.h: New.
* g++.dg/modules/merge-10_a.H: New.
* g++.dg/modules/merge-10_b.C: New.
* g++.dg/modules/merge-11.h: New.
* g++.dg/modules/merge-11_a.H: New.
* g++.dg/modules/merge-11_b.C: New.
* g++.dg/modules/merge-12.h: New.
* g++.dg/modules/merge-12_a.H: New.
* g++.dg/modules/merge-12_b.C: New.
* g++.dg/modules/merge-13.h: New.
* g++.dg/modules/merge-13_a.H: New.
* g++.dg/modules/merge-13_b.C: New.
* g++.dg/modules/merge-14.h: New.
* g++.dg/modules/merge-14_a.H: New.
* g++.dg/modules/merge-14_b.C: New.
* g++.dg/modules/merge-15.h: New.
* g++.dg/modules/merge-15_a.H: New.
* g++.dg/modules/merge-15_b.C: New.
* g++.dg/modules/merge-1_a.C: New.
* g++.dg/modules/merge-1_b.C: New.
* g++.dg/modules/merge-2_a.H: New.
* g++.dg/modules/merge-2_b.C: New.
* g++.dg/modules/merge-3_a.H: New.
* g++.dg/modules/merge-3_b.C: New.
* g++.dg/modules/merge-4.h: New.
* g++.dg/modules/merge-4_a.H: New.
* g++.dg/modules/merge-4_b.C: New.
* g++.dg/modules/merge-5.h: New.
* g++.dg/modules/merge-5_a.H: New.
* g++.dg/modules/merge-5_b.C: New.
* g++.dg/modules/merge-6.h: New.
* g++.dg/modules/merge-6_a.H: New.
* g++.dg/modules/merge-6_b.C: New.
* g++.dg/modules/merge-7.h: New.
* g++.dg/modules/merge-7_a.H: New.
* g++.dg/modules/merge-7_b.C: New.
* g++.dg/modules/merge-8.h: New.
* g++.dg/modules/merge-8_a.H: New.
* g++.dg/modules/merge-8_b.C: New.
* g++.dg/modules/merge-9.h: New.
* g++.dg/modules/merge-9_a.H: New.
* g++.dg/modules/merge-9_b.C: New.
* g++.dg/modules/mod-exp-1_a.C: New.
* g++.dg/modules/mod-exp-1_b.C: New.
* g++.dg/modules/mod-imp-1_a.C: New.
* g++.dg/modules/mod-imp-1_b.C: New.
* g++.dg/modules/mod-imp-1_c.C: New.
* g++.dg/modules/mod-imp-1_d.C: New.
* g++.dg/modules/mod-impl-1_a.C: New.
* g++.dg/modules/mod-impl-1_b.C: New.
* g++.dg/modules/mod-impl-1_c.C: New.
* g++.dg/modules/mod-impl-1_d.C: New.
* g++.dg/modules/mod-indirect-1_a.C: New.
* g++.dg/modules/mod-indirect-1_b.C: New.
* g++.dg/modules/mod-indirect-1_c.C: New.
* g++.dg/modules/mod-indirect-1_d.C: New.
* g++.dg/modules/mod-indirect-1_e.C: New.
* g++.dg/modules/mod-stamp-1_a.C: New.
* g++.dg/modules/mod-stamp-1_b.C: New.
* g++.dg/modules/mod-stamp-1_c.C: New.
* g++.dg/modules/mod-stamp-1_d.C: New.
* g++.dg/modules/mod-sym-1.C: New.
* g++.dg/modules/mod-sym-2.C: New.
* g++.dg/modules/mod-sym-3.C: New.
* g++.dg/modules/mod-tpl-1_a.C: New.
* g++.dg/modules/mod-tpl-1_b.C: New.
* g++.dg/modules/mod-tpl-2_a.C: New.
* g++.dg/modules/mod-tpl-2_b.C: New.
* g++.dg/modules/mutual-friend.ii: New.
* g++.dg/modules/namespace-1_a.C: New.
* g++.dg/modules/namespace-1_b.C: New.
* g++.dg/modules/namespace-1_c.C: New.
* g++.dg/modules/namespace-2_a.C: New.
* g++.dg/modules/namespace-2_b.C: New.
* g++.dg/modules/namespace-3_a.C: New.
* g++.dg/modules/namespace-3_b.C: New.
* g++.dg/modules/namespace-4_a.C: New.
* g++.dg/modules/namespace-4_b.C: New.
* g++.dg/modules/namespace-4_c.C: New.
* g++.dg/modules/nest-1_a.C: New.
* g++.dg/modules/nest-1_b.C: New.
* g++.dg/modules/nest-1_c.C: New.
* g++.dg/modules/nested-1_a.C: New.
* g++.dg/modules/nested-1_b.C: New.
* g++.dg/modules/nested-1_c.C: New.
* g++.dg/modules/nested-2_a.C: New.
* g++.dg/modules/nested-2_b.C: New.
* g++.dg/modules/nested-constr-1.h: New.
* g++.dg/modules/nested-constr-1_a.H: New.
* g++.dg/modules/nested-constr-1_b.C: New.
* g++.dg/modules/nested-constr-2_a.C: New.
* g++.dg/modules/nested-constr-2_b.C: New.
* g++.dg/modules/nested-constr-2_c.C: New.
* g++.dg/modules/nodes-1_a.C: New.
* g++.dg/modules/nodes-1_b.C: New.
* g++.dg/modules/noexcept-1.h: New.
* g++.dg/modules/noexcept-1_a.H: New.
* g++.dg/modules/noexcept-1_b.C: New.
* g++.dg/modules/ns-alias-1_a.C: New.
* g++.dg/modules/ns-alias-1_b.C: New.
* g++.dg/modules/ns-alias-1_c.C: New.
* g++.dg/modules/ns-dir-1_a.C: New.
* g++.dg/modules/ns-dir-1_b.C: New.
* g++.dg/modules/ns-dup-1_a.C: New.
* g++.dg/modules/ns-dup-1_b.C: New.
* g++.dg/modules/ns-imp-1_a.C: New.
* g++.dg/modules/ns-imp-1_b.C: New.
* g++.dg/modules/ns-imp-1_c.C: New.
* g++.dg/modules/ns-part-1_a.C: New.
* g++.dg/modules/ns-part-1_b.C: New.
* g++.dg/modules/ns-part-1_c.C: New.
* g++.dg/modules/nsdmi-1_a.C: New.
* g++.dg/modules/nsdmi-1_b.C: New.
* g++.dg/modules/nsdmi-2.C: New.
* g++.dg/modules/omp-1_a.C: New.
* g++.dg/modules/omp-1_b.C: New.
* g++.dg/modules/omp-1_c.C: New.
* g++.dg/modules/omp-2_a.C: New.
* g++.dg/modules/omp-2_b.C: New.
* g++.dg/modules/only-1.C: New.
* g++.dg/modules/only-2.C: New.
* g++.dg/modules/only-3.C: New.
* g++.dg/modules/operator-1_a.C: New.
* g++.dg/modules/operator-1_b.C: New.
* g++.dg/modules/p0713-1.C: New.
* g++.dg/modules/p0713-2.C: New.
* g++.dg/modules/p0713-3.C: New.
* g++.dg/modules/part-1_a.C: New.
* g++.dg/modules/part-1_b.C: New.
* g++.dg/modules/part-1_c.C: New.
* g++.dg/modules/part-2_a.C: New.
* g++.dg/modules/part-2_b.C: New.
* g++.dg/modules/part-2_c.C: New.
* g++.dg/modules/part-2_d.C: New.
* g++.dg/modules/part-2_e.C: New.
* g++.dg/modules/part-3_a.C: New.
* g++.dg/modules/part-3_b.C: New.
* g++.dg/modules/part-3_c.C: New.
* g++.dg/modules/part-3_d.C: New.
* g++.dg/modules/part-4_a.C: New.
* g++.dg/modules/part-4_b.C: New.
* g++.dg/modules/part-4_c.C: New.
* g++.dg/modules/part-6_a.C: New.
* g++.dg/modules/part-6_b.C: New.
* g++.dg/modules/part-6_c.C: New.
* g++.dg/modules/part-6_d.C: New.
* g++.dg/modules/part-6_e.C: New.
* g++.dg/modules/part-7_a.C: New.
* g++.dg/modules/part-7_b.C: New.
* g++.dg/modules/part-7_c.C: New.
* g++.dg/modules/part-hdr-1_a.H: New.
* g++.dg/modules/part-hdr-1_b.C: New.
* g++.dg/modules/part-hdr-1_c.C: New.
* g++.dg/modules/part-mac-1_a.H: New.
* g++.dg/modules/part-mac-1_b.C: New.
* g++.dg/modules/part-mac-1_c.C: New.
* g++.dg/modules/partial-1.h: New.
* g++.dg/modules/partial-1_a.H: New.
* g++.dg/modules/partial-1_b.C: New.
* g++.dg/modules/pmf-1.h: New.
* g++.dg/modules/pmf-1_a.H: New.
* g++.dg/modules/pmf-1_b.C: New.
* g++.dg/modules/pmf-2.h: New.
* g++.dg/modules/pmf-2_a.H: New.
* g++.dg/modules/pmf-2_b.C: New.
* g++.dg/modules/pmp-1_a.C: New.
* g++.dg/modules/pmp-1_b.C: New.
* g++.dg/modules/pmp-2.C: New.
* g++.dg/modules/pmp-3.C: New.
* g++.dg/modules/pragma-1_a.H: New.
* g++.dg/modules/pragma-1_b.C: New.
* g++.dg/modules/predef-1.C: New.
* g++.dg/modules/predef-1.h: New.
* g++.dg/modules/predef-2.h: New.
* g++.dg/modules/predef-2_a.C: New.
* g++.dg/modules/predef-2_b.C: New.
* g++.dg/modules/preproc-1.C: New.
* g++.dg/modules/preproc-2_a.H: New.
* g++.dg/modules/preproc-2_b.C: New.
* g++.dg/modules/printf-1_a.H: New.
* g++.dg/modules/printf-1_b.C: New.
* g++.dg/modules/reparent-1_a.C: New.
* g++.dg/modules/reparent-1_b.C: New.
* g++.dg/modules/reparent-1_c.C: New.
* g++.dg/modules/scc-1.C: New.
* g++.dg/modules/scc-2.C: New.
* g++.dg/modules/shadow-1_a.C: New.
* g++.dg/modules/shadow-1_b.C: New.
* g++.dg/modules/stat-tpl-1_a.H: New.
* g++.dg/modules/static-1_a.C: New.
* g++.dg/modules/static-1_b.C: New.
* g++.dg/modules/static-1_c.C: New.
* g++.dg/modules/std-1_a.C: New.
* g++.dg/modules/std-1_b.C: New.
* g++.dg/modules/stdns_a.C: New.
* g++.dg/modules/stdns_b.C: New.
* g++.dg/modules/sv-1.h: New.
* g++.dg/modules/sv-1_a.C: New.
* g++.dg/modules/sv-1_b.C: New.
* g++.dg/modules/sym-subst-1.C: New.
* g++.dg/modules/sym-subst-2_a.C: New.
* g++.dg/modules/sym-subst-2_b.C: New.
* g++.dg/modules/sym-subst-3_a.C: New.
* g++.dg/modules/sym-subst-3_b.C: New.
* g++.dg/modules/sym-subst-4.C: New.
* g++.dg/modules/sym-subst-5.C: New.
* g++.dg/modules/sym-subst-6.C: New.
* g++.dg/modules/sys/alias-2_a.H: New.
* g++.dg/modules/sys/inext-1.H: New.
* g++.dg/modules/tdef-1_a.C: New.
* g++.dg/modules/tdef-1_b.C: New.
* g++.dg/modules/tdef-2_a.C: New.
* g++.dg/modules/tdef-2_b.C: New.
* g++.dg/modules/tdef-2_c.C: New.
* g++.dg/modules/tdef-3_a.C: New.
* g++.dg/modules/tdef-3_b.C: New.
* g++.dg/modules/tdef-3_c.C: New.
* g++.dg/modules/tdef-4_a.C: New.
* g++.dg/modules/tdef-4_b.C: New.
* g++.dg/modules/tdef-4_c.C: New.
* g++.dg/modules/tdef-5_a.C: New.
* g++.dg/modules/tdef-5_b.C: New.
* g++.dg/modules/tdef-6_a.H: New.
* g++.dg/modules/tdef-6_b.C: New.
* g++.dg/modules/tdef-7.h: New.
* g++.dg/modules/tdef-7_a.H: New.
* g++.dg/modules/tdef-7_b.C: New.
* g++.dg/modules/tdef-8_a.C: New.
* g++.dg/modules/tdef-8_b.C: New.
* g++.dg/modules/tdef-inst-1.h: New.
* g++.dg/modules/tdef-inst-1_a.C: New.
* g++.dg/modules/tdef-inst-1_b.C: New.
* g++.dg/modules/thunk-1_a.C: New.
* g++.dg/modules/thunk-1_b.C: New.
* g++.dg/modules/tmpl-part-req-1.h: New.
* g++.dg/modules/tmpl-part-req-1_a.H: New.
* g++.dg/modules/tmpl-part-req-1_b.C: New.
* g++.dg/modules/tmpl-part-req-2.h: New.
* g++.dg/modules/tmpl-part-req-2_a.H: New.
* g++.dg/modules/tmpl-part-req-2_b.C: New.
* g++.dg/modules/token-1.C: New.
* g++.dg/modules/token-2_a.C: New.
* g++.dg/modules/token-2_b.C: New.
* g++.dg/modules/token-3.C: New.
* g++.dg/modules/token-4.C: New.
* g++.dg/modules/token-5.C: New.
* g++.dg/modules/tpl-alias-1.h: New.
* g++.dg/modules/tpl-alias-1_a.H: New.
* g++.dg/modules/tpl-alias-1_b.C: New.
* g++.dg/modules/tpl-ary-1.h: New.
* g++.dg/modules/tpl-ary-1_a.H: New.
* g++.dg/modules/tpl-ary-1_b.C: New.
* g++.dg/modules/tpl-extern-fn-1_a.H: New.
* g++.dg/modules/tpl-extern-fn-1_b.C: New.
* g++.dg/modules/tpl-extern-var-1_a.H: New.
* g++.dg/modules/tpl-extern-var-1_b.C: New.
* g++.dg/modules/tpl-friend-1_a.C: New.
* g++.dg/modules/tpl-friend-1_b.C: New.
* g++.dg/modules/tpl-friend-2_a.C: New.
* g++.dg/modules/tpl-friend-2_b.C: New.
* g++.dg/modules/tpl-friend-3_a.C: New.
* g++.dg/modules/tpl-friend-3_b.C: New.
* g++.dg/modules/tpl-friend-4_a.C: New.
* g++.dg/modules/tpl-friend-4_b.C: New.
* g++.dg/modules/tpl-friend-5_a.C: New.
* g++.dg/modules/tpl-friend-5_b.C: New.
* g++.dg/modules/tpl-friend-6_a.C: New.
* g++.dg/modules/tpl-friend-6_b.C: New.
* g++.dg/modules/tpl-friend-7_a.C: New.
* g++.dg/modules/tpl-friend-7_b.C: New.
* g++.dg/modules/tpl-friend-merge-1.cc: New.
* g++.dg/modules/tpl-friend-merge-1.h: New.
* g++.dg/modules/tpl-friend-merge-1_a.H: New.
* g++.dg/modules/tpl-friend-merge-1_b.H: New.
* g++.dg/modules/tpl-friend-merge-1_c.H: New.
* g++.dg/modules/tpl-friend-merge-1_d.C: New.
* g++.dg/modules/tpl-friend-merge-1_e.C: New.
* g++.dg/modules/tpl-friend-merge-1_f.C: New.
* g++.dg/modules/tpl-spec-1_a.C: New.
* g++.dg/modules/tpl-spec-1_b.C: New.
* g++.dg/modules/tpl-spec-2_a.C: New.
* g++.dg/modules/tpl-spec-2_b.C: New.
* g++.dg/modules/tpl-spec-2_c.C: New.
* g++.dg/modules/tpl-spec-2_d.C: New.
* g++.dg/modules/tpl-spec-3_a.C: New.
* g++.dg/modules/tpl-spec-3_b.C: New.
* g++.dg/modules/tpl-spec-4_a.C: New.
* g++.dg/modules/tpl-spec-4_b.C: New.
* g++.dg/modules/tpl-spec-5_a.C: New.
* g++.dg/modules/tpl-spec-5_b.C: New.
* g++.dg/modules/tpl-spec-6_a.C: New.
* g++.dg/modules/tpl-spec-6_b.C: New.
* g++.dg/modules/tpl-spec-7.C: New.
* g++.dg/modules/tpl-tpl-friend-1_a.C: New.
* g++.dg/modules/tpl-tpl-friend-1_b.C: New.
* g++.dg/modules/tpl-tpl-mem-1_a.C: New.
* g++.dg/modules/tpl-tpl-mem-1_b.C: New.
* g++.dg/modules/tpl-tpl-merge-1.h: New.
* g++.dg/modules/tpl-tpl-merge-1_a.H: New.
* g++.dg/modules/tpl-tpl-merge-1_b.C: New.
* g++.dg/modules/tpl-tpl-merge-2.h: New.
* g++.dg/modules/tpl-tpl-merge-2_a.H: New.
* g++.dg/modules/tpl-tpl-merge-2_b.C: New.
* g++.dg/modules/tpl-tpl-parm-1_a.H: New.
* g++.dg/modules/tpl-tpl-parm-1_b.C: New.
* g++.dg/modules/tpl-tpl-parm-2.h: New.
* g++.dg/modules/tpl-tpl-parm-2_a.H: New.
* g++.dg/modules/tpl-tpl-parm-2_b.C: New.
* g++.dg/modules/tplmem-1_a.C: New.
* g++.dg/modules/tplmem-1_b.C: New.
* g++.dg/modules/tplmem-3_a.C: New.
* g++.dg/modules/tplmem-3_b.C: New.
* g++.dg/modules/ttp-1_a.C: New.
* g++.dg/modules/ttp-1_b.C: New.
* g++.dg/modules/ttp-2_a.C: New.
* g++.dg/modules/ttp-2_b.C: New.
* g++.dg/modules/ttp-3_a.C: New.
* g++.dg/modules/ttp-3_b.C: New.
* g++.dg/modules/typename-1_a.C: New.
* g++.dg/modules/typename-1_b.C: New.
* g++.dg/modules/unnamed-1_a.C: New.
* g++.dg/modules/unnamed-1_b.C: New.
* g++.dg/modules/unnamed-2.C: New.
* g++.dg/modules/used-1_a.H: New.
* g++.dg/modules/used-1_b.H: New.
* g++.dg/modules/used-1_c.C: New.
* g++.dg/modules/using-1_a.C: New.
* g++.dg/modules/using-1_b.C: New.
* g++.dg/modules/using-1_c.C: New.
* g++.dg/modules/using-2_a.C: New.
* g++.dg/modules/using-2_b.C: New.
* g++.dg/modules/using-2_c.C: New.
* g++.dg/modules/using-3.C: New.
* g++.dg/modules/using-4_a.C: New.
* g++.dg/modules/using-4_b.C: New.
* g++.dg/modules/using-5_a.C: New.
* g++.dg/modules/using-5_b.C: New.
* g++.dg/modules/using-6_a.C: New.
* g++.dg/modules/using-6_b.C: New.
* g++.dg/modules/using-7.C: New.
* g++.dg/modules/using-8_a.C: New.
* g++.dg/modules/using-8_b.C: New.
* g++.dg/modules/using-enum-1_a.H: New.
* g++.dg/modules/using-enum-1_b.C: New.
* g++.dg/modules/var-1_a.C: New.
* g++.dg/modules/var-1_b.C: New.
* g++.dg/modules/var-tpl-1_a.C: New.
* g++.dg/modules/var-tpl-1_b.C: New.
* g++.dg/modules/var-tpl-concept-1.h: New.
* g++.dg/modules/var-tpl-concept-1_a.C: New.
* g++.dg/modules/var-tpl-concept-1_b.C: New.
* g++.dg/modules/virt-1_a.C: New.
* g++.dg/modules/virt-1_b.C: New.
* g++.dg/modules/virt-2_a.C: New.
* g++.dg/modules/virt-2_b.C: New.
* g++.dg/modules/virt-2_c.C: New.
* g++.dg/modules/vmort-1_a.C: New.
* g++.dg/modules/vmort-1_b.C: New.
* g++.dg/modules/vmort-2_a.C: New.
* g++.dg/modules/vmort-2_b.C: New.
* g++.dg/modules/vmort-2_c.C: New.
* g++.dg/modules/vtt-1_a.C: New.
* g++.dg/modules/vtt-1_b.C: New.
* g++.dg/modules/vtt-1_c.C: New.
* g++.dg/modules/vtt-2.h: New.
* g++.dg/modules/vtt-2_a.H: New.
* g++.dg/modules/vtt-2_b.C: New.
|