Kaveh R. Ghazi [Sat, 9 Jan 1999 20:59:12 +0000 (20:59 +0000)]
gcc.c (xstrerror): Renamed from my_strerror.
* gcc.c (xstrerror): Renamed from my_strerror. All callers
changed. Remove prototype since we get that from libiberty.h.
* protoize.c (xstrerror): Likewise.
Michael Hayes [Sat, 9 Jan 1999 18:46:10 +0000 (18:46 +0000)]
c4x.c: Include system.h.
* config/c4x/c4x.c: Include system.h.
(c4x_caller_save_map): Disable caller save for RC.
(c4x_optimization_options): Disable scheduling before reload.
(valid_parallel_load_store) : Define return type as int.
Remove unused variable regs.
* config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
class.
* config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
handle rotations.
(*db, decrement_and_branch_until_zero): Fix up constraints
to keep reload happy.
Michael Hayes [Sat, 9 Jan 1999 17:10:22 +0000 (17:10 +0000)]
c4x.md: (in_annul_slot_3): Allow unarycc and binarycc operations in 3rd annulled delay slot.
* config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
operations in 3rd annulled delay slot.
(*lshrqi3_const_set): Disallow c constraint for operand0.
(modhi3+1, modhi3+2): Set attribute type to multi.
* config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
!= operator.
Robert Lipe [Sat, 9 Jan 1999 13:07:52 +0000 (13:07 +0000)]
Another attempt to get tm-dwarf2.h onto the TRUNK instead of the fixinc-branch.
Another attempt to get tm-dwarf2.h onto the TRUNK instead of the
fixinc-branch.
* configure.in: New flag --with-dwarf2. If set, enables DWARF-2
debugging as default.
* config/tm-dwarf2.h: New file.
Per Bothner [Sat, 9 Jan 1999 12:49:07 +0000 (04:49 -0800)]
parse.y (build_new_array_init): Don't set EXPR_WFL_LINECOL on CONSTRUCTOR (since that trashes TREE_CST_RTL).
* parse.y (build_new_array_init): Don't set EXPR_WFL_LINECOL
on CONSTRUCTOR (since that trashes TREE_CST_RTL).
(patch_new_array_init): Clear TREE_CONSTANT also if INDIRECT_REF.
(register_fields): Set TREE_STATIC on NEW_ARRAY_INIT, not on
CONSTRUCTOR (which causes expand_expr to call output_constant_def).
* expr.c (java_lang_expand_expr): Check TREE_STATIC of NEW_ARRAY_INIT.
Per Bothner [Sat, 9 Jan 1999 12:49:05 +0000 (04:49 -0800)]
parse.y (build_new_array_init): Don't set EXPR_WFL_LINECOL on CONSTRUCTOR (since that trashes TREE_CST_RTL).
�
* parse.y (build_new_array_init): Don't set EXPR_WFL_LINECOL
on CONSTRUCTOR (since that trashes TREE_CST_RTL).
(patch_new_array_init): Clear TREE_CONSTANT also if INDIRECT_REF.
(register_fields): Set TREE_STATIC on NEW_ARRAY_INIT, not on
CONSTRUCTOR (which causes expand_expr to call output_constant_def).
* expr.c (java_lang_expand_expr): Check TREE_STATIC of NEW_ARRAY_INIT.
Per Bothner [Sat, 9 Jan 1999 12:49:03 +0000 (04:49 -0800)]
parse.y (build_new_array_init): Don't set EXPR_WFL_LINECOL on CONSTRUCTOR (since that trashes TREE_CST_RTL).
d
* parse.y (build_new_array_init): Don't set EXPR_WFL_LINECOL
on CONSTRUCTOR (since that trashes TREE_CST_RTL).
(patch_new_array_init): Clear TREE_CONSTANT also if INDIRECT_REF.
(register_fields): Set TREE_STATIC on NEW_ARRAY_INIT, not on
CONSTRUCTOR (which causes expand_expr to call output_constant_def).
* expr.c (java_lang_expand_expr): Check TREE_STATIC of NEW_ARRAY_INIT.
Kaveh R. Ghazi [Sat, 9 Jan 1999 08:48:06 +0000 (08:48 +0000)]
gansidecl.h: Allow attribute unused on labels only when we are version 2.93 or higher.
* gansidecl.h: Allow attribute unused on labels only when we are
version 2.93 or higher. Not all versions of 2.92 have this feature.
* version.c: Bump minor number to 93.
Jeffrey A Law [Fri, 8 Jan 1999 12:05:20 +0000 (05:05 -0700)]
stmt.c (optimize_tail_recursion): New function, extracted from ...
* stmt.c (optimize_tail_recursion): New function, extracted from ...
(expand_return): Use optimize_tail_recursion.
* tree.h (optimize_tail_recursion): Declare.
Tom Tromey [Fri, 8 Jan 1999 11:54:27 +0000 (11:54 +0000)]
parse-scan.y (variable_declarator_id): Set or increment bracket_count.
* parse-scan.y (variable_declarator_id): Set or increment
bracket_count.
(bracket_count): New global.
(formal_parameter): Handle case where bracket pairs trail variable
declarator id.
sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for integer data not destined for fp regs.
* sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
integer data not destined for fp regs.
(LEGITIMIZE_RELOAD_ADDRESS): New.
Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com>
Richard Henderson <rth@cygnus.com>
Support for Hypersparc and Sparclite86x:
* sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
(CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
(ASM_CPU32_DEFAULT_SPEC): Likewise.
(TARGET_CPU_DEFAULT): Likewise.
(enum processor_type): Likewise.
(CPP_ENDIAN_SPEC): Handle little endian data.
(LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
(ADJUST_COST): Call sparc_adjust_cost.
* sparc.c (sparc_override_options): Fix up for the new targets.
(supersparc_adjust_cost): Make static.
(hypersparc_adjust_cost): New.
(ultrasparc_adjust_cost): Make static.
(sparc_adjust_cost): New.
* sparc.md (attr cpu): Add hypersparc and sparclite86x.
(function_unit): Add hypersparc scheduling rules.
* configure.in (with_cpu handler): Recognize hypersparc.
Mark Mitchell [Wed, 6 Jan 1999 23:38:05 +0000 (23:38 +0000)]
cp-tree.h (IDENTIFIER_TYPENAME_P): Use OPERATOR_TYPENAME_FORMAT here.
* cp-tree.h (IDENTIFIER_TYPENAME_P): Use OPERATOR_TYPENAME_FORMAT
here.
(lang_type): Add is_partial_instantiation. Decrease width of
dummy.
(PARTIAL_INSTANTIATION_P): New macro.
(OPERATOR_TYPENAME_P): Remove.
* decl.c (unary_op_p): Use IDENTIFIER_TYPENAME_P, not
OPERATOR_TYPENAME_P.
(grok_op_properties): Likewise.
* friend.c (do_friend): Handle friends that are member functions
correctly.
* lex.c (init_parse): Use OPERATOR_TYPENAME_FORMAT.
* pt.c (instantiate_class_template): Rework for clarity. Avoid
leaving TYPE_BEING_DEFINED set in obscure cases. Don't do
any more partial instantiation than is absolutely necessary for
implicit typename. Set PARTIAL_INSTANTIATION_P.
(tsubst_decl): Use IDENTIFIER_TYPENAME_P.
* semantics.c (begin_class_definition): Handle partial
specializations of a type that was previously partially
instantiated.
Bernd Schmidt [Wed, 6 Jan 1999 23:33:29 +0000 (16:33 -0700)]
combine.c (num_sign_bit_copies): In NEG...
* combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
when a test can't be performed due to limited width of
HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
Fix UDIV case for cases where the first operand has the highest bit
set.
Brendan Kehoe [Wed, 6 Jan 1999 22:05:45 +0000 (22:05 +0000)]
fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h for a typedef of bool.
* fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
for a typedef of bool. Make sure to have a copy of the file is
in place before we look to fix it. Fix typo in variable name to
FILE.
Per Bothner [Wed, 6 Jan 1999 16:50:39 +0000 (16:50 +0000)]
lex.h: Moved static function declarations to lex.c, to shut up some -Wall warnings.
�
* lex.h: Moved static function declarations to lex.c,
to shut up some -Wall warnings.
* lex.c: Static function declarations moved here.
* jcf-dump.c: Small fixes to shut up -Wall warnings.
Michael Hayes [Wed, 6 Jan 1999 03:20:44 +0000 (03:20 +0000)]
c4x.md (addqi3): If the destination operand is a hard register other than an extended precision...
* config/c4x/c4x.md (addqi3): If the destination operand is
a hard register other than an extended precision register,
emit addqi3_noclobber.
(*addqi3_noclobber_reload): New pattern added so that reload
will recognise a store of a pseudo, equivalent to the sum
of the frame pointer and a constant, as an add insn.
expr.c (store_expr): If the lhs is a memory location pointed to be a postincremented (or...
�
* expr.c (store_expr): If the lhs is a memory location pointed
to be a postincremented (or postdecremented) pointer, always
force the rhs to be evaluated into a pseudo.
expr.c (store_expr): If the lhs is a memory location pointed to be a postincremented (or...
�
* expr.c (store_expr): If the lhs is a memory location pointed
to be a postincremented (or postdecremented) pointer, always
force the rhs to be evaluated into a pseudo.
Kaveh R. Ghazi [Tue, 5 Jan 1999 19:11:22 +0000 (19:11 +0000)]
Makefile.in (gcc.o, [...]): Depend on prefix.h.
* Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
* cccp.c: Include prefix.h, don't prototype prefix.c functions.
(new_include_prefix): Constify char* parameters.
* cppfiles.c (read_name_map): Likewise.
(append_include_chain): Likewise. Also, use a writable char* copy
of parameter `dir' which we then modify, rather than using the
parameter itself to store the new writable string.
(remap_filename): Constify some variables. Also, use a writable
char* to store an allocated string which we will be modifying.
* cpplib.c: Include prefix.h, don't prototype prefix.c functions.
(cpp_start_read): Constify variable `str'.
* cpplib.h (append_include_chain): Constify a char* parameter.
* gcc.c Include prefix.h, don't prototype prefix.c functions.
(add_prefix, save_string): Constify char* parameters.
(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
* prefix.c: Include prefix.h.
(get_key_value, translate_name, save_string, update_path,
set_std_prefix): Constify various char* parameters and variables.
(save_string): Use xmalloc, not malloc.
(translate_name): Use a writable temporary variable to create and
modify a string before setting it to a const char*.
* prefix.h: New file to prototype functions exported from prefix.c.
Zack Weinberg [Mon, 4 Jan 1999 12:38:22 +0000 (12:38 +0000)]
cpplib.c (skip_if_group): Split out the logic that handles directive recognition to its own function.
1998-12-21 18:03 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
* cpplib.c (skip_if_group): Split out the logic that handles
directive recognition to its own function. Don't use
parse markers; use a bare pointer into the buffer. Use
copy/skip_rest_of_line instead of doing it by hand. Remove
`return on any directive' mode which was never used, and take
only one argument.
(consider_directive_while_skipping): New function, subroutine
of skip_if_group. Logic streamlined a bit.
(conditional_skip, do_elif, do_else): Call skip_if_group with
only one argument.