Zack Weinberg [Fri, 16 Mar 2001 20:09:36 +0000 (20:09 +0000)]
aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which handles the gory details of converting an object file...
* aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
handles the gory details of converting an object file into
something that's safe to grep.
(gcc_AC_C_COMPILE_BIGENDIAN): Rename to
gcc_AC_C_COMPILE_ENDIAN. Use gcc_AC_EXAMINE_OBJECT. Put
newlines at either end of the string we're looking for.
Make 'checking ...' message less stilted.
(gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT. Handle
ARM in-memory layout and its hypothetical converse. Don't
define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
HOST_WORDS_BIG_ENDIAN.
dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
* dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
(dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
(dw2_asm_output_delta_uleb128): Likewise.
(dw2_asm_output_delta_sleb128): Similarly.
(dw2_asm_output_data_sleb128): Similarly. Print number in decimal.
dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
* dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
(LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
(size_of_line_prolog): Remove.
(output_line_info): Compute prologue size via label difference.
(lookup_filename): Return "unspecified" for <internal> and <built-in>.
* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
assembler error when redefining file numbers.
* config.in, configure: Rebuild.
Jan Hubicka [Fri, 16 Mar 2001 13:51:49 +0000 (14:51 +0100)]
i386.c (ix86_expand_fp_movcc): Do not attempt to construct SSE based conditional moves on LTGT/UNEQ conditions...
* i386.c (ix86_expand_fp_movcc): Do not attempt to construct
SSE based conditional moves on LTGT/UNEQ conditions;
Canonicalize EQ to NE.
* i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
(sse_mov?fcc_ne): New.
Per Bothner [Fri, 16 Mar 2001 06:30:28 +0000 (22:30 -0800)]
java-tree.h (BLOCK_IS_IMPLICIT): New flag.
* java-tree.h (BLOCK_IS_IMPLICIT): New flag.
* parse.h (BLOCK_EXPR_ORIGIN): Removed macro.
* parse.y (declare_local_variables, maybe_absorb_scoping_blocks):
Use BLOCK_IS_IMPLICIT rather than BLOCK_EXPR_ORIGIN.
Per Bothner [Fri, 16 Mar 2001 05:57:30 +0000 (21:57 -0800)]
parse.y (expand_start_java_method): Was only called once and had a misleading name...
* parse.y (expand_start_java_method): Was only called once and had a
misleading name, so inline in caller java_complete_expand_method.
(enter_a_block): Likewise inline in enter_block and remove.
dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET if provided by the target.
* dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
if provided by the target.
(dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
(dw2_asm_output_addr): New.
* dwarf2asm.h (dw2_asm_output_addr): Declare.
* dwarf2out.c (output_cfi): Use it for program addresses.
(output_call_frame_info, output_die): Likewise.
(output_aranges, output_line_info): Likewise.
Bryce McKinlay [Thu, 15 Mar 2001 22:06:12 +0000 (22:06 +0000)]
mangle.c (mangle_record_type): Rename 'from_pointer' argument to 'for_pointer'.
* mangle.c (mangle_record_type): Rename 'from_pointer' argument
to 'for_pointer'. If this type is for a pointer (argument) mangling,
don't surround the element with 'N..E' if the type name is
unqualified.
Jeffrey A Law [Thu, 15 Mar 2001 19:55:43 +0000 (19:55 +0000)]
reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not "widen" a destination that is already wider than a word.
* reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
"widen" a destination that is already wider than a word. Also do
not widen if LOAD_EXTEND_OP is NIL for the given mode.
Neil Booth [Thu, 15 Mar 2001 07:57:13 +0000 (07:57 +0000)]
cpp.texi: Update documentation for -include and -imacros.
* cpp.texi: Update documentation for -include and -imacros.
* cppfiles.c (struct include_file): Remove "defined" memeber.
(find_or_create_entry): Make a copy of the file name, and
simplify it.
(open_file): Update to ensure we use the simplified filename.
(stack_include_file): Don't set search_from.
(cpp_included): Don't simplify the path name here.
(find_include_file): New prototype. Call search_from to
get the start of the "" include chain. Don't simplify the
filenames here.
(_cpp_execute_include): New prototype. Move diagnostics to
do_include_common. Update.
(_cpp_pop_file_buffer): Don't set defined.
(search_from): New prototype. Use the preprocessor's cwd
for files included from the command line.
(read_name_map): Don't simplify the pathname here.
* cpphash.h (enum include_type): New.
(struct buffer): Delete search from. New search_cached.
(_cpp_execute_include): Update prototype.
* cppinit.c (do_includes): Use _cpp_execute_include.
* cpplib.c (do_include_common): New function.
(do_include, do_include_next, do_import): Use it.
Zack Weinberg [Thu, 15 Mar 2001 00:13:37 +0000 (00:13 +0000)]
aclocal.m4 (gcc_AC_C_CHARSET, [...]): New macros.
* aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
gcc_AC_C_FLOAT_FORMAT): New macros.
* configure.in: Add AC_PROG_CPP after CC tests;
gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
* configure, config.in: Regenerate.
* config.gcc: Remove references to deleted files.
(i370-*-opened*): Use i370/xm-mvs.h (which now defines only
FATAL_EXIT_CODE, which is the same between oe and mvs).
Neil Booth [Wed, 14 Mar 2001 19:35:08 +0000 (19:35 +0000)]
cppfiles.c (stack_include_file): Only increase the include count if we actually process the file properly...
* cppfiles.c (stack_include_file): Only increase the include
count if we actually process the file properly, as opposed
to treating it as length zero. Only call read_include_file
if not DO_NOT_REREAD. Handle the -H include file output
here.
(read_include_file): Remove now redundant DO_NOT_REREAD check.
(cpp_included, find_include_file): Simplify pathnames after
remapping them. If remapping, don't use the remapped file
name's buffer as our scratch buffer.
(cpp_pop_file_buffer): Replace the multiple include macro
only if it isn't yet set.
(read_name_map): Simplify remapped names when reading in.
(remap_filename): Move code to code path that uses it.
(_cpp_simplify_pathname): Return the input pointer.
* cpphash.h (_cpp_simplify_pathname): Update prototype.
* aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
gcc_AC_C_LONG_LONG): New.
* configure.in: Use them. Probe the size of short, int, long,
and long long/__int64 if we have them. Move all the AC_C_*
checks together, except gcc_AC_C_CHAR_BIT which has to go
after AC_CHECK_HEADERS(limits.h).
Take hwint.h out of host_xm_file and build_xm_file.
* hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
Move the HOST_WIDEST_INT setup logic here from system.h.
Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
defined.
* system.h: Include hwint.h after limits.h. HOST_WIDEST_INT
is now handled by hwint.h.
Neil Booth [Tue, 13 Mar 2001 23:55:10 +0000 (23:55 +0000)]
cppfiles.c (NO_INCLUDE_PATH): New macro.
* cppfiles.c (NO_INCLUDE_PATH): New macro.
(find_include_file): Decide here which part of the include
chain to start the search. Complain about an empty include
chain in all cases apart from an abolsute file name.
(_cpp_execute_include): Don't choose the search chain here.
Don't call handle_missing_include in the case of an empty
include chain.
(_cpp_compare_file_date): Don't choose the search chain here.
* cpplib.c (do_include_next): Move the in-main-file diagnostic
here from _cpp_execute_include. Behave like #include if
we're in the main file.
Neil Booth [Mon, 12 Mar 2001 19:33:08 +0000 (19:33 +0000)]
cppfiles.c: Update comments.
* cppfiles.c: Update comments.
(destroy_include_file_node): Rename destroy_node.
(find_or_create_entry): New function.
(open_file, _cpp_fake_include): Use it.
(handle_missing_header): New function, broken out of
_cpp_execute include. Don't segfault if there is no
system or quoted path.
(_cpp_execute_include): Use handle_missing_header.
Richard Kenner [Mon, 12 Mar 2001 19:09:57 +0000 (19:09 +0000)]
flow.c (insn_dead_p): Don't consider two memrefs equivalent unless anti_dependence says they are.
* flow.c (insn_dead_p): Don't consider two memrefs equivalent
unless anti_dependence says they are.
* alias.c (objects_must_conflict): If neither has a type specified,
they must conflict.