diff options
author | Andrew Pinski <apinski@apple.com> | 2004-06-22 07:23:25 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-06-22 00:23:25 -0700 |
commit | f6bf7bb617bc7d39715803f8915c6b77316eac25 (patch) | |
tree | 4e65ff5f531d93f5021d2b551966a514f88a7b43 | |
parent | 058b15c1dc2199a810e4f8793993dc4ede61bb0a (diff) | |
download | gcc-f6bf7bb617bc7d39715803f8915c6b77316eac25.zip gcc-f6bf7bb617bc7d39715803f8915c6b77316eac25.tar.gz gcc-f6bf7bb617bc7d39715803f8915c6b77316eac25.tar.bz2 |
Radar #: 3701874
2004-06-21 Andrew Pinski <apinski@apple.com>
Radar #: 3701874
* c-decl.c (push_file_scope): Return early if we already
have a file scope.
2004-06-21 Andrew Pinski <apinski@apple.com>
* gcc.dg/pch/struct-1.c: New.
* gcc.dg/pch/struct-1.hs: New.
From-SVN: r83483
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-decl.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pch/struct-1.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pch/struct-1.hs | 3 |
5 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 88a9d95..8826c97 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-06-21 Andrew Pinski <apinski@apple.com> + + Radar #: 3701874 + * c-decl.c (push_file_scope): Return early if we already + have a file scope. + 2004-06-21 Geoffrey Keating <geoffk@apple.com> * c-opts.c (c_common_handle_option): Handle -fpch-preprocess. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 4735dab..1f0db19 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -810,6 +810,9 @@ push_file_scope (void) { tree decl; + if (file_scope) + return; + push_scope (); file_scope = current_scope; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cbc1a4b..5a41644 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2004-06-21 Andrew Pinski <apinski@apple.com> + + * gcc.dg/pch/struct-1.c: New. + * gcc.dg/pch/struct-1.hs: New. + 2004-06-21 Geoffrey Keating <geoffk@apple.com> * gcc.dg/pch/save-temps-1.c: New file. diff --git a/gcc/testsuite/gcc.dg/pch/struct-1.c b/gcc/testsuite/gcc.dg/pch/struct-1.c new file mode 100644 index 0000000..d6c03e7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/struct-1.c @@ -0,0 +1,11 @@ +#include "struct-1.h" + +struct ChainSearchRecord { + int identity; +}; +typedef struct ChainSearchRecord ChainSearchRecord; +void foo (ChainSearchPtr s) +{ + s->identity = 0x6a73616d; +} + diff --git a/gcc/testsuite/gcc.dg/pch/struct-1.hs b/gcc/testsuite/gcc.dg/pch/struct-1.hs new file mode 100644 index 0000000..055353a --- /dev/null +++ b/gcc/testsuite/gcc.dg/pch/struct-1.hs @@ -0,0 +1,3 @@ +struct ChainSearchRecord; +typedef struct ChainSearchRecord *ChainSearchPtr; + |