The ':' is reserved in filenames on Windows. Can't find any specification for this, but when there is no filename defined in the map file, GCC will replace the ':' with a '-' in the generated filename for the module.
Without this patch, the test case failes with: .../ben-1_a.C:4:8: error: failed to write compiled module: Invalid argument .../ben-1_a.C:4:8: note: compiled module file is 'partitions/module:import.mod' gcc/testsuite: * g++.dg/modules/ben-1.map: Replace the colon with dash. * g++.dg/modules/ben-1_a.C: Likewise Co-Authored-By: Yvan ROUX <yvan.r...@foss.st.com> Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> --- gcc/testsuite/g++.dg/modules/ben-1.map | 2 +- gcc/testsuite/g++.dg/modules/ben-1_a.C | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/g++.dg/modules/ben-1.map b/gcc/testsuite/g++.dg/modules/ben-1.map index 182183ad089..ad84c11397d 100644 --- a/gcc/testsuite/g++.dg/modules/ben-1.map +++ b/gcc/testsuite/g++.dg/modules/ben-1.map @@ -1,3 +1,3 @@ $root . -module:import partitions/module:import.mod +module:import partitions/module-import.mod module module.mod diff --git a/gcc/testsuite/g++.dg/modules/ben-1_a.C b/gcc/testsuite/g++.dg/modules/ben-1_a.C index 7e9b5661026..f1562eb2c5a 100644 --- a/gcc/testsuite/g++.dg/modules/ben-1_a.C +++ b/gcc/testsuite/g++.dg/modules/ben-1_a.C @@ -2,7 +2,7 @@ // { dg-additional-files ben-1.map } export module module:import; -// { dg-module-cmi =partitions/module:import.mod } +// { dg-module-cmi =partitions/module-import.mod } export int b() { return 0; -- 2.25.1