cpphash.c (collect_expansion, [...]): Make the escape character in macro buffers '\r', not '@'.
1999-04-12 14:55 -0400 Zack Weinberg <zack@rabi.columbia.edu>
* cpphash.c (collect_expansion, macroexpand,
push_macro_expansion): Make the escape character in macro
buffers '\r', not '@'. Remove code to protect literal
occurences of the escape character; '\r' cannot appear
in a macro buffer unless we put it there.
* cpplib.c (skip_comment, copy_comment, cpp_skip_hspace,
copy_rest_of_line, cpp_get_token, parse_string,
parse_assertion): '\r' might be a backslash-newline marker, or
it might be a macro escape marker, depending on
CPP_BUFFER (pfile)->has_escapes. '@' is not a special
character.
* cpplib.h: Update commentary.
Richard Earnshaw [Mon, 12 Apr 1999 09:43:37 +0000 (09:43 +0000)]
arm.h (target_fp_name, [...]): Const-ify.
* arm.h (target_fp_name, structure_size_string, arm_cpu_select):
Const-ify.
* arm.c (target_fp_name, structure_size_string): Const-ify.
* arm.md (reload_inhi, reload_outhi): Make the scratch DImode.
* arm.c (arm_reload_in_hi): Handle cases when the input is still
a pseudo, make use of scratch registers for reloading the address
as appropriate.
(arm_reload_outhi): Similarly for when the output is still a pseudo.
* riscix.h (SUBTARGET_SWITCHES): Document.
Bruce Korb [Mon, 12 Apr 1999 07:11:20 +0000 (07:11 +0000)]
1. the file name lists ought to be restricted to "*.h" anyway 2. C++ files may be named .../[a-z]++/...
1. the file name lists ought to be restricted to "*.h" anyway
2. C++ files may be named .../[a-z]++/... also
3. the original egrep pattern was not finding "__MIPSEL".
I am not enough of a regexp person to know why.
4. Adding copyright year and attribution to output
5. Add copyright date and attribution
6. Clarify a bunch of comments
7. Remove dead template text
8. Correct the counting of regular expressions
alpha.c (aligned_memory_operand): Handle out of range stack slots.
* alpha.c (aligned_memory_operand): Handle out of range stack slots.
Take a new SCRATCH argument for the occasion. Update all callers.
(get_unaligned_address): Abort on out of range stack slots.
* alpha.md (adddi3 splitter): Check s_p_rtx not REGNO.
(reload_inqi): Check for aligned mems before unaligned.
(reload_inhi): Likewise.
Jeffrey A Law [Mon, 12 Apr 1999 02:18:55 +0000 (02:18 +0000)]
flow.c (flow_delete_insn): If we delete a CODE_LABEL...
* flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
it from the nonlocal_goto_handler_labels list.
* jump.c (delete_insn): Likewise.
(jump_optimize_1): Also recompute LABEL_NUSES when we are just
marking labels.
* rtl.h (remove_node_from_expr_list): Declare.
* rtlanal.c (remove_node_from_expr_list): New function.
Jan Hubicka [Mon, 12 Apr 1999 01:39:00 +0000 (03:39 +0200)]
reg-stack.c: Update comment, include varray.h.
* reg-stack.c: Update comment, include varray.h.
(stack_regs_mentioned_data): New global variable.
(check_stack_regs_mentioned): New function.
(stack_regs_mentioned): New function.
(reg_to_stack): Initialize and free stack_regs_mentioned_data,
use stack_regs_mentioned.
(record_asm_reg_life): Change insn type cache for changed insn.
(record_reg_life): Do not change the insn mode.
(emit_pop_insn): Likewise.
(emit_swap_insn): Likewise.
(move_for_stack_reg): Likewise.
(stack_reg_life_analysis): Use stack_regs_mentioned.
(emit_swap_insn): Likewise.
(subst_stack_regs): Likewise.
(convert_regs): Likewise.
* jump.c (find_cross_jump): Use stack_regs_mentioned.
* rtl.h (stack_regs_mentioned): Declare.
Mark Mitchell [Sat, 10 Apr 1999 10:51:09 +0000 (10:51 +0000)]
error.c (dump_type_real): If a typename is a template-id, put out the template arguments.
* error.c (dump_type_real): If a typename is a template-id, put
out the template arguments.
(dump_expr): Handle TEMPLATE_ID_EXPR.
* pt.c (lookup_template_class): Now that full arguments are
available everywhere, remove code that tried to guess them.
Mike Stump [Sat, 10 Apr 1999 05:17:32 +0000 (05:17 +0000)]
configure.in (*-*-vxworks): Add vxWorks thread support for all vxWorks targets.
* configure.in (*-*-vxworks): Add vxWorks thread support for all
vxWorks targets.
* configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb.
* configure: Rebuilt.
Mark Elbrecht [Sat, 10 Apr 1999 05:07:32 +0000 (05:07 +0000)]
cccp.c (DIR_SEPARATOR): Move to the top of the file.
* cccp.c (DIR_SEPARATOR): Move to the top of the file.
(is_dir_separator): New function.
(simplify_filename): Use it.
Last bit of the dir separator patches.
Mark Elbrecht [Sat, 10 Apr 1999 04:27:16 +0000 (04:27 +0000)]
collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place of the DIR_SEPARATOR test.
* collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
of the DIR_SEPARATOR test.
Consider any file starting with a drivename to be absolute.
If the absolute filename test fails and EXECUTABLE_SUFFIX is
defined, append EXECUTABLE_SUFFIX to the file and try again.
* cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM
in place of __MSDOS__ and _WIN32.
* cppfiles.c (simplify_pathname): Likewise.
* gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a
character is a directory separator.
(find_a_file): Use it.
(convert_filename): Likewise.
(process_command): Likewise.
(do_spec_1): Likewise.
(is_directory): Likewise.
(main): Likewise.
* prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is
a directory separator.
(translate_name): Use it.
(update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix
warning in block where '/' is changed to DIR_SEPARATOR.
* i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'.
(DIR_SEPARATOR_2): New macro. Set to '\'.
(HAVE_DOS_BASED_FILESYS): Define.
* i386/xm-mingw32.h: Updated copyright. Set
DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM.
* i386/xm-os2.h: Likewise.
* winnt/xm-winnt.h: Likewise.
* i386/xm-dos.h: Likewise. Add copyright.
Jeffrey A Law [Sat, 10 Apr 1999 04:17:51 +0000 (04:17 +0000)]
rtl.h (rebuild_jump_labels): Declare.
* rtl.h (rebuild_jump_labels): Declare.
* jump.c (jump_optimize_1): Renamed from jump_optimize. Make static.
Add new argument MARK_LABELS_ONLY. Quit after mark_all_labels if
requested.
(jump_optimize, rebuild_jump_labels): New wrapper functions for
jump_optimize_1.
* toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of
running the entire jump optimizer.
Joseph Myers [Sat, 10 Apr 1999 03:09:40 +0000 (21:09 -0600)]
pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
1999-04-09 Joseph S. Myers <jsm28@cam.ac.uk>
* pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
(TARGET_DEFAULT): Possibly use UNIX syntax.
(TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros.
(REGISTER_NAMES): Use "r5" instead of "fp".
(ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any
greater alignment.
* 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler
syntax for 2BSD.
* pdp11.c (output_ascii): Use working syntax for ".byte".
(print_operand_address): Use "*" instead of "@" when using UNIX
assembler syntax.
Jeffrey A Law [Sat, 10 Apr 1999 02:55:36 +0000 (02:55 +0000)]
rtl.h (local_alloc): Returns an integer now.
* rtl.h (local_alloc): Returns an integer now.
* local-alloc.c (recorded_label_ref): New file scoped variable.
(local_alloc): Initialize recorded_label_ref to zero. Return its
value when local allocation has completed.
(update_equiv_regs); If we create an equivalence for a LABEL_REF,
set recorded_label_ref.
* toplev.c (rest_of_compilation): Run the loop optimizer after
register allocation and reloading if needed.
cpphash.c (special_symbol): When expanding __LINE__, use the top file buffer, not the top buffer.
1999-04-09 22:58 -0400 Zack Weinberg <zack@rabi.columbia.edu>
* cpphash.c (special_symbol): When expanding __LINE__, use the
top file buffer, not the top buffer.
Jim Blandy [Fri, 9 Apr 1999 09:01:35 +0000 (09:01 +0000)]
cplus-dem.c: Attempt to handle overflows in counts with some semblance of grace.
1999-04-01 Jim Blandy <jimb@zwingli.cygnus.com>
* cplus-dem.c: Attempt to handle overflows in counts with some
semblance of grace.
(consume_count): Detect overflows. Return -1 to indicate errors,
instead of zero.
(demangle_template_value_parm, demangle_template): Handle change
to consume_count's return convention.
Jeffrey A Law [Fri, 9 Apr 1999 01:35:36 +0000 (01:35 +0000)]
expr.c (expand_expr, [...]): Do not try to optimize a aggregate address which has VOIDmode.
* expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
Do not try to optimize a aggregate address which has VOIDmode.
Mirrors March 23 change to expand_assignment.
Jeffrey A Law [Fri, 9 Apr 1999 01:23:05 +0000 (01:23 +0000)]
flow.c (delete_unreachable_blocks): Do not require an edge to be marked with EDGE_FALLTHRU when...
* flow.c (delete_unreachable_blocks): Do not require an edge to
be marked with EDGE_FALLTHRU when tidying an edge which connects
consecutive basic blocks.
* flow.c (can_delete_label_p): Do not convert a label into a
deleted label here.
Jeffrey A Law [Fri, 9 Apr 1999 00:29:45 +0000 (00:29 +0000)]
cse.c (flush_hash_table): New function.
* cse.c (flush_hash_table): New function.
(cse_insn): Flush the hash table when we encounter a volatile asm.
(cse_basic_block): Use flush_hash_table instead of doing it
inline.
* reload1.c (reload_cse_regs_1): Flush known register values if
we encounter a volatile asm.
configure.in (host_xm_file, [...]): Include hwint.h.
* configure.in (host_xm_file, build_xm_file): Include hwint.h.
Use case statements instead of "if test -a ... -a ... -a ..."
* machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of
HOST_WIDE_INT in #ifdef.
* mips.h: Include hwint.h instead of providing definitions for
HOST_WIDE_INT, etc. Wrap uses of HOST_WIDE_INT in #ifdef.
Jeffrey A Law [Wed, 7 Apr 1999 23:07:06 +0000 (23:07 +0000)]
h8300.c (h8300_adjust_insn_length): Avoid trying to recognize USE, CLOBBER or SEQUENCE insns.
* h8300.c (h8300_adjust_insn_length): Avoid trying to recognize
USE, CLOBBER or SEQUENCE insns.
* unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid
to account for the uncopied insn that sets cc0 at the end of the loop.