diff options
Diffstat (limited to 'gcc/testsuite/gcc.target')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr43662.c | 24 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr43668.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr43671.c | 27 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/sh/pr43417.c | 36 |
4 files changed, 97 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr43662.c b/gcc/testsuite/gcc.target/i386/pr43662.c new file mode 100644 index 00000000000..246c8aafa6e --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr43662.c @@ -0,0 +1,24 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target lp64 } */ +/* { dg-options "-O2" } */ + +void __attribute__ ((ms_abi)) foo (void) +{ +} + +typedef struct _IAVIStreamImpl +{ + int sInfo; + int has; +} IAVIStreamImpl; + +extern int __attribute__ ((ms_abi)) aso (void *); +extern int sre (void *); + +int AVIFILE_OpenCompressor (IAVIStreamImpl *This) +{ + if (This->has != 0) + aso (&This->has); + sre (&This->sInfo); + return 0; +} diff --git a/gcc/testsuite/gcc.target/i386/pr43668.c b/gcc/testsuite/gcc.target/i386/pr43668.c new file mode 100644 index 00000000000..b6c2114fd07 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr43668.c @@ -0,0 +1,10 @@ +/* PR target/43668 */ +/* { dg-do run } */ +/* { dg-options "-fschedule-insns" } */ + +int foo(int i, ...) { + return i; +} +int main() { + return foo(0, 0.0); +} diff --git a/gcc/testsuite/gcc.target/i386/pr43671.c b/gcc/testsuite/gcc.target/i386/pr43671.c new file mode 100644 index 00000000000..958eaff4453 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr43671.c @@ -0,0 +1,27 @@ +/* { dg-do run } */ +/* { dg-require-effective-target ilp32 } */ +/* { dg-options "-mtune=i686 -O1 -fpeel-loops -fschedule-insns2 -ftree-vectorize -fsched2-use-superblocks" } */ + +extern void abort (); + +int main () +{ + struct { + char ca[16]; + } s; + int i; + + for (i = 0; i < 16; i++) + { + s.ca[i] = 5; + } + + + for (i = 0; i < 16; i++) + { + if (s.ca[i] != 5) + abort (); + } + + return 0; +} diff --git a/gcc/testsuite/gcc.target/sh/pr43417.c b/gcc/testsuite/gcc.target/sh/pr43417.c new file mode 100644 index 00000000000..081ff46b998 --- /dev/null +++ b/gcc/testsuite/gcc.target/sh/pr43417.c @@ -0,0 +1,36 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -m4" } */ + +int pid_count = 0; +main (int argc, char *argv[]) +{ + unsigned int c; + unsigned long long maxbytes = 0; + extern char *optarg; + int i; + int pid_cntr; + int pid; + int pid_list[1000]; + while ((c = getopt (argc, argv, "c:b:p:wvh")) != (-1)) + { + switch ((char) c) + { + case 'b': + maxbytes = atoll (optarg); + } + } + pid = fork (); + while ((pid != 0) && (maxbytes > 1024 * 1024 * 1024)) + { + maxbytes = maxbytes - (1024 * 1024 * 1024); + pid = fork (); + if (pid != 0) + pid_cntr++; + pid_list[i] = pid; + } + while ((pid_count < pid_cntr)) + { + } + kill (pid_list[i], 9); +} + |