diff options
author | Thomas Schwinge <tschwinge@baylibre.com> | 2024-07-17 18:02:50 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@baylibre.com> | 2024-09-05 14:19:07 +0200 |
commit | a1865fd33897bc6c6e0109df0a12ee73ce386315 (patch) | |
tree | f5bf636d6ef9f96dbd3ece0b76f3938aa410624f /gcc | |
parent | d0f02538494ded78cac12c63f5708a53f5a77bda (diff) | |
download | gcc-a1865fd33897bc6c6e0109df0a12ee73ce386315.zip gcc-a1865fd33897bc6c6e0109df0a12ee73ce386315.tar.gz gcc-a1865fd33897bc6c6e0109df0a12ee73ce386315.tar.bz2 |
Add 'g++.target/nvptx/alias-g++.dg_init_dtor2-1.C'
... as one minimized example for the issue that with nvptx '-malias' enabled
(as implemented in commit f8b15e177155960017ac0c5daef8780d1127f91c
"[nvptx] Use .alias directive for mptx >= 6.3"), there are hundreds of
instances of link-time 'unresolved symbol [alias]' across the C++ test suite,
which are regressions compared to a test run with (default) '-mno-alias'.
PR target/104957
gcc/testsuite/
* g++.target/nvptx/alias-g++.dg_init_dtor2-1.C: Add.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.target/nvptx/alias-g++.dg_init_dtor2-1.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.target/nvptx/alias-g++.dg_init_dtor2-1.C b/gcc/testsuite/g++.target/nvptx/alias-g++.dg_init_dtor2-1.C new file mode 100644 index 0000000..747656d --- /dev/null +++ b/gcc/testsuite/g++.target/nvptx/alias-g++.dg_init_dtor2-1.C @@ -0,0 +1,33 @@ +/* Reduced from 'g++.dg/init/dtor2.C'. */ + +/* { dg-do compile } */ +/* { dg-add-options nvptx_alias_ptx } */ +/* { dg-additional-options -save-temps } */ +/* Via the magic string "-std=*++" indicate that testing one (the default) C++ standard is sufficient. */ + +struct B +{ + ~B(); +}; + +B::~B () { +} + +int main() +{ + B b; + return 0; +} + +/* { dg-final { scan-assembler-times {(?n)^// BEGIN GLOBAL FUNCTION DECL: _ZN1BD2Ev$} 1 } } + { dg-final { scan-assembler-times {(?n)^\.visible \.func _ZN1BD2Ev \(\.param\.u64 %in_ar0\);$} 1 } } + { dg-final { scan-assembler-times {(?n)^// BEGIN GLOBAL FUNCTION DEF: _ZN1BD2Ev$} 1 } } + { dg-final { scan-assembler-times {(?n)^\.visible \.func _ZN1BD2Ev \(\.param\.u64 %in_ar0\)$} 1 } } */ + +/* { dg-final { scan-assembler-times {(?n)^// BEGIN GLOBAL FUNCTION DECL: _ZN1BD1Ev$} 1 } } + { dg-final { scan-assembler-times {(?n)^\.visible \.func _ZN1BD1Ev \(\.param\.u64 %in_ar0\);$} 1 } } + { dg-final { scan-assembler-times {(?n)^// BEGIN GLOBAL FUNCTION DEF: _ZN1BD1Ev$} 1 { xfail *-*-* } } } + { dg-final { scan-assembler-times {(?n)^\.alias _ZN1BD1Ev,_ZN1BD2Ev;$} 1 } } */ + +/* { dg-final { scan-assembler-times {(?n)\tcall _ZN1BD1Ev, \(} 1 } } + { dg-final { scan-assembler-times {(?n)\tcall _ZN1BD2Ev, \(} 0 } } */ |