diff options
author | Dale Johannesen <dalej@apple.com> | 2004-09-14 00:35:02 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@gcc.gnu.org> | 2004-09-14 00:35:02 +0000 |
commit | c1bbfd3cf8376f1a145632e57f07b77a06926c1b (patch) | |
tree | 7d288e94ea4d246188923a80672ebeef3380b496 | |
parent | 3590f0a64a649dad84c2819a54226b5faf9fcb50 (diff) | |
download | gcc-c1bbfd3cf8376f1a145632e57f07b77a06926c1b.zip gcc-c1bbfd3cf8376f1a145632e57f07b77a06926c1b.tar.gz gcc-c1bbfd3cf8376f1a145632e57f07b77a06926c1b.tar.bz2 |
Fix PR 17408 and PR 17409.
From-SVN: r87468
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c-decl.c | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr17408.c | 5 |
4 files changed, 21 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 839e78b..905684c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-09-13 Dale Johannesen <dalej@apple.com> + + PR 17408 + PR 17409 + * c-decl.c (start_decl): Repair TREE_STATIC for initialized + objects declared extern. + 2004-09-14 Paul Brook <paul@codesourcery.com> * config/arm/arm.c (arm_expand_prologue): Make args_to_push a diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 1d6c40d..efed682 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -3012,8 +3012,11 @@ start_decl (struct c_declarator *declarator, struct c_declspecs *declspecs, TEM may equal DECL or it may be a previous decl of the same name. */ tem = pushdecl (decl); - if (initialized) - DECL_EXTERNAL (tem) = 0; + if (initialized && DECL_EXTERNAL (tem)) + { + DECL_EXTERNAL (tem) = 0; + TREE_STATIC (tem) = 1; + } return tem; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f81a893..b43b488 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-09-13 Dale Johannesen <dalej@apple.com> + + * gcc.c-torture/compile/pr17408.c: New test case. + 2004-09-13 Mark Mitchell <mark@codesourcery.com> PR c++/16716 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr17408.c b/gcc/testsuite/gcc.c-torture/compile/pr17408.c new file mode 100644 index 0000000..4819673 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr17408.c @@ -0,0 +1,5 @@ +/* PRs 17408 and 17409, with different options. */ +extern int t; +extern int t = 0; +void f(){t =0;} +void g(){h(&t);} |