Commit Graph

19684 Commits

Author SHA1 Message Date
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
Jason Merrill 990ece87bd update
From-SVN: r23685
1998-11-17 07:41:47 -05:00
Jason Merrill 0ecfe0b46f pt.c (tsubst): Add diagnostics for invalid array, reference and pointer to member types.
* pt.c (tsubst): Add diagnostics for invalid array, reference
	and pointer to member types.

From-SVN: r23684
1998-11-17 07:36:00 -05:00
Mark Mitchell a87ec9e655 hash.h (hash_table_key): New type.
* hash.h (hash_table_key): New type.
	(hash_entry): Change `string' field to generic `key'.
	(hash_table): Add `comp' and `hash' functions.
	(hash_table_init): Take them as input.
	(hash_table_init_n): Likewise.
	(hash_lookup): Modify for generic keys.
	(hash_newfunc): Likewise.
	(hash_traverse): Likewise.
	(string_hash): New function.
	(string_compare): Likewise.
	(string_copy): Likewise.
	* hash.c (hash_table_init_n): Modify for generic keys.
	(hash_table_init): Likewise.
	(hash_lookup): Likewise.
	(hash_newfunc): Likewise.
	(hash_traverse): Likewise.
	(string_hash): Split out from hash_lookup.
	(string_compare): New function.
	(string_copy): Split out from hash_lookup.
	* tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
	tables.
	(symbol_hash_lookup): Likewise.
	(file_hash_newfunc): Likewise.
	(file_hash_lookup): Likewise.
	(demangled_hash_newfunc): Likewise.
	(demangled_hash_lookup): Likewise.
	(tlink_int): Likewise.
	(read_repo_file): Likewise.
	(recompile_files): Likewise.
	(demangle_new_symbols): Likewise.
	(scan_linker_output): Likewise.

From-SVN: r23683
1998-11-17 11:50:24 +00:00
J"orn Rennecke e398aa8062 * flow.c (insn_dead_p): New argument NOTES. Changed all callers.
From-SVN: r23680
1998-11-17 09:14:33 +00:00
Jeff Law bcd91ba753 Daily bump.
From-SVN: r23679
1998-11-16 17:45:33 -07:00
Jason Merrill 6a8f78d52c typeck2.c (my_friendly_abort): Don't fatal twice in a row.
* typeck2.c (my_friendly_abort): Don't fatal twice in a row.
	* typeck.c (c_expand_start_case): Use build_expr_type_conversion.
	Simplify.
Fixes Sec6/4_2/G06164.gr
	* parse.y (structsp): Fix cut-and-paste error.
Fixes Sec6/4_2/C06166.cm
	* init.c (build_new): Complain about non-integral size.
Fixes Sec5/3_4/E05276.C
	* parse.y (unary_expr): Complain about defining types in sizeof.
Fixes Sec5/3_3/S05178.C
	* typeck.c (expr_sizeof): Complain about sizeof an overloaded fn.
Fixes Sec5/3_3/S05161.C
	* rtti.c (build_x_typeid): Complain about typeid without
	including <typeinfo>.
	(get_typeid): Likewise.  Complain about typeid of incomplete type.
	(get_tinfo_fn_dynamic): Likewise.
	(get_typeid_1): Not static anymore.
	* except.c (build_eh_type_type): Use get_typeid_1.
Fixes Sec5/2_8/C05517.cm
	* rtti.c (build_dynamic_cast_1): Give errors for dynamic_cast to
	ambiguous or private bases.  Fix warning for reference cast.
Fixes Sec5/2_7/C05516.cm

From-SVN: r23678
1998-11-16 15:45:16 -05:00
David Edelsohn efc97ef076 rs6000.c (output_mi_thunk): Improve test for local branch.
* rs6000.c (output_mi_thunk): Improve test for local branch.
	* rs6000.c (output_mi_thunk): Correct test for aggregate values.

From-SVN: r23676
1998-11-16 10:00:10 -05:00
J"orn Rennecke dfe96118e5 reload1.c (reload_reg_free_before_p): Delete.
* reload1.c (reload_reg_free_before_p): Delete.
	Changed all callers to use reload_reg_free_for_value_p instead.
	(reload_reg_free_for_value_p): Handle more reload types.
	A RELOAD_FOR_INPUT doesn't conflict with its
	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
	Add special case for OUT == const0_rtx.
	Added ignore_address_reloads argument.  Changed all callers.

From-SVN: r23675
1998-11-16 13:04:01 +00:00
Mark Mitchell fbf1c34bfa cp-tree.h (DECL_TEMPLATE_INSTANTIATED): New macro.
* cp-tree.h (DECL_TEMPLATE_INSTANTIATED): New macro.
	* decl.c (duplicate_decls): Remove special-case code to deal with
	template friends, and just do the obvious thing.
	* pt.c (register_specialization): Tweak for clarity, and also to
	clear DECL_INITIAL for an instantiation before it is merged with a
	specialization.
	(check_explicit_specialization): Fix indentation.
	(tsubst_friend_function): Handle both definitions in friend
	declaration and outside friend declarations.
	(tsubst_decl): Don't clear DECL_INITIAL for an instantiation.
	(regenerate_decl_from_template): Tweak accordingly.
	(instantiate_decl): Likewise.

From-SVN: r23674
1998-11-16 08:34:38 +00:00
Jason Merrill 848b92e1cc decl.c (cplus_expand_expr_stmt): Promote warning about naked member function reference to error.
* decl.c (cplus_expand_expr_stmt): Promote warning about naked
	member function reference to error.
	* cvt.c (ocp_convert): Complain about converting an overloaded
	function to void.
	* init.c (build_offset_ref): Just return a lone static member
	function.
	* decl.c (cp_finish_decl): Only complain about real CONSTRUCTORs,
	not internal ones.
	* typeck.c (build_binary_op_nodefault): Improve error handling.
	* decl.c (grokfndecl): Complain about making 'main' a template.
	* typeck.c (string_conv_p): Don't convert from wchar_t[] to char*.
	* call.c (build_method_call): Handle a BIT_NOT_EXPR around a
	TYPE_DECL in a template.
	* typeck2.c (my_friendly_abort): Add URL in the other case, too.

From-SVN: r23673
1998-11-16 00:05:20 -05:00
Jason Merrill 1f288b3fa1 toplev.c (compile_file): Don't pedwarn about undefined static functions just because we passed -Wunused.
* toplev.c (compile_file): Don't pedwarn about undefined static
	functions just because we passed -Wunused.

From-SVN: r23672
1998-11-15 21:25:57 -05:00