Bernd Schmidt [Tue, 27 Oct 1998 23:35:41 +0000 (23:35 +0000)]
reload1.c (verify_initial_offsets): New function.
* reload1.c (verify_initial_offsets): New function.
(reload): Call it after reload_as_needed. Also verify that the frame
size stays constant during reload_as_needed.
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
Jeffrey A Law [Tue, 27 Oct 1998 23:19:31 +0000 (23:19 +0000)]
final.c (cleanup_subreg_operands): New function.
* final.c (cleanup_subreg_operands): New function.
(final_scan_insn): Use it.
(alter_subreg): Clear the "used" field when we turn a SUBREG into
a REG.
* reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
operands when reload has finished.
* reload.h (cleanup_subreg_operands): Declare..
* flow.c (life_analysis_1): No longer delete CLOBBER insns after
reload. Handled in reload itself.
Should fix sh, sparc and probably other problems with post-reload life pass
and scheduling interactions.
* call.c (standard_conversion): instantiate_type here.
(reference_binding): And here.
(implicit_conversion): Not here.
(build_op_delete_call): No need to cons up an OVERLOAD.
* cvt.c (cp_convert_to_pointer): instantiate_type here.
(convert_to_reference): And here.
* decl.c (grok_reference_init): Not here.
(grokparms): Or here.
* typeck2.c (digest_init): Or here.
* typeck.c (decay_conversion): Take the address of overloaded
functions, too.
(require_instantiated_type): Lose.
(convert_arguments): Don't handle unknown types here.
(build_c_cast): Likewise.
(build_binary_op): Gut.
(build_conditional_expr): Don't require_instantiated_type.
(build_modify_expr): Likewise.
(build_static_cast): Don't instantiate_type.
(build_reinterpret_cast): Likewise.
(build_const_cast): Likewise.
(convert_for_initialization): Likewise.
(build_ptrmemfunc): Use type_unknown_p.
(convert_for_assignment): Also do default_conversion on overloaded
functions. Hand them off to ocp_convert.
* pt.c (convert_nontype_argument): Tell instantiate_type to complain.
Do complain about overload resolution producing a non-public fn.
David Edelsohn [Tue, 27 Oct 1998 13:23:17 +0000 (08:23 -0500)]
collect2.c (aix64_flag): New variable.
* collect2.c (aix64_flag): New variable.
(main, case 'b'): Parse it.
(GCC_CHECK_HDR): object magic number must match mode.
(scan_prog_file): Only check for shared object if valid header.
Print debugging if header/mode mismatch.
Andrew MacLeod [Tue, 27 Oct 1998 06:00:53 +0000 (06:00 +0000)]
dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING has been changed to not include a newline.
* dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
has been changed to not include a newline. Use this macro instead.
(output_enumeral_list, const_value_attribute, name_attribute,
comp_dir_attribute, prototyped_attribute, producer_attribute,
inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
dwarfout_file_scope_decl, generate_new_sfname_entry,
generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
Mark Mitchell [Mon, 26 Oct 1998 23:48:58 +0000 (23:48 +0000)]
error.c (dump_decl): Deal with TEMPLATE_DECLs that are VAR_DECLs.
* error.c (dump_decl): Deal with TEMPLATE_DECLs that are
VAR_DECLs. Handle vtables whose DECL_CONTEXT is not a type.
* class.c (finish_struct_1): Use build_cplus_array_type to build
array types.
* decl.c (init_decl_processing): Likewise.
* except.c (expand_end_eh_spec): Likewise.
* search.c (expand_upcast_fixups): Simplify very slightly.
Jason Merrill [Mon, 26 Oct 1998 11:59:09 +0000 (11:59 +0000)]
decl.c (grokdeclarator): Complain about a variable using constructor syntax coming back null from start_decl.
* decl.c (grokdeclarator): Complain about a variable using
constructor syntax coming back null from start_decl.
Fixes g++.other/decl2.C
* friend.c (make_friend_class): Complain about trying to make
a non-class type a friend.
Fixes g++.other/friend5.C
* decl.c (grokfndecl): Set DECL_INITIAL for a defn here.
(start_function): Not here.
Fixes g++.law/friend4.C
* typeck.c (convert_arguments): Don't handle pmf references
specially.
* init.c (build_member_call): Don't try to convert to the base type
if it's ambiguous.
* typeck2.c (check_for_new_type): Don't depend on pedantic.
Kaveh R. Ghazi [Sun, 25 Oct 1998 12:56:39 +0000 (12:56 +0000)]
Warning fixes:
* Makefile.in (recog.o): Depend on toplev.h.
(insn-emit.o): Depend on recog.h.
(insn-peep.o): Depend on recog.h and insn-config.h.
* combine.c (simplify_set): Remove unused variable `scratches'.
* final.c (final_scan_insn): Wrap declaration of variables `vlen'
and `idx' in macro conditional controlling their use.
* genemit.c (main): Make the generated output file include
recog.h. Don't have it declare `insn_operand_constraint', since
we get it from recog.h.
* genpeep.c (main): Make the generated output file include
insn-config.h and recog.h.
* recog.c: Include toplev.h.
(extract_insn): Remove unused variable `p'.
* regclass.c (fix_register): Add missing braces around initializer
for `what_option'.
(allocate_reg_info): Move variable `i' into the scope where it is
used. Change its type to `size_t'.
David Edelsohn [Fri, 23 Oct 1998 20:51:02 +0000 (20:51 +0000)]
loop.c (loop_has_tablejump): New variable.
* loop.c (loop_has_tablejump): New variable.
(prescan_loop): Scan for it.
(insert_bct): Replace explicit scan with use of it.
* regclass.c (regclass): Restore loop variable j.
(record_reg_classes): Deterine op_types modifiers and initialize
classes[i] before matching constraints. Handle matching
constraints 5-9.
Jeffrey A Law [Fri, 23 Oct 1998 20:25:09 +0000 (20:25 +0000)]
sched.c (update_flow_info): Revert Oct 19, 1998 change.
* sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
back Oct 15, 1998 change.
* haifa-sched.c (update_flow_info): Likewise.
* flow.c (life_analysis_1): Delete CLOBBER insns after reload.
Real fix was in flow.c...
Andrew MacLeod [Fri, 23 Oct 1998 16:26:19 +0000 (16:26 +0000)]
exception.cc (__cp_pop_exception): Free the original exception value, not the potentially coerced one.
1998-10-23 Andrew MacLeod <amacleod@cygnus.com>
* exception.cc (__cp_pop_exception): Free the original exception
value, not the potentially coerced one.
Kaveh R. Ghazi [Fri, 23 Oct 1998 13:12:09 +0000 (13:12 +0000)]
Warning fixes:
* sparc.h (EXTRA_SPECS): Add missing initializers.
(sparc_defer_case_vector): Provide a prototype.
* svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
comparing it to the result of a pointer subtraction.
Kaveh R. Ghazi [Fri, 23 Oct 1998 12:39:18 +0000 (12:39 +0000)]
Warning fixes:
* alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
the argument to (unsigned char).
* alpha.h (EXTRA_SPECS): Add missing initializers.
(ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
format specifier.
Jason Merrill [Fri, 23 Oct 1998 02:18:53 +0000 (02:18 +0000)]
expr.c (pending_chain): Move up.
* expr.c (pending_chain): Move up.
(save_expr_status): Do save pending_chain.
(restore_expr_status): And restore it.
* function.h (struct function): Add pending_chain.
Per Bothner [Thu, 22 Oct 1998 23:11:53 +0000 (16:11 -0700)]
jvspecs.c: Add (but don't enable) support for combining multiple .class and .java input...
�
* jvspecs.c: Add (but don't enable) support for combining multiple
.class and .java input filenames to a single jc1 invocation.
Add support for -C flag (copile to .class files).
Translate -classpath and -CLASSPATH arguments.
* lang-specs.h: Don't set %2 spec.
Per Bothner [Thu, 22 Oct 1998 23:11:51 +0000 (16:11 -0700)]
jvspecs.c: Add (but don't enable) support for combining multiple .class and .java input...
* jvspecs.c: Add (but don't enable) support for combining multiple
.class and .java input filenames to a single jc1 invocation.
Add support for -C flag (copile to .class files).
Translate -classpath and -CLASSPATH arguments.
* lang-specs.h: Don't set %2 spec.
Bernd Schmidt [Thu, 22 Oct 1998 23:08:26 +0000 (23:08 +0000)]
regclass.c (regclass): Break out some code into new function scan_one_insn, and into regclass_init.
* regclass.c (regclass): Break out some code into new function
scan_one_insn, and into regclass_init.
(init_cost): New static variable, moved out of regclass.
(regclass_init): Initialize it here, not in .
(scan_one_insn): New static function, broken out of regclass.
* recog.c (apply_change_group): Break out some code into new
function insn_invalid_p.
(insn_invalid_p): New static fn, broken out of apply_change_group.
Tom Tromey [Thu, 22 Oct 1998 16:30:34 +0000 (16:30 +0000)]
jcf-path.c (add_entry): Don't add trailing separator if entry is a .zip file.
* jcf-path.c (add_entry): Don't add trailing separator if entry is
a .zip file.
(add_path): Don't add trailing separator to non-empty path
elements.
* lang.c (lang_decode_option): Check for -fclasspath and
-fCLASSPATH before examining other `-f' options.
Michael Hayes [Thu, 22 Oct 1998 16:11:16 +0000 (16:11 +0000)]
rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for addressing modes with side effects.
* rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
addressing modes with side effects. These are currently
placeholders for the C4x target.