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

Reply via email to