From 9748d369e2cfc2b8edca9fa81127601aada23a23 Mon Sep 17 00:00:00 2001 From: Robin Dapp Date: Wed, 10 Dec 2025 09:19:39 +0100 Subject: RISC-V: Move pr123074.C to g++.target. Andrew noticed that I added a c++ file to the wrong dir. This patch corrects it. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/pr123074.C: Move to... * g++.target/riscv/rvv/autovec/pr123074.C: ...here. * gcc.target/riscv/rvv/rvv.exp: Remove 'C'. --- .../g++.target/riscv/rvv/autovec/pr123074.C | 124 +++++++++++++++++++++ .../gcc.target/riscv/rvv/autovec/pr123074.C | 124 --------------------- gcc/testsuite/gcc.target/riscv/rvv/rvv.exp | 2 +- 3 files changed, 125 insertions(+), 125 deletions(-) create mode 100644 gcc/testsuite/g++.target/riscv/rvv/autovec/pr123074.C delete mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/pr123074.C (limited to 'gcc') diff --git a/gcc/testsuite/g++.target/riscv/rvv/autovec/pr123074.C b/gcc/testsuite/g++.target/riscv/rvv/autovec/pr123074.C new file mode 100644 index 0000000..d203477 --- /dev/null +++ b/gcc/testsuite/g++.target/riscv/rvv/autovec/pr123074.C @@ -0,0 +1,124 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -march=rv64gcv_zvl256b -mabi=lp64d -mrvv-vector-bits=zvl -mrvv-max-lmul=m2 -fpermissive -Wno-return-type" } */ + +namespace std { +template _Iterator __miter_base(_Iterator); +template class> +struct __detector { + using type = _Default; +}; +template class _Op> +using __detected_or = __detector<_Default, void, _Op>; +template class _Op> +using __detected_or_t = typename __detected_or<_Default, _Op>::type; +template class allocator { +public: + typedef _Tp value_type; +}; +template struct pointer_traits { + template using rebind = _Up *; +}; +} // namespace std +namespace __gnu_cxx { +template class __normal_iterator { +public: + _Iterator base(); +}; +} // namespace __gnu_cxx +namespace std { +template +void __assign_one(_OutIter __out, _InIter __in) { + *__out = *__in; +} +template +__copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) { /* { dg-warning "with no type" "" } */ + while (__first != __last) { + --__last; + --__result; + __assign_one<_IsMove>(__result, __last); + } +} +template +__copy_move_backward_a1(_BI1 __first, _BI1 __last, _BI2 __result) { /* { dg-warning "with no type" "" } */ + __copy_move_backward_a2<_IsMove>(__first, __last, __result); +} +template +__copy_move_backward_a(_II __first, _II __last, _OI __result) { /* { dg-warning "with no type" "" } */ + __copy_move_backward_a1<_IsMove>(__first, __last, __result); +} +template +move_backward(_BI1 __first, _BI1 __last, _BI2 __result) { /* { dg-warning "with no type" "" } */ + __copy_move_backward_a(__first, __miter_base(__last), __result); +} +struct __allocator_traits_base { + template using __pointer = typename _Tp::pointer; + template using __c_pointer = typename _Tp::const_pointer; +}; +template struct allocator_traits : __allocator_traits_base { + typedef typename _Alloc::value_type value_type; + using pointer = __detected_or_t; + template