* sibcall.c (skip_copy_to_return_value): Call
identify_call_return_value here, and return orig_insn if it
returns zero. Hardret and softret arguments now unnecessary.
(call_ends_block_p): Don't call identify_call_return_value here.
* ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
's' slots in RTXen.
* ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
* ggc.h (ggc_mark_if_gcable): Delete prototype.
testsuite:
* g77.dg: New directory.
* g77.dg/20010216-1.f: New test case.
* g77.dg/dg.exp: New driver.
* lib/g77-dg.exp: New driver library.
From-SVN: r39916
* pa.c (move_operand): Accept code to load the address of a
symbol out of the DLT as a valid move operand.
(print_operand, case 'A'): New to handle generating a DLT
reference for a LO_SUM expression.
* pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
* pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
From-SVN: r39914
* parse.y (parser_check_super_interface): Don't call
check_pkg_class_access for an inner interface.
(parser_check_super): Don't call check_pkg_class_access for inner
class.
(do_resolve_class): Simplify enclosing type loop. Don't call
check_pkg_class_access if CL and DECL are not set.
(find_in_imports_on_demand): Set DECL if class_type needed to be
loaded. Don't call check_pkg_class_access for an inner class.
(check_inner_class_access): Rewritten to implement member access
rules as per spec 6.6.1.
(check_pkg_class_access): Handle the empty package correctly.
(in_same_package): New function. Determine if two classes are in the
same package.
From-SVN: r39909
* typeck.c (build_java_array_type): Don't try to poke a public `clone'
method into array types.
* parse.y (patch_method_invocation): Bypass access check on clone call
to array instance.
From-SVN: r39906
libf2c:
* libF77/Version.c, libI77/Version.c, libU77/Version.c: Update G77
version number to 0.5.27.
gcc:
* README, cpp.texi, gcc.texi, version.c: Update version number to
3.1.
* cpp.1, gcov.1, gcc.1: Regenerate.
gcc/f:
* version.c, root.texi: Update GCC version number to 3.1. Update
G77 version number to 0.5.27.
* BUGS, NEWS: Regenerate.
From-SVN: r39901
* cppfiles.c (stack_include_file): Generate dependencies
here, and manage include_count here too.
(PRINT_THIS_DEP): Delete.
(_cpp_execute_include): Do not generate dependencies here,
apart from the case of a missing header. Do not manage
include_count.
(_cpp_read_file): Leave dependency generation to
stack_include_file.
From-SVN: r39899
* regclass.c (contains_reg_of_mode): Make global.
(init_reg_sets): Remove contains_reg_of_mode; take into account
CLASS_MAX_NREGS when looking for the proper mode.
(dump_regclass): Dump only classes considered for the pseudo.
(regclass): Use contains_reg_of_mode.
From-SVN: r39891
* reg-stack.c (next_flags_user): Use current_block->end
(swap_rtx_condition): Look for next user if flags don't die;
give up on CALL_INSNs; use current_block->end.
From-SVN: r39884
* java/io/CharArrayReader.java (CharArrayReader): Throw
IllegalArgumentException if constructor arguments are illegal.
(ready): Return false if no more characters can be read.
* java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.
From-SVN: r39876
* toplev.c (note_deferral_of_defined_inlined_function): Argument
FNDECL may be unused.
* toplev.c (rest_of_compilation): Don't have CSE skip blocks or
follow jumps after first run.
If -fexpensive-optimizations rerun CSE after GCSE and iterate until
it doesn't change any jumps.
From-SVN: r39861
* Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
($HOST_PREFIX_1)rtlanal.o: Remove rules for building
(mostlyclean): Corresponding changes.
* rtlanal.c (hard-reg-set.h): Include.
(rtx_unstable_p): Do not treat the argument pointer specially
if it is not a fixed register.
(rtx_varies_p, rtx_addr_can_trap_p): Similarly.
From-SVN: r39860
* Makefile.in (gcse.o): Now includes ggc.h.
* gcse.c: Include ggc.h.
(want_to_gcse_p): Verify expression can be in SET as valid insn.
(try_replace_reg): Remove warning of uninitialize variable.
(process_insert_insn): Call invalid_insn_p to validate insn.
* recog.c (insn_invalid_p): Now global.
See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
* recog.h (insn_invalid_p): New declaration.
From-SVN: r39857
* config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
assignments from FP constants sonce 'Y' output code can't handle it.
(eligible_for_sibcall_delay): Likewise.
From-SVN: r39854
* flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
Call fancy_abort directly, passing args.
(print_rtl_and_abort): Now a macro, like fancy_abort.
From-SVN: r39852
* cp-tree.h (struct cp_language_function): Add x_vtt_parm.
(current_vtt_parm): New macro.
(struct lang_decl_flags): Add has_vtt_parm_p, remove vtt_parm.
(DECL_HAS_VTT_PARM_P): New macro.
(DECL_VTT_PARM): Remove.
(FUNCTION_FIRST_USER_PARMTYPE, FUNCTION_FIRST_USER_PARM): New macros.
* decl.c (duplicate_decls): Only copy the operator code if
appropriate.
(start_function): Set current_vtt_parm.
(lang_mark_tree): Don't mark vtt_parm.
* decl2.c (maybe_retrofit_in_chrg): Do add the VTT parm to
DECL_ARGUMENTS. Set DECL_HAS_VTT_PARM_P.
* class.c (build_clone): Maybe remove the VTT parm.
* optimize.c (maybe_clone_body): Set up the VTT parm.
* pt.c (copy_default_args_to_explicit_spec): Preserve the VTT parm.
* call.c (build_over_call): Just allow the VTT arg.
* method.c (make_thunk): Don't set DECL_VTT_PARM.
(do_build_copy_constructor): Use FUNCTION_FIRST_USER_PARM.
(synthesize_method): Use FUNCTION_FIRST_USER_PARMTYPE.
* decl.c (grokdeclarator, copy_args_p, grok_ctor_properties): Likewise.
* error.c (dump_function_decl): Likewise.
* call.c (build_user_type_conversion_1, convert_like_real): Abort
if we try to call a constructor with in-charge or VTT parms.
* method.c (skip_artificial_parms_for): New fn.
* call.c (add_function_candidate, build_over_call): Call it.
* call.c (build_new_method_call): Use current_vtt_parm.
* init.c (expand_virtual_init): Likewise.
* class.c (same_signature_p): No longer static.
* cp-tree.h: Declare it.
* search.c (look_for_overrides_r): Use it.
From-SVN: r39841
* rtl.h (add_clobbers): Remove duplicate declaration.
* recog.h (added_clobbers_hard_reg_p): New declaration.
* genemit.c (struct clobber_pat): New field has_hard_reg.
(gen_insn): Record if added clobbers clobber hard reg.
(gen_split): Avoid unused warning if number of operands is 0.
(output_added_clobbers_hard_reg_p): New function.
(main): Call it.
From-SVN: r39832
* pa.c (hppa_expand_prologue): Simplify code storing return
pointer. For large (>=8k) frames with a post_store, adjust stack
pointer by 8k-64 first rather than by 64. When testing with
VAL_14_BITS_P, always use the actual value rather than the value
negated. Add blockage to prevent scheduling of spills before
stack frame has been created.
(hppa_expand_epilogue): Simplify code loading return pointer.
Allow a slightly larger range for merge_sp_adjust_with_load case.
When testing with VAL_14_BITS_P, always use the actual value.
From-SVN: r39826