diff options
author | Geoffrey Keating <geoffk@apple.com> | 2004-08-30 22:19:24 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2004-08-30 22:19:24 +0000 |
commit | ff164b22d364c830b43d08e521a768b2a2957bbc (patch) | |
tree | 0a03574db9fe3cc658f3e39c3b39e37c3aa5c726 /gcc/testsuite | |
parent | e2cad04b2825ff91d12ebe595c91bbf3cf824fcc (diff) | |
download | gcc-ff164b22d364c830b43d08e521a768b2a2957bbc.zip gcc-ff164b22d364c830b43d08e521a768b2a2957bbc.tar.gz gcc-ff164b22d364c830b43d08e521a768b2a2957bbc.tar.bz2 |
re PR c/12738 (Missing function with 'static' block-scope declaration; unit-at-a-time; and IMA.)
2004-08-30 Geoffrey Keating <geoffk@apple.com>
PR 12738
PR 17205
Radar 3460526
Radar 3775729
* c-decl.c (grokdeclarator): Produce error for 'static' on local
function declaration.
Index: testsuite/ChangeLog
2004-08-30 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/funcdef-storage-1.c: New.
* gcc.c-torture/compile/920625-2.c: Don't use 'static' to declare
an extern function in local scope.
* gcc.c-torture/execute/20010605-1.c: Don't use 'static inline' to
declare an 'auto inline' function in local scope.
* gcc.dg/20011130-1.c: Likewise.
* gcc.c-torture/execute/nest-stdar-1.c: Don't use 'static' to declare
an 'auto' function in local scope.
* gcc.dg/20021014-1.c: Likewise.
* gcc.dg/20030331-2.c: Likewise.
From-SVN: r86807
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/920625-2.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20010605-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20011130-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20021014-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/20030331-2.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/funcdef-storage-1.c | 14 |
8 files changed, 34 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7f2e91d..f3dde94 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2004-08-30 Geoffrey Keating <geoffk@apple.com> + + * gcc.dg/funcdef-storage-1.c: New. + * gcc.c-torture/compile/920625-2.c: Don't use 'static' to declare + an extern function in local scope. + * gcc.c-torture/execute/20010605-1.c: Don't use 'static inline' to + declare an 'auto inline' function in local scope. + * gcc.dg/20011130-1.c: Likewise. + * gcc.c-torture/execute/nest-stdar-1.c: Don't use 'static' to declare + an 'auto' function in local scope. + * gcc.dg/20021014-1.c: Likewise. + * gcc.dg/20030331-2.c: Likewise. + 2004-08-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> * gfortran.dg/blockdata_1.f90: New test. diff --git a/gcc/testsuite/gcc.c-torture/compile/920625-2.c b/gcc/testsuite/gcc.c-torture/compile/920625-2.c index 1466285..291e80d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/920625-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/920625-2.c @@ -23,7 +23,7 @@ trashQueryResult(Widget w, Boolean delete, caddr_t call_data) extern Cursor busy, left_ptr; extern String cwd; - static void freeReturnStruct(void); + extern void freeReturnStruct(void); String rmstring; int status; XedwListReturnStruct *tmp; @@ -58,7 +58,7 @@ copyQueryResult(Widget w, Boolean copy, caddr_t call_data) extern void destroy_button_dialog(); extern void changestate(Boolean); extern Cursor busy, left_ptr; - static void freeReturnStruct(void); + extern void freeReturnStruct(void); int execute(String, String, String, Boolean); extern String cwd; String copystring; diff --git a/gcc/testsuite/gcc.c-torture/execute/20010605-1.c b/gcc/testsuite/gcc.c-torture/execute/20010605-1.c index 4bf230b..c777af5 100644 --- a/gcc/testsuite/gcc.c-torture/execute/20010605-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/20010605-1.c @@ -2,7 +2,7 @@ int main () { int v = 42; - static inline int fff (int x) + inline int fff (int x) { return x*10; } diff --git a/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c b/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c index 2c6108b..492670b 100644 --- a/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c +++ b/gcc/testsuite/gcc.c-torture/execute/nest-stdar-1.c @@ -2,7 +2,7 @@ main () { - static double f (int x, ...) + double f (int x, ...) { va_list args; double a; diff --git a/gcc/testsuite/gcc.dg/20011130-1.c b/gcc/testsuite/gcc.dg/20011130-1.c index 393f82a..60a2738 100644 --- a/gcc/testsuite/gcc.dg/20011130-1.c +++ b/gcc/testsuite/gcc.dg/20011130-1.c @@ -9,7 +9,7 @@ static int __attribute__((unused)) foo (int x) { - static inline int bar (int x) + inline int bar (int x) { int y; y = x; diff --git a/gcc/testsuite/gcc.dg/20021014-1.c b/gcc/testsuite/gcc.dg/20021014-1.c index 67f88ae..dd8614c 100644 --- a/gcc/testsuite/gcc.dg/20021014-1.c +++ b/gcc/testsuite/gcc.dg/20021014-1.c @@ -10,7 +10,7 @@ extern void exit (int); int foo (void) { - static int bar (int x) + int bar (int x) { return x + 3; } diff --git a/gcc/testsuite/gcc.dg/20030331-2.c b/gcc/testsuite/gcc.dg/20030331-2.c index 0509d8a..2fce78e 100644 --- a/gcc/testsuite/gcc.dg/20030331-2.c +++ b/gcc/testsuite/gcc.dg/20030331-2.c @@ -6,7 +6,7 @@ int foo() { int yd; float in[1][yd]; - static void bar() { + void bar() { printf("%p\n",in[0]); } } diff --git a/gcc/testsuite/gcc.dg/funcdef-storage-1.c b/gcc/testsuite/gcc.dg/funcdef-storage-1.c new file mode 100644 index 0000000..955dac2 --- /dev/null +++ b/gcc/testsuite/gcc.dg/funcdef-storage-1.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ + +void +flarm(void) +{ + static void foo(); /* { dg-error "invalid storage class" } */ + + foo(); +} + +static void +foo(void) +{ +} |