https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114630
Bug ID: 114630 Summary: [modules] building module with submodule causes corrupt gcm Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: nickbegg at gmail dot com Target Milestone: --- Building module code with a submodule produces - failed to load pendings for ‘std::__format::__formatter_int’ This is similar to PR99426. Using test code very similar to PR113930 and PR114229. this is compiling with a trunk debug gcc, with the patch proposed for PR99426 applied. % /home/nick/inst/gcc-trunk-debug/bin/g++ --version g++ (GCC) 14.0.1 20240405 (experimental) Test code - // modA.mpp module; #include <format> export module modA; import modB; // modB.mpp module; #include <format> export module modB; // main.cpp #include <format> import modA; // Compiling trips over when loading modA when compiling main.cpp. Output - modB.mpp: /home/nick/inst/gcc-trunk-debug/bin/g++ -g -std=gnu++23 -Wall -Wextra -freport-bug --param=ggc-min-expand=10000 -MD -MT CMakeFiles/moduleMin.dir/modB.mpp.o -MF CMakeFiles/moduleMin.dir/modB.mpp.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/moduleMin.dir/modB.mpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/moduleMin.dir/modB.mpp.o -c /home/nick/src/moduleMin/modB.mpp modA.mpp: /home/nick/inst/gcc-trunk-debug/bin/g++ -g -std=gnu++23 -Wall -Wextra -freport-bug --param=ggc-min-expand=10000 -MD -MT CMakeFiles/moduleMin.dir/modA.mpp.o -MF CMakeFiles/moduleMin.dir/modA.mpp.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/moduleMin.dir/modA.mpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/moduleMin.dir/modA.mpp.o -c /home/nick/src/moduleMin/modA.mpp main.cpp: /home/nick/inst/gcc-trunk-debug/bin/g++ -g -std=gnu++23 -Wall -Wextra -freport-bug --param=ggc-min-expand=10000 -MD -MT CMakeFiles/moduleMin.dir/main.cpp.o -MF CMakeFiles/moduleMin.dir/main.cpp.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/moduleMin.dir/main.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/moduleMin.dir/main.cpp.o -c /home/nick/src/moduleMin/main.cpp In module imported at /home/nick/src/moduleMin/main.cpp:3:1: modA: error: failed to read compiled module cluster 3008: Bad file data modA: note: compiled module file is ‘CMakeFiles/moduleMin.dir/modA.gcm’ modA: error: failed to read compiled module cluster 3009: Bad file data In file included from /home/nick/src/moduleMin/main.cpp:1: /home/nick/inst/gcc-trunk-debug/include/c++/14.0.1/format:1899:35: fatal error: failed to load pendings for ‘std::__format::__formatter_int’ 1899 | return _M_f._M_parse<char>(__pc); | ~~~~~~~~~~~~~~~~~~~^~~~~~ compilation terminated.