From 13757e50ff0b4e0dccfabc67b1322a2724bf3a5c Mon Sep 17 00:00:00 2001 From: Nathaniel Shead Date: Fri, 12 Jul 2024 22:59:19 +1000 Subject: [PATCH] c++/modules: Add testcase for fixed issue with usings [PR115798] This issue was fixed by r15-2003-gd6bf4b1c932211, but seems worth adding to the testsuite. PR c++/115798 gcc/testsuite/ChangeLog: * g++.dg/modules/using-26_a.C: New test. * g++.dg/modules/using-26_b.C: New test. * g++.dg/modules/using-26_c.C: New test. Signed-off-by: Nathaniel Shead --- gcc/testsuite/g++.dg/modules/using-26_a.C | 15 +++++++++++++++ gcc/testsuite/g++.dg/modules/using-26_b.C | 10 ++++++++++ gcc/testsuite/g++.dg/modules/using-26_c.C | 9 +++++++++ 3 files changed, 34 insertions(+) create mode 100644 gcc/testsuite/g++.dg/modules/using-26_a.C create mode 100644 gcc/testsuite/g++.dg/modules/using-26_b.C create mode 100644 gcc/testsuite/g++.dg/modules/using-26_c.C diff --git a/gcc/testsuite/g++.dg/modules/using-26_a.C b/gcc/testsuite/g++.dg/modules/using-26_a.C new file mode 100644 index 00000000000..adab83d4243 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/using-26_a.C @@ -0,0 +1,15 @@ +// PR c++/115798 +// { dg-additional-options "-fmodules-ts" } +// { dg-module-cmi base } + +module; +#include +export module base; + +export { + using ::int8_t; +} + +export namespace std { + using std::int8_t; +} diff --git a/gcc/testsuite/g++.dg/modules/using-26_b.C b/gcc/testsuite/g++.dg/modules/using-26_b.C new file mode 100644 index 00000000000..06ed599df41 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/using-26_b.C @@ -0,0 +1,10 @@ +// PR c++/115798 +// { dg-additional-options "-fmodules-ts" } +// { dg-module-cmi xstd } + +export module xstd; +import base; + +export namespace std { + using std::int8_t; +} diff --git a/gcc/testsuite/g++.dg/modules/using-26_c.C b/gcc/testsuite/g++.dg/modules/using-26_c.C new file mode 100644 index 00000000000..68f45cacb82 --- /dev/null +++ b/gcc/testsuite/g++.dg/modules/using-26_c.C @@ -0,0 +1,9 @@ +// PR c++/115798 +// { dg-additional-options "-fmodules-ts" } + +import xstd; +import base; + +int main() { + static_assert(__is_same(int8_t, std::int8_t)); +}