1. 25 Aug, 1998 1 commit
  2. 24 Aug, 1998 3 commits
  3. 23 Aug, 1998 2 commits
    • mmitchel's avatar
      * decl.c (grokdeclarator): Complain about in-class initialization · 9c01cb2e
      mmitchel authored
      	of aggregates and/or references.
      	* pt.c (process_template_parm): Clear IS_AGGR_TYPE for
      	TEMPLATE_TYPE_PARMs.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21916 138bc75d-0d04-0410-961f-82ee72b054a4
      9c01cb2e
    • mmitchel's avatar
      * iomanip.h: Use __extension__ for `extern' explicit template · 954885ed
      mmitchel authored
      	instantiations.
      	* sinst.cc: Don't explicitly instantiation string_char_traits<char>.
      	* cinst.cc: Likewiwse, for complex<float>, complex<double>,
      	complex<long double>.
      	* extend.texi: Remove description of extension to explicit
      	instantiation that is now endorsed by standard C++.
      	* decl2.c (grok_array_decl): Add comment.
      	(mark_used): Don't instantiate an explicit instantiation.
      	* friend.c (make_friend_class): Remove bogus comment.  Fix check
      	for partial specializations.
      	* pt.c (check_explicit_specialization): Don't
      	SET_DECL_EXPLICIT_INSTANTIATION here.
      	(mark_decl_instantiated): Or here.
      	(do_decl_instantiation): Do it here, instead.  Add checks for
      	duplicate explicit instantiations, etc.  Tidy.
      	(do_type_instantiation): Likewise.
      	(instantiate_decl): Improve comments.  Complain about explicit
      	instantiations where no definition is available.
      	* cp-tree.h (ansi_null_node): Remove.
      	* call.c (build_over_call): Warn about converting NULL to an
      	arithmetic type.
      	* cvt.c (build_expr_type_conversion): Likewise.  Use
      	null_ptr_cst_p instead of expanding it inline.
      	* decl.c (ansi_null_node): Remove.
      	(init_decl_processing): Make null_node always have integral type.
      	* except.c (build_throw): Warn about converting NULL to an
      	arithmetic type.
      	* lex.c (init_parse): Remove handling of ansi_null_node.
      	* pt.c (type_unification_real): Don't convert NULL to void* type.
      	* typeck.c (build_binary_op_nodefault): Fix NULL warnings.
      	(convert_for_assignment): Warn about converting NULL to an
      	arithmetic type.
      	(convert_for_initialization): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21915 138bc75d-0d04-0410-961f-82ee72b054a4
      954885ed
  4. 20 Aug, 1998 3 commits
    • jason's avatar
      * tree.c (search_tree, no_linkage_helper, no_linkage_check): New fn. · 844e1a9a
      jason authored
      	* pt.c (coerce_template_parms): Use no_linkage_check.
      	* decl.c (grokvardecl): Likewise.
      	(grokfndecl): Likewise.  Members of anonymous types have no linkage.
      	* method.c (process_overload_item): Remove useless code.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21884 138bc75d-0d04-0410-961f-82ee72b054a4
      844e1a9a
    • bothner's avatar
      ( · b5711a32
      bothner authored
      	Handle new'ing of Java classes.
      	* init.c (build_class_classref):  New function.
      	(build_new_1):  If type is TYPE_FOR_JAVA:  Call _Jv_AllocObject;
      	constructor does not return this;  don't need to exception-protect.
      	* pt.c (lookup_template_class):  Copy TYPE_FOR_JAVA flag.
      	* decl2.c (acceptable_java_type):  Handle template-derived types.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21880 138bc75d-0d04-0410-961f-82ee72b054a4
      b5711a32
    • mmitchel's avatar
      * decl.c (duplicate_decls): Always merge the old and new patterns · a072266a
      mmitchel authored
      	for templates, regardless of whether or not the new one has
      	DECL_INITIAL.  Don't throw away specializations.  Merge
      	DECL_SAVED_TREE.
      	* pt.c (tsubst_decl): Use the right pattern when calculating the
      	complete args for a new template instance.
      	(do_decl_instantiation): Fix typo in comment.
      	(regenerate_decl_from_template): Deal with tricky friend template
      	case.
      	(instantiate_decl): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21876 138bc75d-0d04-0410-961f-82ee72b054a4
      a072266a
  5. 13 Aug, 1998 1 commit
  6. 12 Aug, 1998 1 commit
  7. 09 Aug, 1998 1 commit
  8. 07 Aug, 1998 1 commit
    • mmitchel's avatar
      * typeck.c (require_complete_type): Use complete_type_or_else. · 4bac4c68
      mmitchel authored
      	(complete_type_or_else): Always return NULL_TREE on failure, as
      	documented.
      	* pt.c (tsubst_aggr_type): Prototype.
      	(tsubst_decl): New function, split out from tsubst.  Set
      	input_filename and lineno as appropriate.
      	(pop_tinst_level): Restore the file and line number saved in
      	push_tinst_level.
      	(instantiate_class_template): Set input_filename and lineno as
      	appropriate.
      	(tsubst): Move _DECL processing to tsubst_decl.  Make sure the
      	context for a TYPENAME_TYPE is complete.
      	* decl2.c (grokbitfield): Issue errors on bitfields declared with
      	function type.
      	(do_dtors): As in do_ctors, pretend to be a member of the same
      	class as a static data member while generating a call to its
      	destructor.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21627 138bc75d-0d04-0410-961f-82ee72b054a4
      4bac4c68
  9. 06 Aug, 1998 1 commit
    • mmitchel's avatar
      * cp-tree.h (ENUM_TEMPLATE_INFO): New macro. · 11fa0698
      mmitchel authored
      	(TYPE_TEMPLATE_INFO): Likewise.
      	(SET_TYPE_TEMPLATE_INFO): Likewise.
      	(ENUM_TI_TEMPLATE): Likewise.
      	(ENUM_TI_ARGS): Likewise.
      	(lookup_nested_type_by_name): Remove.
      	* decl.c (maybe_process_template_type_declaration): Handle enums.
      	(start_enum): Don't check for primary-template enum declarations
      	here.
      	(finish_enum): Clean up, document.  Make sure template enum
      	constants get the correct type.
      	(build_enumerator): Copy initializers for template enumerations,
      	too.
      	(grok_enum_decls): Document.
      	* lex.c (do_identifier): Document use of LOOKUP_EXPR a bit
      	better.  Build LOOKUP_EXPRs for local variables, even if they are
      	TREE_PERMANENT.
      	* pt.c (tsubst_enum): Remove field_chain parameter.
      	(template_class_depth): Include the depth of surrounding function
      	contexts.
      	(push_template_decl): Check for primary-template enum declarations
      	here.  Deal with enumeration templates.
      	(lookup_template_class): Likewise.
      	(for_each_template_parm): Likewise.
      	(instantiate_class_template): Don't call tsubst_enum directly,
      	call tsubst instead, to instantiate enums.  Deal with all
      	field_chain issues here, not in tsubst_enum.
      	(lookup_nested_type_by_name): Remove.
      	(tsubst_aggr_type): Revise handling of enumeration types.
      	(tsubst): Likewise.
      	(tsubst_copy): Likewise.
      	(tsubst_expr): Call tsubst, not tsubst_enum for TAG_DEFNs.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21622 138bc75d-0d04-0410-961f-82ee72b054a4
      11fa0698
  10. 04 Aug, 1998 1 commit
    • mmitchel's avatar
      * decl.c (pushtag): Don't mangle the name of a TYPE_DECL if it · 26430721
      mmitchel authored
      	uses template parameters.
      	* method.c (build_template_parm_names): Use the full set of
      	template arguments for tsubst'ing.
      	(build_overload_identifier): Pass the full set of template
      	arguments to build_template_parm_names, not just the
      	innermost_args.
      	* pt.c (TMPL_ARGS_DEPTH): Define using
      	TMPL_ARGS_HAVE_MULTIPLE_LEVELS, for clarity.
      	(NUM_TMPL_ARGS): New macro.
      	(add_outermost_template_args): Deal with the case where the outer
      	args will be completely discarded.
      	(coerce_template_parms): Use the full set of template arguments
      	for tsubst'ing.  Simplify.  Add some asserts.  Improve
      	error messages.
      	(lookup_template_class): Pass the full set of template arguments
      	to coerce_template_parms.
      	(tsubst): Add assertion.
      	(do_type_instantiation): Don't instantiate member template
      	classes.
      	* init.c (build_offset_ref): Deal with a TEMPLATE_ID_EXPR whose
      	name is a LOOKUP_EXPR, rather than an IDENTIFIER_NODE.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21609 138bc75d-0d04-0410-961f-82ee72b054a4
      26430721
  11. 02 Aug, 1998 1 commit
    • mmitchel's avatar
      * cp-tree.def (LOOKUP_EXPR): Document. Remove second argument. · 3addf100
      mmitchel authored
      	* cp-tree.h (DECL_TI_TEMPLATE): Improve documentation.
      	* lex.c (do_identifier): Don't use a second argument, or a type,
      	when building LOOKUP_EXPRs.
      	(do_identifier): Likewise.
      	(do_scoped_id): Likewise.
      	* method.c (hack_identifier): Improve error message.
      	* pt.c (lookup_template_function): Don't needlessly call
      	copy_to_permanent or build_min.
      	(tsubst_copy): Remove #if 0'd code.  Tsubst into LOOKUP_EXPRs if
      	necessary.
      	(do_decl_instantiation): Improve error message.
      	* tree.c (mapcar, case LOOKUP_EXPR): Don't be sorry; make a copy.
      	(build_min): Copy the type to the permanent obstack, too.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21544 138bc75d-0d04-0410-961f-82ee72b054a4
      3addf100
  12. 31 Jul, 1998 1 commit
    • mmitchel's avatar
      1998-07-31 Mark Mitchell <mark@markmitchell.com> · 63e8563c
      mmitchel authored
      	* cp-tree.h (PROCESSING_REAL_TEMPLATE_DECL_P): New macro.
      	(maybe_check_template_type): New function.
      	* decl.c (maybe_process_template_type_declaration): New function,
      	split out from pushtag  Call maybe_check_template_type.
      	(pushtag): Use it.  Use PROCESSING_REAL_TEMPLATE_DECL_P.
      	(xref_tag): Use PROCESSING_REAL_TEMPLATE_DECL_P.
      	* friend.c (do_friend): Use PROCESSING_REAL_TEMPLATE_DECL_P.
      	* pt.c (template_class_depth_real): Generalization of ...
      	(template_class_depth): Use it.
      	(register_specialization): Use duplicate_decls for duplicate
      	declarations of specializations.
      	(maybe_check_template_type): New function.
      	(push_template_decl_real): Fix comment.
      	(convert_nontype_argument): Likewise.
      	(lookup_template_class): Likewise.  Avoid an infinite loop on
      	erroneous code.
      	(tsubst_friend_function): Fix comment.
      	(tsubst, case FUNCTION_DECL): Deal with a DECL_TI_TEMPLATE that is
      	an IDENTIFIER_NODE.
      	* semantics.c (begin_function_definition): Use
      	reset_specialization to note that template headers don't apply
      	directly to declarations after the opening curly for a function.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21505 138bc75d-0d04-0410-961f-82ee72b054a4
      63e8563c
  13. 28 Jul, 1998 1 commit
    • mmitchel's avatar
      * cp-tree.h (TI_USES_TEMPLATE_PARMS): Remove. · 34197853
      mmitchel authored
      	(build_template_decl_overload): Remove.
      	(set_mangled_name_for_decl): New function.
      	(innermost_args): Remove is_spec parameter.
      	(most_specialized, most_specialized_class): Remove declarations.
      	(lookup_template_class): Add entering_scope parameter.
      	(maybe_process_partial_specialization): New function.
      	(finish_template_decl): Likewise.
      	(finish_template_type): Likewise.
      	* class.c (finish_struct): Clean up processing of member template
      	specializations.
      	* decl.c (pushtag): Fix	formatting.
      	(lookup_tag): Improve handling of pseudo-global levels.
      	(make_typename_type): Adjust call to lookup_template_class.
      	(shadow_tag): Use maybe_process_partial_specialization.
      	(xref_tag): Improve handling of member friends.
      	(start_function): Call push_nested_class before
      	push_template_decl.  Don't call push_template_decl for
      	specializations.
      	* decl2.c (grok_x_components): Don't call xref_tag for
      	template instantiations.  Handle UNION_TYPEs like RECORD_TYPEs.
      	(grokclassfn): Use set_mangled_name_for_decl.
      	(arg_assoc_class): Adjust call to innermost_args.
      	(mark_used): Don't call instantiate_decl for a TEMPLATE_DECL.
      	* error.c (dump_function_name): Improve printing of template
      	function names.
      	* friend.c (is_friend): Don't compare types of decls to determine
      	friendship, unless flag_guiding_decls.
      	(make_friend_class): Partial specializations cannot be friends.
      	(do_friend): Use set_mangled_name_for_decl.  Call
      	push_template_decl_real instead of push_template_decl.
      	* method.c (build_decl_overload_real): Remove prototype.  Give it
      	external linkage.
      	(build_overload_identififer): Adjust call to innermost_args.
      	(build_template_decl_overload): Remove.
      	(set_mangled_name_for_decl): New function.
      	* parse.y (.finish_template_type): New non-terminal.
      	(template_def): Use finish_template_decl.  Use template_extdef
      	instead of extdef.
      	(template_extdef, template_datadef): New non-terminals, containing
      	only those rules for things which can be templates.
      	(datadef): Tidy.
      	(template_type, self_template_type): Use .finish_template_type.
      	(named_class_head): Use maybe_process_partial_specialization.
      	* pt.c (mangle_class_name_for_template): Remove context parameter.
      	(get_class_bindings): Remove outer_args parameter.
      	(complete_template_args): Remove.
      	(add_outermost_template_args): New function.
      	(register_specialization): Return the specialization.
      	(unregister_specialization): New function.
      	(tsubst_template_parms): Likewise.
      	(most_specialized, most_specialized_class): Prototype here as
      	static.
      	(original_template): Rename to most_general_template.
      	(tsubst_template_parms): New function.
      	(set_mangled_name_for_template_decl): Likewise.
      	(TMPL_ARGS_DEPTH): New macro.
      	(TMPL_ARGS_HAVE_MULTIPLE_LEVELS): Adjust.
      	(TMPL_ARGS_LEVEL): New macro.
      	(SET_TMPL_ARGS_LEVEL): Likewise.
      	(TMPL_ARG): Likewise.
      	(SET_TMPL_ARG): Likewise.
      	(TMPL_ARGS_DEPTH): Likewise.
      	(finish_member_template_decl): Use finish_template_decl.
      	(maybe_process_partial_specialization): New function, split out
      	from tsubst.
      	(inline_needs_template_parms): Use TMPL_PARMS_DEPTH.
      	(maybe_begin_member_template_processing): Use new macros.
      	(is_member_template): Likewise.
      	(is_member_template_class): Likewise.
      	(add_to_template_args): Likewise.  Deal with multiple levels of
      	args.
      	(maybe_process_partial_specialization): New function.
      	(retrieve_specialization): Add consistency check.
      	(determine_specialization): Return full argument list.
      	(check_explicit_specialization): Tweak friend handling.  Use full
      	argument lists.  Simplify.
      	(current_template_args): Use new macros.
      	(push_template_decl_real): Change ill-named mainargs to specargs.
      	Check that a partial specialization actually specializes at least
      	one parameter.   Improve friend handling.  Modify for full
      	template arguments.
      	(classtype_mangled_name): Don't mangle the names of
      	specializations.
      	(lookup_template_class): Add entering_scope parameter.  Use it to
      	avoid finding a template type when an instantiation is required.
      	Simplify.  Use full template arguments.
      	(tsubst_friend_function): Use unregister_specialization.  Use new
      	macros.  Use full template arguments.
      	(tsubst_friend_class): Substitute, using tsubst_template_parms,
      	into the template parameters before passing them to
      	redeclare_class_template.
      	(instantiate_class_template): Simplify.  Use full template
      	arguments.  Adjust calls to get_class_bindings.  Use
      	SET_IDENTIFIER_TYPE_VALUE where needed.  Improve friend handling.
      	(innermost_args): Use new macros.
      	(tsubst_aggr_type): New function, split out from tsubst.
      	(tsubst): Use tsubst_aggr_type, tsubst_template_parms, new calling
      	conventions for lookup_tmeplate_class.  Refine handling of partial
      	instantiations.   Remove calls to complete_template_args.
      	Simplify.  Add consistency checks.  Use set_mangled_name_for_decl
      	and set_mangled_name_for_template_decl.
      	(tsubst_copy): Use tsubst_aggr_type.
      	(instantiate_template): Use full template arguments.
      	(more_specialized): Improve formatting.
      	(more_specialized_class): Adjust calls to get_class_bindings.
      	(get_bindings_real): Don't call complete_template_args.
      	(most_specialized): Don't overwrite input; create a new list.
      	(most_specialized_class): Use most_general_template.
      	(regenerate_decl_from_template): Use unregister_specialization.
      	Use full template arguments.
      	(instantiate_decl): Use full template arguments.
      	(set_mangled_name_for_template_decl): New function.
      	* semantics.c (begin_class_definition): Use
      	maybe_process_partial_specialization.
      	(finish_member_class_template): New function.
      	(finish_template_decl): Likewise.
      	(finish_template_type): Likewise.
      	(typeck.c): Don't crash after issuing a compiler_error.
      	* Makefile.in (CONFLICTS): Adjust; we removed a s/r conflict.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21433 138bc75d-0d04-0410-961f-82ee72b054a4
      34197853
  14. 24 Jul, 1998 1 commit
  15. 21 Jul, 1998 1 commit
  16. 19 Jul, 1998 1 commit
  17. 17 Jul, 1998 2 commits
  18. 15 Jul, 1998 1 commit
  19. 14 Jul, 1998 1 commit
    • jason's avatar
      * call.c (joust): Don't warn about "confusing" conversions to the · 6f186963
      jason authored
      	same type.
      	* class.c (push_nested_class): Complain about namespaces.
      	* decl.c (start_decl): Enter the object's namespace.
      	(cp_finish_decl): Leave it.
      	(grokdeclarator): Likewise.
      	* decl2.c (check_decl_namespace): New function.
      	(finish_file): Call it.
      	* parse.y (complex_direct_notype_declarator): Set complexity
      	of namespace-qualified ids to -1, enter the namespace.
      	* method.c (build_template_decl_overload): Expect _DECL as first
      	parameter. Put context temporarily into current_namespace.
      	* pt.c (check_explicit_specialization): Change caller.
      	(tsubst): Likewise.
      	* init.c (build_offset_ref): Call mark_used and
      	convert_from_reference for namespace members.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21135 138bc75d-0d04-0410-961f-82ee72b054a4
      6f186963
  20. 12 Jul, 1998 2 commits
    • jason's avatar
      * decl2.c (build_expr_from_tree): Change calls of do_identifier. · 8257afbc
      jason authored
      	Do Koenig lookup in CALL_EXPR.
      	(arg_assoc): Handle error_mark.
      	* lex.c (is_global): New function.
      	(do_identifier): Expect arguments for Koenig lookup.
      	* parse.y (primary): Add rules for calls of unqualified function calls.
      	(do_id): Change call of do_identifier.
      	* pt.c (finish_stmt_expr): Likewise.
      	* semantics.c (finish_id_expr): Likewise.
      	(finish_call_expr): Add integer parameter to indicate
      	argument-dependent lookup.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21091 138bc75d-0d04-0410-961f-82ee72b054a4
      8257afbc
    • jason's avatar
      * typeck.c (comptypes, case TEMPLATE_TEMPLATE_PARM): Add parameter · 9e5bd773
      jason authored
      	comparison.
      	* pt.c (for_each_template_parm, case TEMPLATE_DECL): If it is a
      	template template parameter, record its use.
      	(for_each_template_parm, case TEMPLATE_TEMPLATE_PARM): Traverse
      	its template arguments if exists.
      	* pt.c (coerce_template_template_parms): New function equivalent
      	to coerce_template_parms when IS_TMPL_PARM is true.
      	(coerce_template_parms): Use it.  Remove the IS_TMPL_PARM parameter,
      	all callers changed.
      	(coerce_template_parms): Access ARGLIST properly when creating a
      	new vector.  Only accept implicit TYPE_DECL as valid argument for
      	a template template parameter when it is a base class of
      	current_class_type.  Don't display error message when COMPLAIN is
      	false.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21073 138bc75d-0d04-0410-961f-82ee72b054a4
      9e5bd773
  21. 11 Jul, 1998 1 commit
  22. 25 Jun, 1998 1 commit
    • jason's avatar
      * cp-tree.h (CP_DECL_CONTEXT): New macro. · d8396542
      jason authored
      	* decl2.c (is_namespace_ancestor, lookup_using_namespace): Use it.
      	* method.c (build_overload_nested_name): Likewise.
      	* sig.c (build_signature_pointer_or_reference_type): Don't set
      	DECL_CONTEXT.
      	Set DECL_CONTEXT for globals to NULL_TREE instead of global_namespace.
      	* cp-tree.h (FROB_CONTEXT): New macro.
      	(DECL_MAIN_P): ::main should have a DECL_CONTEXT of NULL_TREE.
      	* decl.c (namespace_binding): Replace NULL_TREE with
      	global_namespace.
      	(set_namespace_binding, pop_namespace, lookup_name_real): Likewise.
      	* decl2.c (is_namespace_ancestor, lookup_using_namespace):
      	Likewise.
      	* decl.c (pushtag): Use FROB_CONTEXT.
      	(pushdecl, make_typename_type, define_function, grokdeclarator):
      	Likewise.
      	* decl2.c (set_decl_namespace, do_namespace_alias): Likewise.
      	* pt.c (push_template_decl_real, lookup_template_class, tsubst):
      	Likewise.
      	* decl2.c (decl_namespace): Return global_namespace if no context.
      	* method.c (build_overload_nested_name): Expect null as context.
      	* pt.c (mangle_class_name_for_template): Do nothing for null
      	contexts.
      	(lookup_template_class): Allow for null id_context.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20710 138bc75d-0d04-0410-961f-82ee72b054a4
      d8396542
  23. 23 Jun, 1998 1 commit
  24. 17 Jun, 1998 1 commit
  25. 13 Jun, 1998 1 commit
  26. 12 Jun, 1998 1 commit
  27. 11 Jun, 1998 1 commit
  28. 09 Jun, 1998 1 commit
  29. 05 Jun, 1998 1 commit
  30. 01 Jun, 1998 2 commits
    • bothner's avatar
      d · 7d53e30d
      bothner authored
      	* cp-tree.h (TYPE_FOR_JAVA):  New macro.
      	* decl.c, cp-tree.h (java_byte_type_node, java_short_type_node,
      	java_int_type_node, java_long_type_node, java_float_type_node,
      	java_double_type_node, java_char_type_node, java_boolean_type_node):
      	New "primitive" types, with predefined names __java_byte etc.
      	(record_builtin_java_type):  New function.
      	(init_decl_processing):  Make Java types with record_builtin_java_type.
      	(pushtag, grokdeclarator):  Set TYPE_FOR_JAVA if in extern "JAVA".
      	(xref_baseypes):  If base class was TYPE_FOR_JAVA, so is this class.
      	(grokfndecl):  Call check_java_method for Java classes.
      	* method.c (is_java_type):  Removed.  Replaced with TYPE_FOR_JAVA.
      	(process_overload_item):  Match types against specific
      	java_XX_type_node types, rather than using is_java_type.
      	* class.c (finish_struct_1):  Don't add default copy constructor
      	or operator= if TYPE_FOR_JAVA.
      	(pop_lang_conext):  Restore strict_prototyp proper if Java.
      	* decl2.c (acceptable_java_type, check_java_method):  New functions.
      	* pt.c (instantiate_class_template):  Copy TYPE_FOR_JAVA from pattern.
      	(tsubst):  Move common statement after if statement.
      	* typeck.c (comptypes):  If strict, TYPE_FOR_JAVA must match.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20174 138bc75d-0d04-0410-961f-82ee72b054a4
      7d53e30d
    • jason's avatar
      * pt.c (for_each_template_parm): Use first_rtl_op. · ccbec074
      jason authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20171 138bc75d-0d04-0410-961f-82ee72b054a4
      ccbec074
  31. 31 May, 1998 1 commit
  32. 29 May, 1998 1 commit
    • jason's avatar
      * cp-tree.h (DECL_DESTRUCTOR_P): New macro. · e46cb663
      jason authored
      	* method.c (build_destructor_name): New fn.
      	* decl2.c (maybe_retrofit_in_chrg): Split out...
      	(grokclassfn): From here.  Reorganize.
      	* decl.c (grok_ctor_properties): Make sure ctors for types with
      	vbases have the in_chrg parm.
      	* pt.c (instantiate_class_template): Update
      	TYPE_USES_VIRTUAL_BASECLASSES from tsubsted bases.  Don't call
      	grok_*_properties.
      	(tsubst): Call grok_ctor_properties and maybe_retrofit_in_chrg.
      	* pt.c (instantiate_decl): Make test for whether or not static
      	variables should be instantiated early match its comment.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20136 138bc75d-0d04-0410-961f-82ee72b054a4
      e46cb663