Ensure sp variable is long enough by using __UINTPTR_TYPE__ for
rsp.
Attached patch okay? Changes unsigned long to __UINTPTR_TYPE__.
From 8b5e79e1345d99ec6d3595013a20a9c672edb403 Mon Sep 17 00:00:00 2001
From: Jonathan Yong <10wa...@gmail.com>
Date: Wed, 31 Jan 2024 13:31:30 +0000
Subject: [PATCH] uninit-pr108968-register.c: use __UINTPTR_TYPE__ for LLP64
Ensure sp variable is long enough by using __UINTPTR_TYPE__ for
rsp.
gcc/testsuite/ChangeLog:
* c-c++-common/analyzer/uninit-pr108968-register.c:
Use __UINTPTR_TYPE__ instead of unsigned long for LLP64.
---
gcc/testsuite/c-c++-common/analyzer/uninit-pr108968-register.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/testsuite/c-c++-common/analyzer/uninit-pr108968-register.c b/gcc/testsuite/c-c++-common/analyzer/uninit-pr108968-register.c
index a76c09e7b14..e9a1c21990b 100644
--- a/gcc/testsuite/c-c++-common/analyzer/uninit-pr108968-register.c
+++ b/gcc/testsuite/c-c++-common/analyzer/uninit-pr108968-register.c
@@ -4,6 +4,6 @@
struct cpu_info {};
struct cpu_info *get_cpu_info(void)
{
- register unsigned long sp asm("rsp");
+ register __UINTPTR_TYPE__ sp asm("rsp");
return (struct cpu_info *)((sp | (STACK_SIZE - 1)) + 1) - 1; /* { dg-bogus "use of uninitialized value 'sp'" } */
}
--
2.43.0