diff options
author | Michael Meissner <meissner@cygnus.com> | 1998-06-18 12:13:20 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1998-06-18 12:13:20 +0000 |
commit | ce56e6ed02d18a4f9f2cf102f10daf64ba96888a (patch) | |
tree | 846e39085e852edfb14a5968328f102c62102cb1 /gcc | |
parent | bf3ad1397654a3469e8481066d4d7a6b3ac2286e (diff) | |
download | gcc-ce56e6ed02d18a4f9f2cf102f10daf64ba96888a.zip gcc-ce56e6ed02d18a4f9f2cf102f10daf64ba96888a.tar.gz gcc-ce56e6ed02d18a4f9f2cf102f10daf64ba96888a.tar.bz2 |
Add bugs corresponding to PRs 16243 and 16245
From-SVN: r20561
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/980618-1.c | 16 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/980618-2.c | 66 |
3 files changed, 86 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/ChangeLog b/gcc/testsuite/gcc.c-torture/ChangeLog index 9a52fd5..28832d4 100644 --- a/gcc/testsuite/gcc.c-torture/ChangeLog +++ b/gcc/testsuite/gcc.c-torture/ChangeLog @@ -1,3 +1,7 @@ +Thu Jun 18 15:12:30 1998 Michael Meissner <meissner@cygnus.com> + + * execute/980618-{1,2}.c: New tests that showed up m32r bugs. + Fri Jun 5 21:54:26 1997 J"orn Rennecke <amylaar@cygnus.co.uk> * execute/980605-1.c: New test. diff --git a/gcc/testsuite/gcc.c-torture/execute/980618-1.c b/gcc/testsuite/gcc.c-torture/execute/980618-1.c new file mode 100644 index 0000000..59db7f2 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/980618-1.c @@ -0,0 +1,16 @@ +void func(int, int); + +int main() +{ + int x = 7; + func(!x, !7); + exit (0); +} + +void func(int x, int y) +{ + if (x == y) + return; + else + abort (); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/980618-2.c b/gcc/testsuite/gcc.c-torture/execute/980618-2.c new file mode 100644 index 0000000..c97e19e --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/980618-2.c @@ -0,0 +1,66 @@ +typedef char CHAR; +typedef short SHORT; +typedef int INT; +typedef long LONG; +typedef float FLOAT; +typedef unsigned char UCHAR; +typedef unsigned short USHORT; +typedef unsigned int UINT; +typedef unsigned long ULONG; +typedef double DOUBLE; +#if __STDC__ +typedef signed char SCHAR; +typedef long double LDOUBLE; +#endif + +int +main () +{ + typedef union + { + CHAR c; + SHORT s; + INT i; + UCHAR uc; + USHORT us; + UINT ui; + LONG l; + ULONG ul; + FLOAT f; + DOUBLE d; +#if __STDC__ + SCHAR sc; + LDOUBLE ld; +#endif + } + D; + auto D D1; + D1.c = 7; + { + auto struct + { + CHAR c; + SHORT s; + INT i; + UCHAR uc; + USHORT us; + UINT ui; + LONG l; + ULONG ul; + FLOAT f; + DOUBLE d; +#if __STDC__ + SCHAR sc; + LDOUBLE ld; +#endif + } + F; + F.c = 7; + if ((D1.c && F.c) != 1) + abort (); + if ((F.c && D1.c) != 1) + abort (); + } + + exit (0); +} |