PR c++/5571
* stor-layout.c (layout_decl): Reset the RTL for the decl. * class.c (layout_class_type): Remember incomplete static variables. (finish_struct_1): Call complete_vars, not hack_incomplete_structures. * cp-tree.h (hack_incomplete_structures): Rename to ... (complete_vars): ... this. (struct saved_scope): Remove incomplete. (namespace_scope_incomplete): Remove. * decl.c (struct binding_level): Remove incomplete. (incomplete_vars): New variable. (mark_binding_level): Don't mark incomplete. (print_binding_level): Don't print it. (mark_saved_scope): Don't mark incomplete. (pushdecl): Use maybe_register_incopmlete_var. (cxx_init_decl_processing): Register incomplete_vars for GC. (start_decl_1): Clarify error message. (hack_incomplete_vars): Remove. (maybe_register_incomplete_var): New function. (complete_vars): Likewise. * g++.dg/opt/static2.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51978 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 3 additions, 0 deletionsgcc/ChangeLog
- gcc/cp/ChangeLog 23 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/class.c 13 additions, 1 deletiongcc/cp/class.c
- gcc/cp/cp-tree.h 2 additions, 6 deletionsgcc/cp/cp-tree.h
- gcc/cp/decl.c 53 additions, 80 deletionsgcc/cp/decl.c
- gcc/stor-layout.c 5 additions, 0 deletionsgcc/stor-layout.c
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/opt/static2.C 13 additions, 0 deletionsgcc/testsuite/g++.dg/opt/static2.C
Loading
Please register or sign in to comment