* cp-tree.h (TYPE_ALIAS_SET): Document language-dependent uses. (TYPE_BINFO): Likewise. (IS_AGGR_TYPE): Tweak. (SET_IS_AGGR_TYPE): New macro. (CLASS_TYPE_P): Tweak. (lang_type): Group mark bitfields together. Remove linenum. (CLASSTYPE_SOURCE_LINE): Remove macro. (CLASSTYPE_MARKED_N): New macro. (SET_CLASSTYPE_MARKED_N): Likewise. (CLEAR_CLASSTYPE_MARKED_N): Likewise. (CLASS_TYPE_MARKED_*): Use them. (SET_CLASSTYPE_MARKED_*): Likewise. (CLEAR_CLASSTYPE_MARKED_*): Likewise. (TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise. (TYPE_TEMPLATE_INFO): Handle TEMPLATE_TEMPLATE_PARMs as well. (TYPENAME_TYPE_FULLNAME): Use TYPE_BINFO rather than CLASSTYPE_SIZE. * class.c (class_cache_obstack): New variable. (class_cache_firstobj): Likewise. (finish_struct): Don't set CLASSTYPE_SOURCE_LINE. (pushclass): Free the cache, when appropriate. (popclass): Tidy. (maybe_push_cache_obstack): Use class_cache_obstack. * decl.c (include hash.h). (typename_hash): New function. (typename_compare): Likewise. (build_typename_type): Check the hash table to avoid creating duplicates. (build_ptrmemfunc_type): Use SET_IS_AGGR_TYPE. (grokdeclarator): Use CLASS_TYPE_P. (xref_basetypes): Likewise. (start_function): Likewise. Don't put current_class_ref on the permanent obstack. * error.c (dump_type_real): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO and TYPE_TI_ARGS. * lex.c (note_got_semicolon): Use CLASS_TYPE_P. (make_lang_type): Don't create TYPE_LANG_SPECIFIC and associated fields for types other than class types. Do clear TYPE_ALIAS_SET for types other than class types, though. * method.c (build_overload_identifier): Use CLASS_TYPE_P and TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. * pt.c (process_template_parm): Don't set CLASSTYPE_GOT_SEMICOLON. (lookup_template_class) Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. Coerce arguments on the momentary obstack. (for_each_template_parm): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO. (instantiate_class_template): Calculate template arguments on the momentary obstack. Tidy. (tsubst_template_arg_vector): Use make_temp_vec. (tsubst_aggr_type): Put template arguments on the momentary obstack. (tsubst_decl): Likewise. (tsubst): Copy the array bounds index to the permanent obstack before building index types. Use new macros. (unify): Use new macros. (do_type_instantiation): Likewise. * search.c (lookup_fnfields_1): Use new macros. (dfs_pushdecls): Build envelopes on the cache obstack. (dfs_compress_decls): Use new macros. (push_class_decls): Build on the cache obstack. * semantics.c (finish_typeof): Don't set CLASSTYPE_GOT_SEMICOLON. * sign.c (build_signature_pointer_or_reference_type): Use SET_IS_AGGR_TYPE. * tree.c (make_binfo): Check CLASS_TYPE_P. (copy_template_template_parm): Adjust. (make_temp_vec): Use push_expresion_obstack. * typeck.c (complete_type): Use new macros. (comptypes): Likewise. From-SVN: r23686
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
inc | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.1 | Loading commit data... | |
ChangeLog.egcs | Loading commit data... | |
Make-lang.in | Loading commit data... | |
Makefile.in | Loading commit data... | |
NEWS | Loading commit data... | |
call.c | Loading commit data... | |
class.c | Loading commit data... | |
config-lang.in | 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... | |
errfn.c | Loading commit data... | |
error.c | Loading commit data... | |
except.c | Loading commit data... | |
exception.cc | Loading commit data... | |
expr.c | Loading commit data... | |
friend.c | Loading commit data... | |
g++.1 | Loading commit data... | |
g++FAQ.texi | Loading commit data... | |
g++spec.c | Loading commit data... | |
gxx.gperf | Loading commit data... | |
gxxint.texi | Loading commit data... | |
hash.h | Loading commit data... | |
init.c | Loading commit data... | |
input.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... | |
method.c | Loading commit data... | |
mpw-config.in | Loading commit data... | |
mpw-make.sed | Loading commit data... | |
new.cc | Loading commit data... | |
new1.cc | Loading commit data... | |
new2.cc | Loading commit data... | |
parse.c | Loading commit data... | |
parse.h | 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... | |
sig.c | Loading commit data... | |
spew.c | Loading commit data... | |
tinfo.cc | Loading commit data... | |
tinfo.h | Loading commit data... | |
tinfo2.cc | Loading commit data... | |
tree.c | Loading commit data... | |
typeck.c | Loading commit data... | |
typeck2.c | Loading commit data... | |
xref.c | Loading commit data... |