Phil Edwards [Tue, 18 Jun 2002 19:07:12 +0000 (19:07 +0000)]
configure.host: Delete file.
2002-06-18 Phil Edwards <pme@gcc.gnu.org>
* configure.host: Delete file.
* configure.target: More documentation. Factor out common parts of
script into "intelligent" settings about defaults. Remove redundancy.
* acinclude.m4: Update comments. Do not call configure.host.
(GLIBCPP_ENABLE_SYMVERS): If disabled, do not bother checking for
libgcc_s.
* configure.in: Slight reformatting, more comments. Factor out
"config/" from all the directories.
* docs/html/17_intro/porting.texi: Update and expand.
* testsuite/Makefile.am (AM_RUNTESTFLAGS): Move empty setting
from configure.host.
Vladimir Makarov [Tue, 18 Jun 2002 16:18:23 +0000 (16:18 +0000)]
rtl.def (DEFINE_AUTOMATON): Add description of new options `time' and `v'.
2002-06-18 Vladimir Makarov <vmakarov@redhat.com>
* rtl.def (DEFINE_AUTOMATON): Add description of new options
`time' and `v'. Fix incorrect description of option `w'.
* doc/md.texi: Ditto.
* genautomata.c (TIME_OPTION, V_OPTION): New macros.
(gen_automata_option): Process the new options.
(transform_2, transform_3): Initialize some variables.
(initiate_automaton_gen): Use the new macros.
Jason Merrill [Tue, 18 Jun 2002 16:05:31 +0000 (12:05 -0400)]
C++ ABI changes.
* class.c (build_base_field): Set DECL_PACKED.
(layout_class_type): Don't use tail padding of PODs.
* mangle.c (write_unqualified_name): Fix template conversion op
mangling.
Neil Booth [Tue, 18 Jun 2002 06:27:40 +0000 (06:27 +0000)]
cpplib.c (dtable): Update.
* cpplib.c (dtable): Update.
(end_directive): Decrement expansion prevention count.
Clear state.in_expression.
(prepare_directive_trad): Set state.in_expression.
Increment expansion prevention count.
* cpptrad.c (enum ls): New.
(_cpp_overlay_buffer): Set overlaid_buffer.
(_cpp_remove_overlay): Use overlaid_buffer.
(_cpp_read_logcial_line_trad): Update buffer when it might
have changed.
(scan_out_logical_line): Handle state transitions for assertions
and defined() in #if, and for funlike invocations including the
directive case. Handle '<' and '>' as a quote mechanism in
#include. Warn about unterminated macro invocations.
* cpphash.h (struct lexer_state): New member in_expression.
(struct cpp_reader): New member overlaid buffer.
Aldy Hernandez [Tue, 18 Jun 2002 01:35:47 +0000 (01:35 +0000)]
simd-1.c: New.
2002-06-16 Aldy Hernandez <aldyh@redhat.com>
* gcc.c-torture/execute/simd-1.c: New.
* gcc.dg/simd-1.c: New.
* doc/extend.texi (Vector Extensions): Document that we can
specify simd types not specifically supported by the hardware.
Document that simd types can be used as function arguments.
Document that signness does make a difference in SIMD types.
Misc cleanups and revisions to the "vector extensions" section.
* simplify-rtx.c (simplify_subreg): Simplify subregs of vector
constants.
* expr.c (vector_mode_valid_p): New.
* expr.h: Add vector_mode_valid_p.
* defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
* emit-rtl.c (immed_double_const): Do not abort on vectors.
* c-common.c (type_for_mode): Always build vector nodes regardless
of VECTOR_MODE_SUPPORTED_P.
(handle_mode_attribute): Error if we can't emulate a nonexisting
vector mode.
(handle_vector_size_attribute): Same.
Andreas Schwab [Mon, 17 Jun 2002 19:13:46 +0000 (19:13 +0000)]
print-rtl.c (print_rtx): Print space before vector, not after.
* print-rtl.c (print_rtx): Print space before vector, not after.
(debug_rtx): Clear sawclose before printing.
(debug_rtx_list): Print newline after each list element.
(debug_rtx_range): Likewise.
J"orn Rennecke [Mon, 17 Jun 2002 11:33:20 +0000 (11:33 +0000)]
reload1.c (merge_assigned_reloads): Don't change reloads other than RELOAD_FOR_INPUT_ADDRESS /...
* reload1.c (merge_assigned_reloads): Don't change reloads
other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
to RELOAD_OTHER when there are conflicting input reloads.
Neil Booth [Sun, 16 Jun 2002 21:13:11 +0000 (21:13 +0000)]
config.gcc: Add an i386/sysv4-cpp.h.
* config.gcc: Add an i386/sysv4-cpp.h. Remove i386-aout.h from
vxworks.
config/i386:
* i386-aout.h, i386elf.h, sysv4.h: Remove CPP_PREDEFINES.
* linux64.h: Use TARGET_OS_CPP_BUILTINS rather than
CPP_PREDEFINES and part of CPP_SPEC.
i386elf.h, mach.h, netware.h, rtemself.h, sco5.h, sol2.h,
vsta.h, vxi386.h, win32.h: Similarly.
* sysv4-cpp.h: New.
c-common.c (flag_ms_extensions): Move from c++ front end.
* c-common.c (flag_ms_extensions): Move from c++ front end.
* c-common.h (flag_ms_extensions): Declare.
* c-decl.c (c_decode_option): Add -fms-extensions.
(grokfield): Don't accept anonymous structures in ISO C mode;
accept only unnamed anonymous structures in GNU C mode; accept
Plan 9 extensions in MS mode.
* c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
(extension): Clear flag_iso.
* doc/invoke.texi (C Dialect Options): Add -fms-extensions.
* cp-tree.h, decl2.c (flag_ms_extensions): Move to c-common.
re PR target/7042 (cris-elf miscompiles line_hints in ghostscript - "return" delay slot bug)
PR target/7042
* reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
early if current_function_epilogue_delay_list is non-empty.
* config/cris/cris.md ("return"): Add sanity check asserting that
current_function_epilogue_delay_list is empty.
Roger Sayle [Sat, 15 Jun 2002 20:21:22 +0000 (20:21 +0000)]
expr.c (compare_from_rtx): Call simplify_relational_operation on all comparisons...
* expr.c (compare_from_rtx): Call simplify_relational_operation
on all comparisons, not just those between integer constants,
with the correct (possibly unsigned) comparison code.
(do_compare_rtx_and_jump): Likewise.
* java/text/ChoiceFormat.java: Update comments from Classpath.
* java/text/ParseException.java (serialVersionUID): New
field from Classpath.
* java/text/ParseException.java: Update formatting & comments
from Classpath.
Tom Tromey [Sat, 15 Jun 2002 18:31:13 +0000 (18:31 +0000)]
InflaterInputStream.java (read): Loop if data has been read but none output by inflater.
* java/util/zip/InflaterInputStream.java (read): Loop if data has
been read but none output by inflater.
* java/util/zip/natDeflater.cc (reset): Set is_finished.
* java/util/zip/natInflater.cc (reset): Set dist_needed and
is_finished.
* java/util/zip/ZipOutputStream.java: Replaced with Classpath
version.
* java/util/zip/ZipFile.java: Replaced with Classpath version.
* java/util/zip/ZipEntry.java: Replaced with Classpath version.
* java/util/zip/ZipInputStream.java: Replaced with Classpath
version.
* java/util/zip/ZipConstants.java: Replaced with Classpath version.
Roger Sayle [Sat, 15 Jun 2002 16:55:24 +0000 (16:55 +0000)]
fold-const.c (comparison_to_compcode): New function to convert an comparison TREE CODE into a bit-based representation.
* fold-const.c (comparison_to_compcode): New function to convert
an comparison TREE CODE into a bit-based representation.
(compcode_to_comparison): New function to convert from this bit
based representation back to a comparison TREE CODE.
(fold_truthop): Simplify (x<y) && (x==y) and related composite
comparisons.
* gcc.c-tortuture/execute/compare-1.c: New test case.
* gcc.c-tortuture/execute/compare-2.c: New test case.
* gcc.c-tortuture/execute/compare-3.c: New test case.
* stor-layout.c (compute_record_mode): Remove check for
FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
MEMBER_TYPE_FORCES_BLK. Pass new mode field to
MEMBER_TYPE_FORCES_BLK.
Steve Ellcey [Sat, 15 Jun 2002 01:16:28 +0000 (01:16 +0000)]
configure.in (USE_UNWIND_EXCEPTIONS): Add support to set USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
* configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
* configure, config.in: Regenerate.
* g++spec.c (LIBUNWIND): New.
(lang_specific_driver): Add it if USE_UNWIND_EXCEPTIONS is set.
Eric Botcazou [Sat, 15 Jun 2002 01:10:49 +0000 (01:10 +0000)]
loop.c (check_final_value): Use v->always_executed instead of v->always_computable.
* loop.c (check_final_value): Use v->always_executed
instead of v->always_computable.
* unroll.c (final_giv_value): Don't calculate the final
value as a function of the biv if the giv is not computed
for every loop iteration.
Eric Botcazou [Sat, 15 Jun 2002 00:40:49 +0000 (00:40 +0000)]
convert.c (convert_to_integer): Don't pass the truncation down when the target type is signed.
* convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
the truncation down when the target type is signed.
[trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
* fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
the conversion if the target type is a smaller type.
Jeff Law [Fri, 14 Jun 2002 16:25:36 +0000 (10:25 -0600)]
gcse.c (delete_null_pointer_checks_1): Inform caller if any null pointer checks were eliminated.
* gcse.c (delete_null_pointer_checks_1): Inform caller if any
null pointer checks were eliminated. Update prototype.
(delete_null_pointer_checks): Similarly.
* rtl.h (delete_null_pointer_checks): Update prototype.
* toplev.c (rest_of_compilation): Only run cleanup_cfg if
delete_null_pointer_checks deletes one or more null
pointer checks. Do not run cleanup_cfg before gcse, the
CFG is accurate and optimized at that point..
Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
* sh.h: Define HARD_REGNO_RENAME_OK
* sh.c: sh_hard_regno_rename_ok: New. If current function has
interrupt_handler attribute, only registers saved on stack are OK.
* sh-protos.h: Declare sh_hard_regno_rename_ok.
Kaz Kojima [Fri, 14 Jun 2002 09:49:18 +0000 (09:49 +0000)]
sh.md (jump): Emit jump insn.
* config/sh/sh.md (jump): Emit jump insn.
(call_pcrel): Get pattern of the result of gen_call_site.
(call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
* cpphash.h (struct cpp_buffer): Remove saved_line_base.
* cpptrad.c: Update comments.
(skip_whitespace, copy_comment): Take a new parameter.
(skip_escaped_newlines): Don't duplicate escaped newline test.
(copy_comment): Different location for CUR, decide here how
to copy / replace the comment.
(skip_whitespace): Copy whitespace.
(_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
(scan_out_logical_line): Let copy comment handle keeping or
replacing comments.
(scan_parameters, _cpp_create_trad_definition): Update.
J"orn Rennecke [Thu, 13 Jun 2002 19:23:28 +0000 (19:23 +0000)]
Individual processor configurations for sh-elf / sh-linux:
gcc:
* config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
* config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
* sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
(SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
(SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
(SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
(SELECT_SH5_COMPACT_NOFPU): Likewise.
(TARGET_SWITCHES): Use them.
(TARGET_CPU_DEFAULT): Define if not already defined.
(TARGET_DEFAULT): Use it.
(LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
* config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
* config/sh/t-monolib: New file.
bfd:
config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
sh[1234]*-elf*.
ld:
* configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.
Still outstanding:
config.sub:
* config.sub: Add support for sh[12], sh3e, sh[1234]le, sh3ele,
shle, sh[1234]le, sh3ele, sh64le.