diff options
| author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-09 15:59:50 +0000 |
|---|---|---|
| committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-09 15:59:50 +0000 |
| commit | 9dde486b526b3e7fa0bbdcd75e9531ed05a4bf50 (patch) | |
| tree | da546d18eb81fa85d868a7ee4825a4a5e60aaab4 | |
| parent | 5d246ebffe8737f2acbd8b25b0837502f807005c (diff) | |
| download | ppe42-gcc-9dde486b526b3e7fa0bbdcd75e9531ed05a4bf50.tar.gz ppe42-gcc-9dde486b526b3e7fa0bbdcd75e9531ed05a4bf50.zip | |
2010-10-09 Richard Guenther <rguenther@suse.de>
PR lto/45947
* tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
* g++.dg/lto/20101009-1_0.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165234 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/g++.dg/lto/20101009-1_0.C | 14 | ||||
| -rw-r--r-- | gcc/tree.c | 2 |
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ea7fced53d6..5c4d210611b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-10-09 Richard Guenther <rguenther@suse.de> + + PR lto/45947 + * tree.c (free_lang_data_in_cgraph): Properly walk the varpool. + 2010-10-09 Nathan Froyd <froydnj@codesourcery.com> * config/mmix/mmix-protos.h (mmix_function_arg): Delete. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3641bf61858..9c16eed597a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2010-10-09 Richard Guenther <rguenther@suse.de> + PR lto/45947 + * g++.dg/lto/20101009-1_0.C: New testcase. + +2010-10-09 Richard Guenther <rguenther@suse.de> + PR tree-optimization/45945 * gcc.dg/lto/20101009-1_0.c: New testcase. diff --git a/gcc/testsuite/g++.dg/lto/20101009-1_0.C b/gcc/testsuite/g++.dg/lto/20101009-1_0.C new file mode 100644 index 00000000000..b7cc5bc478f --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/20101009-1_0.C @@ -0,0 +1,14 @@ +// { dg-lto-do link } + +template < typename > struct X +{ + template < typename > static int test (); + static const int i = sizeof (test < int >()); +}; + +template struct X < int >; + +int main() +{ + return 0; +} diff --git a/gcc/tree.c b/gcc/tree.c index d068a7e109e..cf5881a73b6 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -4982,7 +4982,7 @@ free_lang_data_in_cgraph (void) find_decls_types (p->decl, &fld); /* Find decls and types in every varpool symbol. */ - for (v = varpool_nodes_queue; v; v = v->next_needed) + for (v = varpool_nodes; v; v = v->next) find_decls_types_in_var (v, &fld); /* Set the assembler name on every decl found. We need to do this |

