From d76c343d6a6295a8cc612fc19a99156aa0976180 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 28 Apr 2023 08:53:00 +0200 Subject: [PATCH] testsuite/C++: suppress filename canonicalization in module tests The pathname underneath gcm.cache/ is determined from the effective name used for the main input file of a particular module. When modules are built, no canonicalization occurs for the main input file. Hence the module file wouldn't be found if a different (the canonicalized) file name was used when importing that same module. (This is an effect of importing happening in the preprocessor, just like #include handling.) Since it doesn't look easy to make module generation use libcpp's maybe_shorter_path() (in fact I'd consider this a layering violation, while cloning the logic would - at least in principle - be prone to both going out of sync), simply suppress system header path canonicalization for the respective tests. gcc/testsuite/ * g++.dg/modules/alias-1_b.C: Add -fno-canonical-system-headers. * g++.dg/modules/alias-1_d.C: Likewise. * g++.dg/modules/alias-1_e.C: Likewise. * g++.dg/modules/alias-1_f.C: Likewise. * g++.dg/modules/cpp-6_c.C: Likewise. * g++.dg/modules/dir-only-2_b.C: Likewise. --- gcc/testsuite/g++.dg/modules/alias-1_b.C | 2 +- gcc/testsuite/g++.dg/modules/alias-1_d.C | 2 +- gcc/testsuite/g++.dg/modules/alias-1_e.C | 2 +- gcc/testsuite/g++.dg/modules/alias-1_f.C | 2 +- gcc/testsuite/g++.dg/modules/cpp-6_c.C | 2 +- gcc/testsuite/g++.dg/modules/dir-only-2_b.C | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/g++.dg/modules/alias-1_b.C b/gcc/testsuite/g++.dg/modules/alias-1_b.C index b3d7c2df3537..1a5c6aa85e6a 100644 --- a/gcc/testsuite/g++.dg/modules/alias-1_b.C +++ b/gcc/testsuite/g++.dg/modules/alias-1_b.C @@ -1,4 +1,4 @@ -// { dg-additional-options "-fmodules-ts -fdump-lang-module -isystem [srcdir]" } +// { dg-additional-options "-fmodules-ts -fdump-lang-module -isystem [srcdir] -fno-canonical-system-headers" } // Alias at the header file. We have one CMI file import "alias-1_a.H"; diff --git a/gcc/testsuite/g++.dg/modules/alias-1_d.C b/gcc/testsuite/g++.dg/modules/alias-1_d.C index 9b481e5b1852..3ed74ee90061 100644 --- a/gcc/testsuite/g++.dg/modules/alias-1_d.C +++ b/gcc/testsuite/g++.dg/modules/alias-1_d.C @@ -1,4 +1,4 @@ -// { dg-additional-options "-fmodules-ts -isystem [srcdir]" } +// { dg-additional-options "-fmodules-ts -isystem [srcdir] -fno-canonical-system-headers" } // { dg-module-cmi kevin } export module kevin; diff --git a/gcc/testsuite/g++.dg/modules/alias-1_e.C b/gcc/testsuite/g++.dg/modules/alias-1_e.C index 862ae32882f7..2abcb9b91425 100644 --- a/gcc/testsuite/g++.dg/modules/alias-1_e.C +++ b/gcc/testsuite/g++.dg/modules/alias-1_e.C @@ -1,4 +1,4 @@ -// { dg-additional-options "-fmodules-ts -isystem [srcdir]" } +// { dg-additional-options "-fmodules-ts -isystem [srcdir] -fno-canonical-system-headers" } import bob; import kevin; diff --git a/gcc/testsuite/g++.dg/modules/alias-1_f.C b/gcc/testsuite/g++.dg/modules/alias-1_f.C index 4c694d1a903d..ac30a6b24e73 100644 --- a/gcc/testsuite/g++.dg/modules/alias-1_f.C +++ b/gcc/testsuite/g++.dg/modules/alias-1_f.C @@ -1,4 +1,4 @@ -// { dg-additional-options "-fmodules-ts -fdump-lang-module -isystem [srcdir]" } +// { dg-additional-options "-fmodules-ts -fdump-lang-module -isystem [srcdir] -fno-canonical-system-headers" } import kevin; import bob; diff --git a/gcc/testsuite/g++.dg/modules/cpp-6_c.C b/gcc/testsuite/g++.dg/modules/cpp-6_c.C index f9b1e2d68b79..2a34bb87ee4b 100644 --- a/gcc/testsuite/g++.dg/modules/cpp-6_c.C +++ b/gcc/testsuite/g++.dg/modules/cpp-6_c.C @@ -1,5 +1,5 @@ // { dg-do preprocess } -// { dg-additional-options "-fmodules-ts -isystem [srcdir]" } +// { dg-additional-options "-fmodules-ts -isystem [srcdir] -fno-canonical-system-headers" } #define empty #define nop(X) X diff --git a/gcc/testsuite/g++.dg/modules/dir-only-2_b.C b/gcc/testsuite/g++.dg/modules/dir-only-2_b.C index 0691f76ae36f..1009ae5b3a26 100644 --- a/gcc/testsuite/g++.dg/modules/dir-only-2_b.C +++ b/gcc/testsuite/g++.dg/modules/dir-only-2_b.C @@ -1,5 +1,5 @@ // { dg-do preprocess } -// { dg-additional-options "-fmodules-ts -fdirectives-only -isystem [srcdir]" } +// { dg-additional-options "-fmodules-ts -fdirectives-only -isystem [srcdir] -fno-canonical-system-headers" } // a comment module; // line frob -- 2.47.2