Core issue 287, PR c++/7639 * cp-tree.h (lang_type_class): Add decl_list field. (CLASSTYPE_DECL_LIST): New macro. (maybe_add_class_template_decl_list): Add declaration. * class.c (duplicate_tag_error): Initialize CLASSTYPE_DECL_LIST. (unreverse_member_declarations): Reverse CLASSTYPE_DECL_LIST. (maybe_add_class_template_decl_list): New function. (add_implicitly_declared_members): Use it. * decl.c (maybe_process_template_type_declaration): Likewise. (pushtag): Likewise. * friend.c (add_friend): Likewise. (make_friend_class): Likewise. * semantics.c (finish_member_declaration): Likewise. (begin_class_definition): Initialize CLASSTYPE_DECL_LIST. * pt.c (instantiate_class_template): Use CLASSTYPE_DECL_LIST to process members and friends in the order of declaration. Core issue 287, PR c++/7639 * g++.dg/template/instantiate1.C: Adjust error location. * g++.dg/template/instantiate3.C: New test. * g++.old-deja/g++.pt/crash10.C: Adjust error location. * g++.old-deja/g++.pt/derived3.C: Adjust error location. * g++.old-deja/g++.pt/spec28.C: Reorder declaration. From-SVN: r58654
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
.cvsignore | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.1 | Loading commit data... | |
ChangeLog.2 | Loading commit data... | |
ChangeLog.egcs | Loading commit data... | |
Make-lang.in | Loading commit data... | |
NEWS | Loading commit data... | |
call.c | Loading commit data... | |
cfns.gperf | Loading commit data... | |
cfns.h | Loading commit data... | |
class.c | Loading commit data... | |
config-lang.in | Loading commit data... | |
cp-lang.c | Loading commit data... | |
cp-tree.def | Loading commit data... | |
cp-tree.h | Loading commit data... | |
cvt.c | Loading commit data... | |
decl.c | Loading commit data... | |
decl.h | Loading commit data... | |
decl2.c | Loading commit data... | |
dump.c | Loading commit data... | |
error.c | Loading commit data... | |
except.c | Loading commit data... | |
expr.c | Loading commit data... | |
friend.c | Loading commit data... | |
g++.1 | Loading commit data... | |
g++spec.c | Loading commit data... | |
init.c | Loading commit data... | |
lang-options.h | Loading commit data... | |
lang-specs.h | Loading commit data... | |
lex.c | Loading commit data... | |
lex.h | Loading commit data... | |
mangle.c | Loading commit data... | |
method.c | Loading commit data... | |
operators.def | Loading commit data... | |
optimize.c | Loading commit data... | |
parse.y | Loading commit data... | |
pt.c | Loading commit data... | |
ptree.c | Loading commit data... | |
repo.c | Loading commit data... | |
rtti.c | Loading commit data... | |
search.c | Loading commit data... | |
semantics.c | Loading commit data... | |
spew.c | Loading commit data... | |
tree.c | Loading commit data... | |
typeck.c | Loading commit data... | |
typeck2.c | Loading commit data... |