Richard Kenner [Wed, 21 Nov 2001 23:41:40 +0000 (23:41 +0000)]
function.c (keep_stack_depressed): Major rework.
* function.c (keep_stack_depressed): Major rework.
(handle_epilogue_set, emit_equiv_load): New functions.
(thread_prologue_and_epilogue_insns): keep_stack_depressed now
has return value.
* jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
* rtl.h (SET_IS_RETURN_P): New macro.
Richard Kenner [Wed, 21 Nov 2001 23:32:03 +0000 (23:32 +0000)]
expr.c (expand_expr, [...]): Refine slightly and also support TREE_ADDRESSABLE.
* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
and also support TREE_ADDRESSABLE.
* tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
Jakub Jelinek [Wed, 21 Nov 2001 11:13:14 +0000 (12:13 +0100)]
explow.c (probe_stack_range): Use LCT_NORMAL as second argument to emit_library_call.
* explow.c (probe_stack_range): Use LCT_NORMAL as second argument
to emit_library_call.
* function.c (expand_main_function, expand_function_start,
expand_function_end): Likewise.
* profile.c (output_func_start_profiler): Likewise.
* stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
second argument to emit_library_call.
* optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
as second argument to emit_library_call.
* calls.c (emit_library_call): Update fn_type description.
Toon Moene [Wed, 21 Nov 2001 06:30:50 +0000 (07:30 +0100)]
g77.texi: egcs was not a `@command'.
2001-11-21 Toon Moene <toon@moene.indiv.nluug.nl>
* g77.texi: egcs was not a `@command'.
* invoke.texi: Ditto.
* news.texi: Substitute `@command' for `@code'
and `@option' for `@samp' where appropriate.
* config/rs6000/rs6000.md: Replace '%$' with '$' in all
output templates.
* config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
Aldy Hernandez [Wed, 21 Nov 2001 01:04:44 +0000 (01:04 +0000)]
rs6000.c (direct_return): Check if we are saving altivec registers.
* rs6000.c (direct_return): Check if we are saving altivec
registers.
(first_altivec_reg_to_save): New.
Updated stack frame layout comments.
(rs6000_stack_info): Calculate altivec register save size.
Save link register if we saved some altivec registers.
(rs6000_stack_info): Align save size to 16 if altivec abi or
abi_darwin.
(rs6000_stack_info): Calculate altivec register offsets.
(rs6000_stack_info): Add altivec info to save_size.
(debug_stack_info): Add altivec debug info.
(rs6000_emit_prologue): Save altivec registers and vrsave.
(compute_vrsave_mask): New.
(altivec_expand_builtin): Remove unused variables.
(rs6000_parse_abi_options): Add static qualifier.
(rs6000_expand_builtin): Remove unused parameters.
(altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
(altivec_init_builtins): Same.
(is_altivec_return_reg): New.
(vrsave_operation): New.
(ALTIVEC_REG_BIT): New.
(generate_set_vrsave): New.
Tom Tromey [Tue, 20 Nov 2001 05:16:17 +0000 (05:16 +0000)]
verify.cc (_Jv_BytecodeVerifier::branch_prepass): Uses two operand bytes, not one.
* verify.cc (_Jv_BytecodeVerifier::branch_prepass) [op_iinc]:
Uses two operand bytes, not one.
[op_arraylength]: Has no operands in bytecode.
(_Jv_BytecodeVerifier::push_jump): Fixed call to
check_no_uninitialized_objects.
(_Jv_BytecodeVerifier::push_exception_jump): Likewise.
(_Jv_BytecodeVerifier::handle_ret_insn): Likewise.
(_Jv_BytecodeVerifier::handle_jsr_insn): Likewise.
Mark Mitchell [Tue, 20 Nov 2001 05:09:34 +0000 (05:09 +0000)]
re PR c++/4629 (non-constant `sizeof (void*)' cannot be used as template argument)
* dump.c (dump_op): New function.
(cp_dump_tree): Dump CLASSTYPE_TEMPLATE_SPECIALIZATION. Use
dump_op. Dump DECL_MUTABLE, access and staticness for VAR_DECLs.
DECL_PURE_VIRTUAL_P, DECL_VIRTUAL_P,
PR4629
* semantics.c (finish_sizeof): Make sure that expression created
while processing a template do not have a type.
(finish_alignof): Likewise.
* typeck.c (c_sizeof): Likewise.
(expr_sizeof): Likewise.
Geoffrey Keating [Tue, 20 Nov 2001 03:51:02 +0000 (03:51 +0000)]
cpp.exp: For testing on a remote host, copy across all the headers.
* gcc.dg/cpp/cpp.exp: For testing on a remote host, copy
across all the headers.
* gcc.dg/format/format.exp: For testing on a remote host,
copy format.h.
* gcc.c-torture/execute/20011008-3.c: Allow for small STACK_SIZE.
* gcc.c-torture/execute/930406-1.c: Likewise.
* gcc.c-torture/execute/comp-goto-1.c: Likewise.
Richard Kenner [Mon, 19 Nov 2001 20:38:07 +0000 (20:38 +0000)]
tree.def (VIEW_CONVERT_EXPR): New tree code.
* tree.def (VIEW_CONVERT_EXPR): New tree code.
* tree.h (handled_component_p): New declaration.
* alias.c (handled_component_p): Move function from here ...
* expr.c (handled_component_p): ... to here and non longer static.
(is_zeros_p, case VIEW_CONVERT_EXPR): New case.
(store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
(get_inner_reference): Handle VIEW_CONVERT_EXPR.
(expand_expr, case VAR_DECL): Clean up handling of re-layout case.
(expand_expr, case VIEW_CONVERT_EXPR): New case.
(expand_expr, cse ADDR_EXPR): No need to copy if already
BIGGEST_ALIGNMENT.
* fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
* varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
(output_constant): Handle VIEW_CONVERT_EXPR.
* dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
Add new case for VIEW_CONVERT_EXPR.
Jan Hubicka [Mon, 19 Nov 2001 17:08:48 +0000 (18:08 +0100)]
gcse.c (try_replace_reg): Copy RTX before creating note.
* gcse.c (try_replace_reg): Copy RTX before creating note.
* df.h (df_ref_flags): New uenum.
(DF_REF_FLAGS): New macro.
(struct ref): Add field "flags".
* df.c (HANDLE_SUBREG): Remove.
(df_ref_create): Likewise; set flags field of ref.
(df_def_record_1): Strip down read_write subreg; remove
commented out code; set READ_WRITE flag.
(read_modify_subreg_p): New static function.
(df_uses_record): Cleanup SET handling; set READ_WRITE flag;
new argument "flags".
(df_insn_refs_record): Update call of df_uses_record.
(df_insn_modify): Avoid #if 0 around comment.
(df_dump): Dump the read/write flag.
* predict.c (propagate_freq): Make cyclic_probability and frequency
volatile
* i386.c (ix86_cc_mode): Accept USE.
* cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
jump is turned into simplejump.
Joseph Myers [Mon, 19 Nov 2001 12:42:28 +0000 (12:42 +0000)]
fragments.texi, [...]: Remove links to old installation chapter.
* doc/fragments.texi, doc/trouble.texi: Remove links to old
installation chapter.
* doc/gcc.texi: Don't claim that this manual documents
installation. Mark Installation menu entry as being out of date.
Douglas B Rupp [Mon, 19 Nov 2001 12:17:28 +0000 (07:17 -0500)]
xm-vms.h: Don't define macros that autoconf handles.
* config/alpha/xm-vms.h: Don't define macros that autoconf handles.
(SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
* gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
Tom Tromey [Mon, 19 Nov 2001 00:31:37 +0000 (00:31 +0000)]
verify.cc (_Jv_BytecodeVerifier::pop_type): Put PC into error message.
* verify.cc (_Jv_BytecodeVerifier::pop_type): Put PC into error
message.
(_Jv_BytecodeVerifier::pop64): Likewise.
(_Jv_BytecodeVerifier::pop32): Likewise.
(_Jv_BytecodeVerifier::pop_raw): Likewise.
(_Jv_BytecodeVerifier::pop_type): Promote the match type.
(type::set_initialized): Only modify uninitialized types.
(type::set_uninitialized): Fix shadowing bug. Simplify code.
Craig Rodrigues [Mon, 19 Nov 2001 00:24:52 +0000 (00:24 +0000)]
re PR bootstrap/4448 (make bootstrap failed: gthr-win32.h erroneous)
2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
PR c/4448
* gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
name __objc_thread_exit_status so that it matches the
variable defined in objc/thr.h.
Tom Tromey [Mon, 19 Nov 2001 00:13:36 +0000 (00:13 +0000)]
re PR java/1401 (+= semantics not correct (when generating bytecode))
Fix for PR java/1401:
* jcf-write.c (generate_bytecode_insns) [binop]: Handle case where
arg0 is null.
(generate_bytecode_insns) [MODIFY_EXPR]: Handle `OP=' case
correctly.
Tom Tromey [Sun, 18 Nov 2001 23:04:28 +0000 (23:04 +0000)]
verify.cc: Include StringBuffer.h.
* verify.cc: Include StringBuffer.h.
(verify_fail): Added pc argument. Use StringBuffer to construct
exception message.
(_Jv_BytecodeVerifier::verify_instructions_0): Put PC into error
message.
(_Jv_BytecodeVerifier::check_return_type): Likewise.
(_Jv_BytecodeVerifier::handle_field_or_method): Likewise.
(_Jv_BytecodeVerifier::check_constant): Likewise.
(_Jv_BytecodeVerifier::check_class_constant): Likewise.
(_Jv_BytecodeVerifier::check_pool_index): Likewise.
(_Jv_BytecodeVerifier::get_variable): Likewise.
(_Jv_BytecodeVerifier::branch_prepass): Likewise. Also, correctly
check exception handler endpoint.
(_Jv_BytecodeVerifier::verify_instructions_0): Correctly handle
wide arguments to current method.
(_Jv_BytecodeVerifier::check_wide_constant): New method.
(_Jv_BytecodeVerifier::verify_instructions_0) [op_ldc2_w]: Use
it.
Richard Kenner [Sun, 18 Nov 2001 21:44:26 +0000 (21:44 +0000)]
expr.c (expand_expr, [...]): Update alignment of DECL_RTL after re-laying out decl in incomplete case.
* expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
after re-laying out decl in incomplete case.
(expand_expr, case ADDR_EXPR): Fix typo in copy case.
Joseph Myers [Sun, 18 Nov 2001 19:46:58 +0000 (19:46 +0000)]
install-old.texi: Move some sections out to ...
* doc/install-old.texi: Move some sections out to ...
* doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
... here. New files. Make into chapters rather than sections.
* doc/gcc.texi: Include the new files and add menu entries for
them.
* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
Richard Kenner [Sun, 18 Nov 2001 19:36:01 +0000 (19:36 +0000)]
tree.h (TYPE_ALIGN_OK): New flag.
* tree.h (TYPE_ALIGN_OK): New flag.
* emit-rtl.c (set_mem_attributes): Handle it.
* expr.c (emit_single_push_insn): Only set to alias set 0 if
doing sibcall optimization.
(expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
when make temporary.
(expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
(expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
* libsupc++/eh_type.cc (__cxa_current_exception_type): New file.
* libsupc++/cxxabi.h: Declare it.
* libsupc++/Makefile.am (sources): Add it.
* src/vterminate.cc (verbose_terminate_handler): New file.
* libsupc++/exception: Declare it.
* src/Makefile.am (sources): Add it.
* src/Makefile.am (VPATH): Check the src directory before the top one.