From 47cf9247396eb05c22bceacaf1921c96a350d68c Mon Sep 17 00:00:00 2001 From: Diego Novillo Date: Fri, 25 May 2001 19:38:52 +0000 Subject: [PATCH] 20010518-2.c: New file. 2001-05-25 Diego Novillo * gcc.c-torture/compile/20010518-2.c: New file. * gcc.c-torture/execute/20010518-1.c: New file. * gcc.c-torture/execute/20010518-2.c: New file. From-SVN: r42580 --- gcc/testsuite/ChangeLog | 6 +++ .../gcc.c-torture/compile/20010518-2.c | 13 +++++++ .../gcc.c-torture/execute/20010518-1.c | 28 ++++++++++++++ .../gcc.c-torture/execute/20010518-2.c | 38 +++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/20010518-2.c create mode 100644 gcc/testsuite/gcc.c-torture/execute/20010518-1.c create mode 100644 gcc/testsuite/gcc.c-torture/execute/20010518-2.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5ce646c146a..4495a34bbef 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2001-05-25 Diego Novillo + + * gcc.c-torture/compile/20010518-2.c: New file. + * gcc.c-torture/execute/20010518-1.c: New file. + * gcc.c-torture/execute/20010518-2.c: New file. + 2001-05-25 Joseph S. Myers * gcc.dg/c90-arraydecl-1.c, gcc.dg/c99-arraydecl-1.c: New tests. diff --git a/gcc/testsuite/gcc.c-torture/compile/20010518-2.c b/gcc/testsuite/gcc.c-torture/compile/20010518-2.c new file mode 100644 index 00000000000..aa8ce344c05 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20010518-2.c @@ -0,0 +1,13 @@ +/* Large static storage. */ + +#include + +static volatile char chars_1[INT_MAX / 2]; +static volatile char chars_2[1]; + +int +foo (void) +{ + chars_1[10] = 'y'; + chars_2[0] = 'x'; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20010518-1.c b/gcc/testsuite/gcc.c-torture/execute/20010518-1.c new file mode 100644 index 00000000000..94b2d8f6f25 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20010518-1.c @@ -0,0 +1,28 @@ +/* Leaf functions with many arguments. */ + +int +add (int a, + int b, + int c, + int d, + int e, + int f, + int g, + int h, + int i, + int j, + int k, + int l, + int m) +{ + return a+b+c+d+e+f+g+h+i+j+k+l+m; +} + +int +main(void) +{ + if (add (1,2,3,4,5,6,7,8,9,10,11,12,13) != 91) + abort (); + + exit (0); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20010518-2.c b/gcc/testsuite/gcc.c-torture/execute/20010518-2.c new file mode 100644 index 00000000000..1990f8e63bc --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20010518-2.c @@ -0,0 +1,38 @@ +/* Mis-aligned packed structures. */ + +typedef struct +{ + char b0; + char b1; + char b2; + char b3; + char b4; + char b5; +} __attribute__ ((packed)) b_struct; + + +typedef struct +{ + short a; + long b; + short c; + short d; + b_struct e; +} __attribute__ ((packed)) a_struct; + + +int +main(void) +{ + volatile a_struct *a; + volatile a_struct b; + + a = &b; + *a = (a_struct){1,2,3,4}; + a->e.b4 = 'c'; + + if (a->a != 1 || a->b != 2 || a->c != 3 || a->d != 4 || a->e.b4 != 'c') + abort (); + + exit (0); +} -- 2.30.2