diff options
Diffstat (limited to 'gcc/testsuite')
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.dg/c90-array-lval-6.c | 16 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.dg/c99-array-lval-6.c | 15 |
3 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 66151d4..6361f9e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-10-04 Eric Botcazou <ebotcazou@libertysurf.fr> + + * gcc.dg/c90-array-lval-6.c: New test. + * gcc.dg/c99-array-lval-6.c: New test. + 2003-10-03 Alexander Malmberg <alexander@malmberg.org> Ziemowit Laski <zlaski@apple.com> diff --git a/gcc/testsuite/gcc.dg/c90-array-lval-6.c b/gcc/testsuite/gcc.dg/c90-array-lval-6.c new file mode 100644 index 0000000..f42ef52 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c90-array-lval-6.c @@ -0,0 +1,16 @@ +/* PR c/12446 */ +/* Origin: Keith Thompson <kst@cts.com> */ + +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */ + + +struct s { char c[1]; }; + +extern struct s foo(void); + +void bar(void) +{ + char *ptr = foo().c; /* { dg-bogus "warning" "warning in place of error" } */ +} +/* { dg-error "non-lvalue" "array not decaying to lvalue" { target *-*-* } 14 } */ diff --git a/gcc/testsuite/gcc.dg/c99-array-lval-6.c b/gcc/testsuite/gcc.dg/c99-array-lval-6.c new file mode 100644 index 0000000..426b3c7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/c99-array-lval-6.c @@ -0,0 +1,15 @@ +/* PR c/12446 */ +/* Origin: Keith Thompson <kst@cts.com> */ + +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ + + +struct s { char c[1]; }; + +extern struct s foo(void); + +void bar(void) +{ + char *ptr = foo().c; /* { dg-bogus "non-lvalue" "array not decaying to lvalue" } */ +} |
