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.

Should we skip the test on ARM, XFAIL it, or put in some kludge like
the patchlet below?


diff --git a/gcc/testsuite/g++.dg/modules/virt-2_a.C 
b/gcc/testsuite/g++.dg/modules/virt-2_a.C
index 9115cc19cc286..40f30137f0086 100644
--- a/gcc/testsuite/g++.dg/modules/virt-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/virt-2_a.C
@@ -10,7 +10,9 @@ export struct Visitor
 
 // Key function explicitly inline (regardless of p1779's state)
 // We emit vtables & rtti only in this TU
+#if !__ARM_EABI__
 inline // Yoink!
+#endif
   int Visitor::Visit ()
 {
   return 0;


-- 
Alexandre Oliva, happy hacker                https://FSFLA.org/blogs/lxo/
   Free Software Activist                       GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts.  Ask me about <https://stallmansupport.org>

Reply via email to