https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99496

--- Comment #8 from seurer at gcc dot gnu.org ---
seurer@marlin:~/gcc/git/build/gcc-test/gcc/testsuite$
/home3/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++7/../../xg++
-B/home3/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++7/../../
/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H
-fdiagnostics-plain-output -nostdinc++
-I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu
-I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/libsupc++
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/include/backward
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/testsuite/util -fmessage-length=0
-std=c++17 -pedantic-errors -Wno-long-long -fmodule-header -S -o
xtreme-header-3_a.s --save-temps

seurer@marlin:~/gcc/git/build/gcc-test/gcc/testsuite$
/home3/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++7/../../xg++
-B/home3/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++7/../../
/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_b.C
-fdiagnostics-plain-output -nostdinc++
-I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu
-I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/libsupc++
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/include/backward
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/testsuite/util -fmessage-length=0
-std=c++17 -pedantic-errors -Wno-long-long -fmodules-ts -fno-module-lazy -S -o
xtreme-header-3_b.s --save-temps

seurer@marlin:~/gcc/git/build/gcc-test/gcc/testsuite$
/home3/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++7/../../xg++
-B/home3/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++7/../../
/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_c.C
-fdiagnostics-plain-output -nostdinc++
-I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu
-I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/libsupc++
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/include/backward
-I/home/seurer/gcc/git/gcc-test/libstdc++-v3/testsuite/util -fmessage-length=0
-std=c++17 -pedantic-errors -Wno-long-long -fmodules-ts -fno-module-lazy -S -o
xtreme-header-3_c.s --save-temps
/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_c.C:3:90:
internal compiler error: same canonical type node for different types 'void'
and 'std::__void_t<typename _Tp::allocator_type>'
0x106bbb83 comptypes(tree_node*, tree_node*, int)
        /home/seurer/gcc/git/gcc-test/gcc/cp/typeck.c:1554
0x10595bdf template_args_equal(tree_node*, tree_node*, bool)
        /home/seurer/gcc/git/gcc-test/gcc/cp/pt.c:9207
0x105954cf comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**,
bool)
        /home/seurer/gcc/git/gcc-test/gcc/cp/pt.c:9254
0x105a687b spec_hasher::equal(spec_entry*, spec_entry*)
        /home/seurer/gcc/git/gcc-test/gcc/cp/pt.c:1725
0x1062ed4b hash_table<spec_hasher, false, xcallocator>::verify(spec_entry*
const&, unsigned int)
        /home/seurer/gcc/git/gcc-test/gcc/hash-table.h:1032
0x1062f56f hash_table<spec_hasher, false,
xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int,
insert_option)
        /home/seurer/gcc/git/gcc-test/gcc/hash-table.h:968
0x105b1acf add_mergeable_specialization(bool, spec_entry*, tree_node*, unsigned
int)
        /home/seurer/gcc/git/gcc-test/gcc/cp/pt.c:30018
0x104c34db trees_in::decl_value()
        /home/seurer/gcc/git/gcc-test/gcc/cp/module.cc:8068
0x104c5247 trees_in::tree_node(bool)
        /home/seurer/gcc/git/gcc-test/gcc/cp/module.cc:9174
0x104d1dbb module_state::read_cluster(unsigned int)
        /home/seurer/gcc/git/gcc-test/gcc/cp/module.cc:14858
0x104d22a3 module_state::load_section(unsigned int, binding_slot*)
        /home/seurer/gcc/git/gcc-test/gcc/cp/module.cc:18125
0x104d396f module_state::read_language(bool)
        /home/seurer/gcc/git/gcc-test/gcc/cp/module.cc:18054
0x104d3deb direct_import
        /home/seurer/gcc/git/gcc-test/gcc/cp/module.cc:18916
0x1055a057 cp_parser_import_declaration
        /home/seurer/gcc/git/gcc-test/gcc/cp/parser.c:13868
0x1058002b cp_parser_translation_unit
        /home/seurer/gcc/git/gcc-test/gcc/cp/parser.c:4905
0x1058002b c_parse_file()
        /home/seurer/gcc/git/gcc-test/gcc/cp/parser.c:45241
0x1077dadb c_common_parse_file()
        /home/seurer/gcc/git/gcc-test/gcc/c-family/c-opts.c:1218

Looking at the 3 .ii files the above created the last one is just

# 0
"/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_c.C"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 0 "<command-line>" 2
# 1
"/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_c.C"


import 
"/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H";


going further...

seurer@marlin:~/gcc/git/build/gcc-test/gcc/testsuite$ cat
/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H
// { dg-additional-options -fmodule-header }

// { dg-module-cmi {} }
#include "xtreme-header-3.h"

seurer@marlin:~/gcc/git/build/gcc-test/gcc/testsuite$ cat
/home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/modules/xtreme-header-3.h
// Containers (except ranges-including ones)

#include <array>
#include <bitset>
#include <deque>
#include <forward_list>
#include <initializer_list>
#include <iterator>
#include <list>
#include <map>
#include <optional>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <string_view>
#include <tuple>
#include <unordered_map>
#include <unordered_set>
#include <variant>
#include <vector>

I am attaching all the .ii files and the .H/.h files.

Reply via email to