[PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
authorAlexandre Oliva <oliva@adacore.com>
Fri, 24 Feb 2023 14:31:05 +0000 (11:31 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Fri, 24 Feb 2023 14:31:05 +0000 (11:31 -0300)
g++.dg/modules/virt-2_a.C fails on arm-eabi and many other arm targets
that use the AAPCS variant.  ARM is the only target that overrides
TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.  It's not clear to me which way
the clash between AAPCS and C++ Modules design should be resolved, but
currently it favors AAPCS and thus the test fails, so skip it on
arm_eabi.

for  gcc/testsuite/ChangeLog

PR c++/105224
* g++.dg/modules/virt-2_a.C: Skip on arm_eabi.

gcc/testsuite/g++.dg/modules/virt-2_a.C

index 580552b..b505044 100644 (file)
@@ -1,3 +1,6 @@
+// AAPCS overrides TARGET_CXX_KEY_METHOD_MAY_BE_INLINE,
+// in a way that invalidates this test.
+// { dg-skip-if "!TARGET_CXX_KEY_METHOD_MAY_BE_INLINE" { arm_eabi } } 
 // { dg-module-do run }
 // { dg-additional-options -fmodules-ts }
 export module foo;