Commit Graph

19845 Commits

Author SHA1 Message Date
Joern Rennecke
53526817c4 Added missing file/function to ChangeLog entry.
From-SVN: r23737
1998-11-20 11:36:50 +00:00
J"orn Rennecke
8411f163a9 basicio.c (PATH_MAX): Define only to _POSIX_PATH_MAX if that is defined.
* basicio.c (PATH_MAX): Define only to _POSIX_PATH_MAX if that is
	defined.  Otherwise, try MAXPATHLEN.

From-SVN: r23736
1998-11-20 10:49:53 +00:00
Kaveh R. Ghazi
d25a233ec3 * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
From-SVN: r23735
1998-11-20 09:18:42 +00:00
Dave Love
f4a7f981b6 Regenerated.
From-SVN: r23734
1998-11-20 09:00:31 +00:00
Dave Love
58dd1c34a0 g77.texi: Assorted minor changes.
1998-11-20  Dave Love  <d.love@dl.ac.uk>
	* g77.texi: Assorted minor changes.

From-SVN: r23733
1998-11-20 08:58:02 +00:00
Bernd Schmidt
ba716ac925 function.c (nonlocal_goto_handler_slots): Renamed from nonlocal_goto_handler_slot; now an EXPR_LIST chain.
* function.c (nonlocal_goto_handler_slots): Renamed from
        nonlocal_goto_handler_slot; now an EXPR_LIST chain.
        (push_function_context_to): Adjust for this change.
        (pop_function_context_from): Likewise.
        (init_function_start): Likewise.
        (expand_function_end): Likewise.
        * function.h (struct function): Likewise.
        * calls.c (expand_call): Likewise.
        * explow.c (allocate_dynamic_stack_space): Likewise.
        * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
        * stmt.c (declare_nonlocal_label): Make a new handler slot for each
        label.
        (expand_goto): When doing a nonlocal goto, find corresponding handler
        slot for it.  Don't put the label address in the static chain register.
        (expand_end_bindings): Break out nonlocal goto handling code into
        three new functions.
        (expand_nl_handler_label, expand_nl_goto_receiver,
        expand_nl_goto_receivers): New static functions, broken out of
        expand_end_bindings and adapted to create one handler per nonlocal
        label.
        * function.c (delete_handlers): Delete insn if it references any of
        the nonlocal goto handler slots.
        * i960.md (nonlocal_goto): Comment out code that modifies
        static_chain_rtx.
        * sparc.md (nonlocal_goto): Likewise.
        (goto_handler_and_restore_v9): Comment out.
        (goto_handler_and_restore_v9_sp64): Comment out.

From-SVN: r23732
1998-11-20 00:37:42 -07:00
Jeff Law
294377f8a5 Daily bump.
From-SVN: r23731
1998-11-19 17:46:03 -07:00
Bernd Schmidt
c795bca923 expr.c (STACK_BYTES): Delete unused macro.
* expr.c (STACK_BYTES): Delete unused macro.
	* calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
	(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
	(expand_call): Likewise.
	(emit_library_call): Likewise.
	(emit_library_call_value): Likewise.
	* function.c: Provide default for PREFERRED_STACK_BOUNDARY.
	(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
	* explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
	(round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
	(allocate_dynamic_stack_space): Likewise.
	* tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
	(STACK_BOUNDARY): Update description to reflect the new situation.

From-SVN: r23730
1998-11-19 15:47:55 -07:00
Jeffrey A Law
9f5a2691a1 reorg.c (relax_delay_slots): When optimizing for code size...
* reorg.c (relax_delay_slots): When optimizing for code size, if a
        return with a filled delay slot is followed by a return with an
        unfilled delay slot, delete the first return and reemit the insn
        that was previously in its delay slot.

From-SVN: r23729
1998-11-19 15:45:14 -07:00
Manfred Hollstein
e9741ffa97 Makefile.am (noinst_PROGRAMS): Renamed from bin_PROGRAMS to avoid installing makeinfo.
* makeinfo/Makefile.am (noinst_PROGRAMS): Renamed from bin_PROGRAMS
	to avoid installing makeinfo.
 	* makeinfo/Makefile.in: Regenerate using automake-1.3.

From-SVN: r23728
1998-11-19 22:39:55 +00:00
Jeffrey A Law
9bce98db12 i860.c (single_insn_src_p): Add missing parens.
* i860.c (single_insn_src_p): Add missing parens.
        * ginclude/math-3300.h: Likewise.

From-SVN: r23727
1998-11-19 14:23:27 -07:00
Jeffrey A Law
59b67c1143 * mpw.c (mpw_access): Add missing parens.
From-SVN: r23726
1998-11-19 14:17:54 -07:00
Geoffrey Noer
dd8f3ed555 configure.in: detect cygwin* instead of cygwin32*
* configure.in: detect cygwin* instead of cygwin32*
  	* configure: regenerate
  	* configure.in: in comment, call AC_EXEEXT instead of AM_EXEEXT

From-SVN: r23725
1998-11-19 14:16:49 -07:00
H.J. Lu
24deb20af9 regclass.c (init_reg_sets_1): Add prototype.
* regclass.c (init_reg_sets_1): Add prototype.
        (init_reg_modes): Likewise.

From-SVN: r23724
1998-11-19 12:58:23 -07:00
Zack Weinberg
07be2a2372 c-common.c: Change warning messages to say comparison is always true' or comparison is...
* c-common.c: Change warning messages to say `comparison is
        always true' or `comparison is always false' instead of the
        confusing `is always 0', `is always 1'.

From-SVN: r23723
1998-11-19 12:40:56 -07:00
Jeffrey A Law
74285159e4 * Makefile.in (runtime-info.h): Avoid GNU make extensions.
From-SVN: r23722
1998-11-19 12:36:30 -07:00
Jeffrey A Law
e3f159c2de i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not standard 387 constants.
* i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
        standard 387 constants.

From-SVN: r23721
1998-11-19 12:27:26 -07:00
Per Bothner
39e4e1ef9a print-tree.c (print_node): After printing BLOCK or BIND_EXPR...
�
	* print-tree.c (print_node):  After printing BLOCK or BIND_EXPR,
	break instead of return (which loses closing '>').

From-SVN: r23720
1998-11-19 11:06:35 -08:00
Per Bothner
e643155b9f print-tree.c (print_node): After printing BLOCK or BIND_EXPR...
0
	* print-tree.c (print_node):  After printing BLOCK or BIND_EXPR,
	break instead of return (which loses closing '>').

From-SVN: r23719
1998-11-19 11:06:33 -08:00
Jeffrey A Law
90aec2cfb6 i386.md (jump): Explicitly set "memory" attribute.
* i386.md (jump): Explicitly set "memory" attribute.
        (indirect_jump, prologue_set_stack_ptr): Likewise.
        (prologue_get_pc_and_set_got, pop): Likewise.
        (allocate_stack_worder, blockage, return_internal): Likewise.
        (return_pop_internal, nop): Likewise.
        (epilogue_set_stack_ptr, leave): Likewise.

From-SVN: r23718
1998-11-19 11:38:27 -07:00
Nick Clifton
233ce01395 Set USER_LABEL_PREFIX to "_"
From-SVN: r23717
1998-11-19 15:44:19 +00:00
J"orn Rennecke
701d55e8d8 * Early auto_inc reloads don't conflict with outputs.
From-SVN: r23716
1998-11-19 15:22:25 +00:00
Alexandre Petit-Bianco
1c7f3673c0 [multiple changes]
Thu Nov 19 11:16:55 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* jcf-parse.c (jcf_parse_source): Function returned type is
 	void. Added prototype.
	(jcf_parse): Function returned type is void.
	(yyparse): Remove call to fclose on the last parsed file.
	* java-tree.h (jcf_parse): Changed jcf_parse prototype.
Wed Nov 18 14:21:48 1998  Anthony Green  <green@cygnus.com>
	* jcf-parse.c (yyparse): Open class file in binary mode.
Fixes a show-stopper and includes a missing patch.

From-SVN: r23715
1998-11-19 04:13:39 -08:00
Dave Love
3cf7412773 bugs.texi: Formatting changes from Craig.
1998-11-19  Dave Love  <d.love@dl.ac.uk>
	* bugs.texi: Formatting changes from Craig.

From-SVN: r23714
1998-11-19 10:43:34 +00:00
Dave Love
10a51b218f Formatting changes from Craig.
From-SVN: r23713
1998-11-19 10:41:20 +00:00
Kaveh R. Ghazi
e9831ca0d0 configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
* configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
        Instead call AC_HEADER_SYS_WAIT.
        * collect2.c: Don't provide defaults for sys/wait.h macros.
        * gcc.c: Likewise.
        * protoize.c: Likewise.  Also, don't include sys/wait.h.
        * system.h: Include sys/wait.h and provide macro defaults.

From-SVN: r23712
1998-11-19 10:13:46 +00:00
Kaveh R. Ghazi
a6458d1ddd configure.in: Call AC_HEADER_SYS_WAIT.
* configure.in: Call AC_HEADER_SYS_WAIT.
        * pexecute.c: Include sys/wait.h when !IN_GCC.

From-SVN: r23711
1998-11-19 10:05:03 +00:00
Dave Love
8cacfe1153 Regenerated.
From-SVN: r23710
1998-11-19 09:01:52 +00:00
Dave Love
a515a901af intdoc.in: Terminate some @xrefs with `,'.
1998-11-19  Dave Love  <d.love@dl.ac.uk>
	* intdoc.in: Terminate some @xrefs with `,'.

From-SVN: r23709
1998-11-19 07:31:13 +00:00
Manfred Hollstein
a76b6b4073 Makefile.in (mandir): Set to @mandir@.
gcc/ChangeLog:
1998-10-24  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
	* Makefile.in (mandir): Set to @mandir@.
	(man1dir): New variable to hold the former value of $(mandir).
	Replace all uses of $(mandir) by $(man1dir).
gcc/cp/ChangeLog:
1998-11-14  Manfred Hollstein  <manfred@s-direktnet.de>
	* Make-lang.in (mandir): Replace all uses of $(mandir) by $(man1dir).
gcc/f/ChangeLog:
1998-11-14  Manfred Hollstein  <manfred@s-direktnet.de>
	* Make-lang.in (mandir): Replace all uses of $(mandir) by $(man1dir).

From-SVN: r23708
1998-11-19 06:49:46 +00:00
Nick Clifton
5ee26f85a0 Add missing ChangeLog entry.
From-SVN: r23707
1998-11-18 21:28:56 -07:00
Jason Merrill
531d8d47e9 new
From-SVN: r23706
1998-11-18 21:36:36 -05:00
Jason Merrill
ff350acdf9 semantics.c (begin_class_definition): Call maybe_process_partial_specialization before push_template_decl.
* semantics.c (begin_class_definition): Call
	maybe_process_partial_specialization before push_template_decl.
	Don't call push_template_decl for a specialization.
	* search.c (lookup_field): Do return a member template class.
	* decl2.c (handle_class_head): Handle member template classes.
	* decl.c (grokdeclarator): A parm type need not be complete.
	* pt.c (convert_nontype_argument): Fix thinko.

From-SVN: r23705
1998-11-18 21:35:15 -05:00
Alexandre Petit-Bianco
c877974e79 class.c (unmangle_classname): Set QUALIFIED_P when appropriate.
Wed Nov 18 23:54:53 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* class.c (unmangle_classname): Set QUALIFIED_P when appropriate.
	(layout_class): Cope with methods featuring WFL in decl names.
	* decl.c (unqualified_object_id_node): New global variable,
 	initialized.
	(build_decl_no_layout): Removed.
	* expr.c (build_primtype_type_ref): Handle Double.
	(java_lang_expand_expr): Fixed indentations.
	* java-tree.h (CLASS_METHOD_CHECKED_P): Flag deleted.
	(flag_wall, flag_redundant, flag_not_overriding,
 	flag_static_local_jdk1_1, unqualified_object_id_node): Global
 	variable declarations.
	(build_decl_no_layout): Removed prototype.
	(java_get_real_method_name): Added prototype.
	(IS_UNCHECKED_EXPRESSION_P): Renamed IS_UNCHECKED_EXCEPTION_P.
	(java_parse_abort_on_error): Macro now just returns.
	* jcf-parse.c (jcf_parse_source): Check fclose returned
 	value. Call emit_register_classes if java_report_errors returns
 	zero.
	* lanc.c (flag_wall, flag_redundant, flag_not_overriding,
 	flag_static_local_jdk1_1): New integer flags.
	(lang_decode_option): New flags set here.
	* parse.h (GET_REAL_TYPE, GET_METHOD_NAME): New macros.
	(OBSOLETE_MODIFIER_WARNING): Issue error message conditionally to
 	the flag_redundant variable.
	(SET_TYPE_FOR_RESOLUTION): Consider Object being java.lang.Object
 	when parsing java.lang.Object class.
	(BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Added terminal
 	NULL_TREE to build.
	(resolve_qualified_expression_name): Fixed indentation.
	(patch_array_ref): Changed prototype.
	(not_initialized_as_it_should_p): Prototype removed.
	(java_report_errors): Added function prototype.
	* parse.y (formal_parameter:): Changed error message for not yet
 	supported final parameters.
	(class_type_list:): Set both PURPOSE and VALUE of created
 	TREE_LIST to be class_type.
	(primary_no_new_array:): Handle class literals on primitive types.
	(parse_warning_context): Reinstalled correct force_error and
 	do_warning flags setups.
	(java_report_errors): Changed prototype. Return java_error_count
 	value.
	(variable_redefinition_error): Consider treating variable type as
 	a fake pointer.
	(create_interface): Warn about redundant abstract modifier if
 	flag_redundant is set. Changed error message.
	(lookup_field_wrapper): Save/restore globals before/after looking
 	up field.
	(duplicate_declaration_error_p): Consider treating declaration
 	type as a fake pointer.
	(register_fields): Extract real type from dependency node. Check
 	for duplicate field declaration after type adjustment. Use
 	DECL_INITIAL to store static final initialized values.
	(method_header): Extract real function type from dependency node.
	(check_abstract_method_header): Use GET_METHOD_NAME.
	(obtain_incomplete_type): Layout fake pointer type.
	(safe_layout_class): Don't try to check for methods before layout.
	(java_complete_class): Don't check for correct throws clause
 	elements inheritance here.
	(resolve_and_layout): Broadened name parameter meaning.
	(reset_method_name): Use GET_METHOD_NAME.
	(java_get_real_method_name): New function.
	(java_check_regular_methods): Don't check methods in
 	java.lang.Object.  Verify lineage of throws clause elements. Use
 	flag_no_overriding in warning report.
	(check_throws_clauses): Don't check if class was from
 	bytecode. Use IS_UNCHECKED_EXCEPTION_P macro.
	(java_check_methods): Don't set CLASS_METHOD_CHECKED_P flag.
	(declare_local_variables): Use flag_static_local_jdk1_1 to report
 	warning on unsupported final local variables. Use build_decl
 	instead of build_decl_no_layout. Get real local variable type from
 	dependency node.
	(source_start_java_method): Get real parameter type from
 	dependency node. Call build_decl instead of build_decl_no_layout.
	(java_layout_classes): Reverse tree and layout type and class as
 	required. Mark class as loaded when done.
	(resolve_field_access): Fixed indentation. Restricted condition
 	leading to static field access code generation. Set field_type
 	decl's TREE_TYPE if QUAL_DECL_TYPE not available.
	(resolve_qualified_expression_name): Initialize type_found to
 	null. Handle static field resolved during qualification. Fixed
 	layout on non primitive field decl types.
	(not_accessible_p): Fixed typo in comment.
	(patch_method_invocation): Resolve and layout class to search from
 	type.
	(lookup_method_invoke): Keep integer constant 0 as is. Resolve and
 	layout non primitive type, if necessary. Make method node only to
 	report errors.
	(find_applicable_accessible_methods_list): Consider WFL'ed method
 	decl names. Fixed indentation.
	(argument_types_convertible): Resolve and layout target type if
 	necessary.
	(java_complete_tree): Fixed indentation problems. Rewrote
 	CALL_EXPR thrown exceptions check. Re-installed further processing
 	of the assignment in certain cases.
	(patch_assignment): Call maybe_build_primttype_type_ref to perform
 	inlining on class literals.
	(valid_builtin_assignconv_identity_widening_p): Cope with constant
 	0 literal.
	(valid_method_invocation_conversion_p): Likewise.
	(patch_string): Temporary disable forbidden use of `this' in
 	explicit constructor invocations when doing string concatenation
 	within their scope.
	(patch_unaryop): Added comment. Reinstalled code to disable
 	further check on assignment operation with cast expression RHS.
	(patch_switch_statement): Fixed indentation.
	(build_try_statement): Call build_decl instead of
 	build_decl_no_layout.
	(patch_synchronized_statement): Likewise.
	(patch_throw_statement): Use IS_UNCHECKED_EXCEPTION_P instead of
 	IS_UNCHECKED_EXPRESSION_P.
	(check_thrown_exceptions_do): Changed leading comment. Resolve and
 	layout argument exception type.
	(purge_unchecked_exceptions): Use IS_UNCHECKED_EXCEPTION_P instead
 	of IS_UNCHECKED_EXPRESSION_P.
Fixed problems found when compiling a mixture of .class and .java
files in the same package. Some support for the compilation of libjava.

From-SVN: r23704
1998-11-18 17:54:44 -08:00
Jeff Law
423165659b Daily bump.
From-SVN: r23703
1998-11-18 17:45:03 -07:00
Kaveh Ghazi
9f3b55830c Regenerate config.in (accidentally omitted from last patch.)
From-SVN: r23700
1998-11-18 19:49:11 +00:00
Mark Mitchell
94e098d112 cp-tree.h (PTRMEM_CST_CLASS): Fix typo.
* cp-tree.h (PTRMEM_CST_CLASS): Fix typo.
	(global_delete_fndecl): New variable.
	* decl.c (global_delete_fndecl): Define it.
	(init_decl_processing): Set it.
	* init.c (build_builtin_delete_call): Use it.
	* tree.c (mapcar): Recursively call mapcar for the type of EXPR
	nodes.

From-SVN: r23699
1998-11-18 17:58:33 +00:00
Jim Wilson
ef18065c0a Fix memory corruption probelem in reload.
* reload.c (find_reloads_address_part): If have a CONST_INT, create
	a new one before passing it to force_const_mem.

From-SVN: r23698
1998-11-18 09:52:45 -08:00
Jim Wilson
10352226d4 Fix reload problem found by thumb port.
* reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
	find_reloads_address call.

From-SVN: r23697
1998-11-18 08:32:19 -08:00
J"orn Rennecke
f3f2255a8c expr.c (store_expr): Don't generate load-store pair if TEMP is identical (according to ==) with TARGET.
* expr.c (store_expr): Don't generate load-store pair
	if TEMP is identical (according to ==) with TARGET.

From-SVN: r23696
1998-11-18 14:15:03 +00:00
Jason Merrill
59e76fc6ba decl.c (cplus_expand_expr_stmt): Always complain about unresolved type.
* decl.c (cplus_expand_expr_stmt): Always complain about unresolved
	type.
Fixes Sec13/4/E13417.C
	* tree.c (lvalue_p_1): An INDIRECT_REF to a function is an lvalue.
	* call.c (build_object_call): Also support references to functions.
	* typeck.c (convert_for_initialization): Don't decay a function
	if the target is a reference to function.
Fixes Sec13/2_1_1_2/P13120.C
	* search.c (add_conversions): Get all the overloads from a class.
Fixes Sec13/2/P13101.C
	* decl.c (grok_ctor_properties): Complain about any constructor
	that will take a single arg of the class type by value.
Fixes Sec12/8/S12072.C
	* typeck2.c (build_functional_cast): Can't create objects of
	abstract classes this way.
	* cvt.c (ocp_convert): Likewise.
Fixes Sec10/4/S10018.C
	* decl.c (grokfndecl): Member functions of local classes are not
	public.
Fixes Sec10/3/P10092.C

From-SVN: r23695
1998-11-18 07:27:30 -05:00
Mark Mitchell
ab1878854a * Make-lang.in (cc1plus): Add dependency on hash.o.
From-SVN: r23694
1998-11-18 08:33:11 +00:00
Jason Merrill
35ea5ad303 up
From-SVN: r23693
1998-11-17 21:25:18 -05:00
Jason Merrill
7a78c20bc9 new
From-SVN: r23692
1998-11-17 21:24:18 -05:00
Jason Merrill
8ebeee52bc search.c (get_abstract_virtuals): Complain about virtuals with no final overrider.
* search.c (get_abstract_virtuals): Complain about virtuals with
	no final overrider.
	* typeck2.c (abstract_virtuals_error): Remove handling for virtuals
	with no final overrider.
	* class.c (override_one_vtable): Don't set DECL_ABSTRACT_VIRTUAL_P
	on virtuals with no final overrider.
Fixes Sec10/3/E10120.C
	* lex.c (reinit_parse_for_block): Add a space after the initial ':'.
Fixes Sec9/7/R09434.r0
	* class.c (finish_struct_1): Don't remove zero-width bit-fields until
	after layout_type.
Fixes Sec9/6/P09024.C
	* friend.c (do_friend): Don't set_mangled_name_for_decl.
Fixes Sec9/2/P09075.C
	* class.c (finish_struct_anon): Complain about non-fields.
	* decl2.c (build_anon_union_vars): Likewise.
	* decl.c (grokdeclarator): Normal data members can't have the same
	name as the class, either.
	* class.c (finish_struct_anon): Neither can members of an
	anonymous union.
Fixes Sec9/2/C09268.cm

From-SVN: r23691
1998-11-17 21:21:54 -05:00
Dave Love
7251e5522b 981117-1.f: New test.
1998-11-18  Dave Love  <d.love@dl.ac.uk>
	* g77.f-torture/compile/981117-1.f: New test.

From-SVN: r23690
1998-11-18 02:11:38 +00:00
Dave Love
080aaafcb0 New test.
From-SVN: r23689
1998-11-18 02:11:07 +00:00
Jeff Law
66ac6cefe6 Daily bump.
From-SVN: r23688
1998-11-17 17:45:02 -07:00
J"orn Rennecke
25963977c6 reload1.c (reload_reg_free_for_value_p): When considered reload has an output...
* reload1.c (reload_reg_free_for_value_p): When considered reload
	has an output, matching inputs are not sufficient to avoid conflict.

From-SVN: r23687
1998-11-17 14:26:40 +00:00
Mark Mitchell
7ddedda4aa cp-tree.h (TYPE_ALIAS_SET): Document language-dependent uses.
* 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
1998-11-17 12:51:20 +00:00