* haifa-sched.c (sched_emit_insn): New.
(schedule_block): Use last_scheduled_insn to track last insn.
* sched-int.h (sched_emit_insn): Prototype.
* config/ia64/ia64.c (last_issued): Remove.
(ia64_variable_issue): Don't set it.
(nop_cycles_until): Use sched_emit_insn.
Jason Merrill [Thu, 28 Feb 2002 13:30:04 +0000 (08:30 -0500)]
c-decl.c (finish_function): Only warn about missing return statement with -Wreturn-type.
* c-decl.c (finish_function): Only warn about missing return
statement with -Wreturn-type.
* cp/decl.c (finish_function): Only warn about missing return
statement with -Wreturn-type.
* expr.c (java_array_data_offset): Removed function.
(JAVA_ARRAY_LENGTH_OFFSET): Removed macro.
(build_java_array_length_access): Obtain "length" value using a
COMPONENT_REF, instead of INDIRECT_REF and arithmetic.
(build_java_arrayaccess): Correct comment. Access "data" using a
COMPONENT_REF, and return an ARRAY_REF instead of an INDIRECT_REF.
(build_java_arraystore_check): New function.
(expand_java_arraystore): Use build_java_arraystore_check.
* parse.y (patch_assignment): Simplify code to insert a store check
when lvalue is an ARRAY_REF. Use build_java_arraystore_check.
* check-init.c (check_init): Update to reflect that an array length
access is now a COMPONENT_REF.
* gcj.texi (Code Generation): Improve documentation of
-fno-bounds-check. Add documentation for -fno-store-check.
* java-tree.h (flag_store_check): Declare.
(build_java_arraystore_check): Declare.
* lang.c (flag_store_check): Initialize to 1.
(lang_f_options): Add store-check option.
* jvspec.c: Don't pass store-check option to jvgenmain.
* lang-options.h: Add help string for -fno-store-check.
Jan Hubicka [Thu, 28 Feb 2002 10:11:01 +0000 (10:11 +0000)]
basic-block.h (BB_REACHABLE): Renumber.
* basic-block.h (BB_REACHABLE): Renumber.
(BB_DIRTY, BB_NEW): New flags.
(clear_bb_flags): Declare.
(update_life_info_in_dirty_blocks): Declare.
* cfg.c (clear_bb_flags): New function.
* cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
* emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
reorder_insns, emit_insn_after): Mark block as dirty.
* flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
(update_life_info_in_dirty_blocks): New function.
* recog.c (apply_change_group): Dirtify block.
* cse.c (cse_insn): Reorder emitting of jump insn to keep
cfg consistent.
* gcse.c (delete_null_pointer_checks): Likewise.
* toplev.c (dump_file_index): Move cse2 after bp,
add DFI_null
(dump_file_info): Similary.
(rest_of_compilation): Avoid most of CFG rebuilds;
do first if converision after null pointer checks, do cse2
after branch prediction; avoid full liveness rebuild after
initializing subregs.
* invoke.texi (-d options): Document -du, renumber.
* cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
(notice_new_block): Do not set BB_UPDATE_LIFE.
(try_forward_edges, merge_blocks_move_predecessor_nojumps,
merge_blocks_move_successor_nojumps, merge_blocks,
try_crossjump_to_edge): Likewise.
(try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
* cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
* ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
(merge_of_block): Do not use life_data_ok.
(find_if_case_1): Do not use SET_UPDATE_LIFE.
(if_convert): Use BB_DIRTY mechanizm to update life.
* lcm.c (optimize_mode_switching): Update
update_life_info_in_dirty_blocks
* ada/misc.c, ch/ch-tree.h, ch/decl.c, cp/decl2.c, f/com.c,
f/lex.c, f/top.c, java/builtins.c, java/decl.c: Delete
traditional-mode-related code copied from the C front end
but not used, or used only to permit the compiler to link.
* doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
Document removal of -traditional mode for compilation, and
remove documentation only relevant to that mode.
* config/nextstep.h, config/ptx4.h, config/svr4.h,
config/convex/convex.h, config/d30v/d30v.h,
config/i386/dgux.h, config/i386/osf1elf.h,
config/i386/osfelf.h, config/i386/osfrose.h,
config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
config/m68k/hp310.h, config/m88k/dgux.h,
config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
config/m88k/m88k.h, config/m88k/openbsd.h,
config/mips/abi64.h, config/mips/osfrose.h,
config/mips/svr4-5.h, config/mips/svr4-t.h,
config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
config/stormy16/stormy16.h: Remove all references to
-traditional from target specs. Delete all mention of the
no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
delete a couple of commented-out definitions of
DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
to -traditional.
* testsuite/gcc.c-torture/execute/920730-1t.c,
testsuite/gcc.c-torture/execute/920730-1t.x,
testsuite/gcc.dg/ext-glob.c: Delete test cases, only relevant
to -traditional.
Neil Booth [Wed, 27 Feb 2002 07:24:53 +0000 (07:24 +0000)]
cpplex.c (_cpp_lex_token): Handle directives in macro arguments.
* cpplex.c (_cpp_lex_token): Handle directives in macro
arguments.
* cpplib.c (_cpp_handle_directive): Save and restore state
if parsing macro args when entering a directive.
* cppmacro.c (collect_args): No need to handle directives
in macro arguments.
(enter_macro_context, replace_args): Use the original macro
definition in case it was redefined whilst collecting arguments.
doc:
* cpp.texi: Update.
testsuite:
* gcc.dg/cpp/undef1.c: Remove.
* gcc.dg/cpp/directiv.c: Update.
* gcc.dg/cpp/mac-dir-1.c, mac-dir-2.c: New tests.
Kazu Hirata [Wed, 27 Feb 2002 01:09:50 +0000 (01:09 +0000)]
h8300-protos.h: Update the prototype for compute_logical_op_length.
* config/h8300/h8300-protos.h: Update the prototype for
compute_logical_op_length. Add the prototype for
compute_logical_op_cc.
* config/h8300/h8300.c (compute_logical_op_length): Figure out
code from operands.
(compute_logical_op_cc): New.
* config/h8300/h8300.md: Combine all the logical op patterns
in HImode and SImode. Use compute_logical_op_cc.
Loren J. Rittle [Tue, 26 Feb 2002 23:02:52 +0000 (23:02 +0000)]
Makefile.am (thread_target_headers): Unconditionally stage and install gthr-posix.h.
* include/Makefile.am (thread_target_headers): Unconditionally
stage and install gthr-posix.h.
(${target_builddir}/gthr-posix.h): New rule cloned off
${target_builddir}/gthr-default.h.
(${target_builddir}/gthr-default.h): Support chained inclusion
of gthr support headers.
* include/Makefile.in: Rebuilt.
Jakub Jelinek [Tue, 26 Feb 2002 21:39:07 +0000 (22:39 +0100)]
configure.in (libgcc_visibility): Substitute.
* configure.in (libgcc_visibility): Substitute.
* configure: Rebuilt.
* mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
defined symbols .hidden.
* attribs.c (c_common_attribute_table): Add visibility.
(handle_visibility_attribute): New function.
* varasm.c (assemble_visibility): New function.
* output.h (assemble_visibility): Add prototype.
* tree.h (MODULE_LOCAL_P): Define.
* crtstuff.c (__dso_handle): Use visibility attribute.
* config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
for MODULE_LOCAL_P symbols too.
* config/ia64/ia64.c (ia64_encode_section_info): Handle
MODULE_LOCAL_P symbols the same way as local symbols.
Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
into .sdata/.sbss by the user.
* doc/extend.texi (Function Attributes): Document visibility
attribute.
Jakub Jelinek [Tue, 26 Feb 2002 21:08:57 +0000 (22:08 +0100)]
re PR debug/5770 (undefined reference to `.LC0')
PR debug/5770
* dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
STRING_CST initializer spanning the whole variable without
embedded zeros.
If expand_expr returned MEM, don't use it.
Paolo Carlini [Tue, 26 Feb 2002 20:56:24 +0000 (21:56 +0100)]
locale_facets.tcc (num_put::_M_widen_int): Group all the integral types, not only decs.
2002-02-26 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc (num_put::_M_widen_int):
Group all the integral types, not only decs.
* testsuite/27_io/ios_manip_basefield.cc (test01): Tweak existing
tests, add a few more.
Kazu Hirata [Tue, 26 Feb 2002 12:50:52 +0000 (12:50 +0000)]
h8300-protos.h: Add a prototype for compute_logical_op_length.
* config/h8300/h8300-protos.h: Add a prototype for
compute_logical_op_length.
* config/h8300/h8300.c (compute_logical_op_length): New.
* config/h8300/h8300.md (anonymous logical patterns): Use
compute_logical_op_length for length.
Alexandre Oliva [Mon, 25 Feb 2002 13:25:11 +0000 (13:25 +0000)]
gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to link with shared_name only.
* gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
link with shared_name only.
* doc/invoke.texi (Link Options): Document new behavior.
Adam Megacz [Mon, 25 Feb 2002 04:10:53 +0000 (04:10 +0000)]
natPlainDatagramSocketImpl.cc: Updated #includes for Win32...
2002-02-24 Adam Megacz <adam@xwt.org>
* java/net/natPlainDatagramSocketImpl.cc: Updated #includes
for Win32, changed #ifdefs to check WIN32 instead of the
(now-obsolete) USE_WINSOCK, and removed support for socket
timeouts on Win32 pending further discussion.
Neil Booth [Sun, 24 Feb 2002 12:52:30 +0000 (12:52 +0000)]
cpplex.c (cpp_interpret_charconst): Get signedness or otherwise of wide character constants correct.
* cpplex.c (cpp_interpret_charconst): Get signedness or
otherwise of wide character constants correct.
* cppexp.c (lex): Get signedness of wide charconsts correct.
* testsuite/gcc.dg/cpp/wchar-1.c: New test.
Richard Kenner [Sun, 24 Feb 2002 12:46:52 +0000 (12:46 +0000)]
optabs.c (widen_operand): Only call convert_modes for promoted SUBREG if signedness matches.
* optabs.c (widen_operand): Only call convert_modes for
promoted SUBREG if signedness matches.
* config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
Joseph Myers [Sun, 24 Feb 2002 01:37:10 +0000 (01:37 +0000)]
gcc_release: Revert change to -p interface.
* gcc_release: Revert change to -p interface. Allow for local and
remote cases in creating directories. Give an error if -p
argument names a directory.
Kazu Hirata [Sat, 23 Feb 2002 14:17:25 +0000 (14:17 +0000)]
h8300.c (output_simode_bld): Handle H8/300 and H8/300[HS] separately.
* config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
H8/300[HS] separately.
* config/h8300/h8300.md: Remove the early clobber constraint
from bit field patterns.
Richard Kenner [Sat, 23 Feb 2002 13:21:17 +0000 (08:21 -0500)]
expr.c (store_expr): When converting expression to promoted equivalent type...
* expr.c (store_expr): When converting expression to promoted
equivalent type, allow using SUBREG_REG of TARGET as the target
of the expansion of EXP.
* loop.c (basic_induction_var, case SUBREG): Always look inside.
* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
(alpha_emit_set_const): Handle SImode when can't make new pseudos.
(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.