diff options
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr69171-1.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr69171-2.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr69171-3.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr69171-4.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr69171-5.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr69171-6.c | 12 |
6 files changed, 74 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr69171-1.c b/gcc/testsuite/gcc.target/i386/pr69171-1.c new file mode 100644 index 00000000000..0b92c22b61f --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr69171-1.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -msse2 -mno-avx -mfpmath=sse" } */ + +#pragma pack(2) +struct { + int n; +} a; +extern void fn2 (float); +void +fn1 () +{ + fn2 (a.n); +} diff --git a/gcc/testsuite/gcc.target/i386/pr69171-2.c b/gcc/testsuite/gcc.target/i386/pr69171-2.c new file mode 100644 index 00000000000..80e1a097f20 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr69171-2.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -msse2 -mno-avx -mfpmath=sse" } */ + +#pragma pack(2) +struct { + long long int n; +} a; +extern void fn2 (float); +void +fn1 () +{ + fn2 (a.n); +} diff --git a/gcc/testsuite/gcc.target/i386/pr69171-3.c b/gcc/testsuite/gcc.target/i386/pr69171-3.c new file mode 100644 index 00000000000..73717bef6ba --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr69171-3.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target fpic } } */ +/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */ + +__extension__ typedef __UINTPTR_TYPE__ uintptr_t; + +extern int glob1; + +double +foo (void) +{ + return (double) (int) (uintptr_t) &glob1; +} diff --git a/gcc/testsuite/gcc.target/i386/pr69171-4.c b/gcc/testsuite/gcc.target/i386/pr69171-4.c new file mode 100644 index 00000000000..e4acf3fd5f8 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr69171-4.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target fpic } } */ +/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */ + +__extension__ typedef __UINTPTR_TYPE__ uintptr_t; + +extern int glob1; + +float +foo (void) +{ + return (float) (int) (uintptr_t) &glob1; +} diff --git a/gcc/testsuite/gcc.target/i386/pr69171-5.c b/gcc/testsuite/gcc.target/i386/pr69171-5.c new file mode 100644 index 00000000000..230af3ec3d1 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr69171-5.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target fpic } } */ +/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */ + +__extension__ typedef __UINTPTR_TYPE__ uintptr_t; + +extern int glob1; + +float +foo (void) +{ + return (float) (long long) (uintptr_t) &glob1; +} diff --git a/gcc/testsuite/gcc.target/i386/pr69171-6.c b/gcc/testsuite/gcc.target/i386/pr69171-6.c new file mode 100644 index 00000000000..b82627a4419 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr69171-6.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target fpic } } */ +/* { dg-options "-fpic -O2 -msse2 -mno-avx -mfpmath=sse" } */ + +__extension__ typedef __UINTPTR_TYPE__ uintptr_t; + +extern int glob1; + +double +foo (void) +{ + return (double) (long long) (uintptr_t) &glob1; +} |