Similar to the existing ptr32plus, add a proc returning whether the
target uses 64-bit or larger pointers. It can be useful immediately in
the CTF testsuite, and likely elsewhere.
Tested on x86_64-pc-linux-gnu and with cross for arm-eabi cortex-m3
in the CTF testsuite.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_ptr64plus): New.
* gcc.dg/debug/ctf/ctf-array-7.c: Use it here.
Suggested-by: Andrew Pinski <[email protected]>
---
gcc/testsuite/gcc.dg/debug/ctf/ctf-array-7.c | 2 +-
gcc/testsuite/lib/target-supports.exp | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/gcc/testsuite/gcc.dg/debug/ctf/ctf-array-7.c
b/gcc/testsuite/gcc.dg/debug/ctf/ctf-array-7.c
index f064f6fa5fe..a2ff967afdb 100644
--- a/gcc/testsuite/gcc.dg/debug/ctf/ctf-array-7.c
+++ b/gcc/testsuite/gcc.dg/debug/ctf/ctf-array-7.c
@@ -6,7 +6,7 @@
represented. Arrays with too many elements are encoded with
CTF_K_UNKNOWN to indicate that they cannot be represented. */
-/* { dg-do compile { target { lp64 || llp64 } } } */
+/* { dg-do compile { target ptr64plus } } */
/* { dg-options "-O0 -gctf -dA" } */
int rep[0xffffffff];
diff --git a/gcc/testsuite/lib/target-supports.exp
b/gcc/testsuite/lib/target-supports.exp
index 2ab405a1513..9aa795f7030 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3928,6 +3928,15 @@ proc check_effective_target_ptr32plus { } {
}]
}
+# Return 1 if we're generating 64-bit or larger pointers using default
+# options, 0 otherwise.
+
+proc check_effective_target_ptr64plus { } {
+ return [check_no_compiler_messages ptr64plus object {
+ int dummy[sizeof (void *) >= 8 ? 1 : -1];
+ }]
+}
+
# Return 1 if we support 16-bit or larger array and structure sizes
# using default options, 0 otherwise.
# This implies at least a 20-bit address space, as no targets have an address
--
2.47.2