summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr39139.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr39139.c')
-rw-r--r--gcc/testsuite/gcc.target/i386/pr39139.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr39139.c b/gcc/testsuite/gcc.target/i386/pr39139.c
index 95ea7fda9ba..e4cb845f9ec 100644
--- a/gcc/testsuite/gcc.target/i386/pr39139.c
+++ b/gcc/testsuite/gcc.target/i386/pr39139.c
@@ -12,22 +12,24 @@
# define SI_REG asm ("esi")
#endif
+__extension__ typedef __SIZE_TYPE__ size_t;
+
static inline int
foo (unsigned int x, void *y)
{
- register unsigned long r AX_REG;
- register unsigned long a1 DI_REG;
- register unsigned long a2 SI_REG;
- a1 = (unsigned long) x;
- a2 = (unsigned long) y;
+ register size_t r AX_REG;
+ register size_t a1 DI_REG;
+ register size_t a2 SI_REG;
+ a1 = (size_t) x;
+ a2 = (size_t) y;
asm volatile ("" : "=r" (r), "+r" (a1), "+r" (a2) : : "memory");
return (int) r;
}
-struct T { unsigned long t1, t2; unsigned int t3, t4, t5; };
+struct T { size_t t1, t2; unsigned int t3, t4, t5; };
int
-bar (unsigned long x, unsigned int y, unsigned long u, unsigned int v)
+bar (size_t x, unsigned int y, size_t u, unsigned int v)
{
long r;
struct T e = { .t1 = x, .t2 = u };