From 16191a64931d7b536e905b58f21f764b3b0c2bb4 Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Sun, 5 Jun 2005 16:18:12 +0000 Subject: [PATCH] 20050603-1.c: Move to gcc.dg. 2005-06-05 Dale Johannesen * gcc.c-torture/execute/20050603-1.c: Move to gcc.dg. * gcc.c-torture/execute/20050603-2.c: Ditto. From-SVN: r100623 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/20050603-1.c | 24 ++++++++++++++++++++++++ gcc/testsuite/gcc.dg/20050603-2.c | 21 +++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/20050603-1.c create mode 100644 gcc/testsuite/gcc.dg/20050603-2.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5c440db35038..737245c99c52 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-06-05 Dale Johannesen + + * gcc.c-torture/execute/20050603-1.c: Move to gcc.dg. + * gcc.c-torture/execute/20050603-2.c: Ditto. + 2005-06-05 Dorit Nuzman * gcc.dg/vect/vect-62: Check that second loop is not vectorized. diff --git a/gcc/testsuite/gcc.dg/20050603-1.c b/gcc/testsuite/gcc.dg/20050603-1.c new file mode 100644 index 000000000000..041551ba5ae3 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20050603-1.c @@ -0,0 +1,24 @@ +/* { dg-do run { target powerpc*-*-* } } */ +/* { dg-options "-O2" } */ +#include +#include +register int *testreg asm ("r29"); + +int x; +int y; +int *ext_func (int *p) { return p; } + +void test_reg_save_restore (int*) __attribute__((noinline)); +void +test_reg_save_restore (int *p) +{ + setlocale (LC_ALL, "C"); + testreg = ext_func(p); +} +main() { + testreg = &x; + test_reg_save_restore (&y); + if (testreg != &y) + abort (); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/20050603-2.c b/gcc/testsuite/gcc.dg/20050603-2.c new file mode 100644 index 000000000000..363e3cdf35c2 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20050603-2.c @@ -0,0 +1,21 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ +#include +struct s { + unsigned short f: 16; + unsigned short y: 8; + unsigned short g: 2; + unsigned int x; +}; + +void set (struct s*, int) __attribute__((noinline)); +void set (struct s* p, int flags) { + p->g = flags << 1; +} +main() { + struct s foo = {0 , 0, 3, 0}; + set (&foo, -1); + if (foo.g != 2) + abort(); + return 0; +} -- 2.43.5