public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
@ 2023-02-23 14:26 Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2023-02-23 14:26 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:d1500a90fa9a3f56a7275206a61f622c1ca4abeb

commit d1500a90fa9a3f56a7275206a61f622c1ca4abeb
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Thu Feb 23 11:01:30 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, so skip it on
    arm_eabi.
    
    
    for  gcc/testsuite/ChangeLog
    
            PR c++/105224
            * g++.dg/modules/virt-2_a.C: Skip on arm_eabi.

Diff:
---
 gcc/testsuite/g++.dg/modules/virt-2_a.C | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/g++.dg/modules/virt-2_a.C b/gcc/testsuite/g++.dg/modules/virt-2_a.C
index 580552be5a0..8fa42d97d72 100644
--- a/gcc/testsuite/g++.dg/modules/virt-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/virt-2_a.C
@@ -1,4 +1,6 @@
-// { dg-module-do run }
+// AAPCS overrides TARGET_CXX_KEY_METHOD_MAY_BE_INLINE,
+// in a way that invalidates this test.
+// { dg-module-do run { target { ! arm_eabi } } }
 // { dg-additional-options -fmodules-ts }
 export module foo;
 // { dg-module-cmi foo }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
@ 2023-02-23 14:02 Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2023-02-23 14:02 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:bd8534f63df04cc3fc89e4f03c79ed93c5e6474e

commit bd8534f63df04cc3fc89e4f03c79ed93c5e6474e
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Thu Feb 23 11:01:30 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, so skip it on
    arm_eabi.
    
    
    for  gcc/testsuite/ChangeLog
    
            PR c++/105224
            * g++.dg/modules/virt-2_a.C: Skip on arm_eabi.

Diff:
---
 gcc/testsuite/g++.dg/modules/virt-2_a.C | 10 ++++++----
 1 file changed, 6 insertions(+), 4 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..8f9ede3427d 100644
--- a/gcc/testsuite/g++.dg/modules/virt-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/virt-2_a.C
@@ -1,4 +1,6 @@
-// { dg-module-do run }
+// AAPCS overrides TARGET_CXX_KEY_METHOD_MAY_BE_INLINE,
+// in a way that invalidates this test.
+// { dg-module-do run { target { ! arm_eabi } } }
 // { dg-additional-options -fmodules-ts }
 export module foo;
 // { dg-module-cmi foo }
@@ -22,6 +24,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:} }
+// { dg-final { scan-assembler {_ZTIW3foo7Visitor:} }
+// { dg-final { scan-assembler {_ZTSW3foo7Visitor:} }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
@ 2023-02-23 13:57 Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2023-02-23 13:57 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:029804ffbe848dd6add65d72a7847d9f4545fed7

commit 029804ffbe848dd6add65d72a7847d9f4545fed7
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Thu Feb 23 10:31:30 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, so skip it on
    arm_eabi.
    
    
    for  gcc/testsuite/ChangeLog
    
            PR c++/105224
            * g++.dg/modules/virt-2_a.C: Skip on arm_eabi.

Diff:
---
 gcc/testsuite/g++.dg/modules/virt-2_a.C | 10 ++++++----
 1 file changed, 6 insertions(+), 4 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..8f9ede3427d 100644
--- a/gcc/testsuite/g++.dg/modules/virt-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/virt-2_a.C
@@ -1,4 +1,6 @@
-// { dg-module-do run }
+// AAPCS overrides TARGET_CXX_KEY_METHOD_MAY_BE_INLINE,
+// in a way that invalidates this test.
+// { dg-module-do run { target { ! arm_eabi } } }
 // { dg-additional-options -fmodules-ts }
 export module foo;
 // { dg-module-cmi foo }
@@ -22,6 +24,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:} }
+// { dg-final { scan-assembler {_ZTIW3foo7Visitor:} }
+// { dg-final { scan-assembler {_ZTSW3foo7Visitor:} }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
@ 2023-02-23 13:49 Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2023-02-23 13:49 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:112138b0de8fdfd0b3b0bbe2f329990721a4c7a6

commit 112138b0de8fdfd0b3b0bbe2f329990721a4c7a6
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Thu Feb 23 10:31:30 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, so skip it on
    arm_eabi.
    
    
    for  gcc/testsuite/ChangeLog
    
            PR c++/105224
            * g++.dg/modules/virt-2_a.C: Skip on arm_eabi.

Diff:
---
 gcc/testsuite/g++.dg/modules/virt-2_a.C | 10 ++++++----
 1 file changed, 6 insertions(+), 4 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..8f9ede3427d 100644
--- a/gcc/testsuite/g++.dg/modules/virt-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/virt-2_a.C
@@ -1,4 +1,6 @@
-// { dg-module-do run }
+// AAPCS overrides TARGET_CXX_KEY_METHOD_MAY_BE_INLINE,
+// in a way that invalidates this test.
+// { dg-module-do run { target { ! arm_eabi } } }
 // { dg-additional-options -fmodules-ts }
 export module foo;
 // { dg-module-cmi foo }
@@ -22,6 +24,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:} }
+// { dg-final { scan-assembler {_ZTIW3foo7Visitor:} }
+// { dg-final { scan-assembler {_ZTSW3foo7Visitor:} }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
@ 2023-02-23 13:27 Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2023-02-23 13:27 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9bd607ecf8cab3f79f73b5a682df4c331b7e67c5

commit 9bd607ecf8cab3f79f73b5a682df4c331b7e67c5
Author: Alexandre Oliva <oliva@adacore.com>
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, so skip it on
    arm_eabi.
    
    
    for  gcc/testsuite/ChangeLog
    
            PR c++/105224
            * g++.dg/modules/virt-2_a.C: Skip on arm_eabi.

Diff:
---
 gcc/testsuite/g++.dg/modules/virt-2_a.C | 10 ++++++----
 1 file changed, 6 insertions(+), 4 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..8f9ede3427d 100644
--- a/gcc/testsuite/g++.dg/modules/virt-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/virt-2_a.C
@@ -1,4 +1,6 @@
-// { dg-module-do run }
+// AAPCS overrides TARGET_CXX_KEY_METHOD_MAY_BE_INLINE,
+// in a way that invalidates this test.
+// { dg-module-do run { target { ! arm_eabi } } }
 // { dg-additional-options -fmodules-ts }
 export module foo;
 // { dg-module-cmi foo }
@@ -22,6 +24,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:} }
+// { dg-final { scan-assembler {_ZTIW3foo7Visitor:} }
+// { dg-final { scan-assembler {_ZTSW3foo7Visitor:} }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
@ 2023-02-22 17:24 Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2023-02-22 17:24 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:733a97107a0916bee811eb1441bcf6a1936e08e2

commit 733a97107a0916bee811eb1441bcf6a1936e08e2
Author: Alexandre Oliva <oliva@adacore.com>
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 } } } }

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods
@ 2023-02-16 11:12 Alexandre Oliva
  0 siblings, 0 replies; 7+ messages in thread
From: Alexandre Oliva @ 2023-02-16 11:12 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:245f28684655f44ee8334594dfedf962fc37e8f5

commit 245f28684655f44ee8334594dfedf962fc37e8f5
Author: Alexandre Oliva <oliva@adacore.com>
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*-*-*.
    
    
    for  gcc/testsuite/ChangeLog
    
            PR c++/105224
            * g++.dg/modules/virt-2_a.C: XFAIL syms on arm*-*-*.

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..b265515e2c7 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*-*-* } } }
+// { dg-final { scan-assembler {_ZTIW3foo7Visitor:} { xfail arm*-*-* } } }
+// { dg-final { scan-assembler {_ZTSW3foo7Visitor:} { xfail arm*-*-* } } }

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-02-23 14:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-23 14:26 [gcc(refs/users/aoliva/heads/testme)] [PR105224] C++ modules and AAPCS/ARM EABI clash on inline key methods Alexandre Oliva
  -- strict thread matches above, loose matches on Subject: below --
2023-02-23 14:02 Alexandre Oliva
2023-02-23 13:57 Alexandre Oliva
2023-02-23 13:49 Alexandre Oliva
2023-02-23 13:27 Alexandre Oliva
2023-02-22 17:24 Alexandre Oliva
2023-02-16 11:12 Alexandre Oliva

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).