From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2140) id 50FA93858020; Wed, 22 Feb 2023 17:24:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 50FA93858020 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1677086640; bh=iaXjZWV2YNueokS51qB6woDTJMOR9TZK2FzNS8mSAmY=; h=From:To:Subject:Date:From; b=y8IG2GiODtwyGXZLU+TMU6OjYANEaAZnK2OwOUw3TpdL0tOsVRHJVEdmJ11N6XNGw 6A+E889286u1AhMUXlV8XLAyDoOq+mL1oIlswxxtAfxNGXDBQJWQkPUTS6xqrD2cHT y8L6bHgAAboJhP2StueTnFtFM1ohleHTLxqZPppM= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Alexandre Oliva To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods X-Act-Checkin: gcc X-Git-Author: Alexandre Oliva X-Git-Refname: refs/users/aoliva/heads/testme X-Git-Oldrev: b1da436e929a6219c1bb4962463e5c6877cd36af X-Git-Newrev: 733a97107a0916bee811eb1441bcf6a1936e08e2 Message-Id: <20230222172400.50FA93858020@sourceware.org> Date: Wed, 22 Feb 2023 17:24:00 +0000 (GMT) List-Id: https://gcc.gnu.org/g:733a97107a0916bee811eb1441bcf6a1936e08e2 commit 733a97107a0916bee811eb1441bcf6a1936e08e2 Author: Alexandre Oliva Date: Thu Feb 16 06:35:35 2023 -0300 [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods 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. Skipping the test or conditionally dropping the inline keyword breaks subsequent tests, so I'm XFAILing the expectation that vtable and rtti symbols are output on arm_eabi targets. for gcc/testsuite/ChangeLog PR c++/105224 * g++.dg/modules/virt-2_a.C: XFAIL syms on arm_eabi. Diff: --- gcc/testsuite/g++.dg/modules/virt-2_a.C | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/g++.dg/modules/virt-2_a.C b/gcc/testsuite/g++.dg/modules/virt-2_a.C index 580552be5a0..f5d68878f50 100644 --- a/gcc/testsuite/g++.dg/modules/virt-2_a.C +++ b/gcc/testsuite/g++.dg/modules/virt-2_a.C @@ -22,6 +22,6 @@ export int Visit (Visitor *v) } // Emit here -// { dg-final { scan-assembler {_ZTVW3foo7Visitor:} } } -// { dg-final { scan-assembler {_ZTIW3foo7Visitor:} } } -// { dg-final { scan-assembler {_ZTSW3foo7Visitor:} } } +// { dg-final { scan-assembler {_ZTVW3foo7Visitor:} { xfail { arm_eabi } } } } +// { dg-final { scan-assembler {_ZTIW3foo7Visitor:} { xfail { arm_eabi } } } } +// { dg-final { scan-assembler {_ZTSW3foo7Visitor:} { xfail { arm_eabi } } } }