Move over patch from Bernd Schmidt from GC branch:
* emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
(gen_rtx): Call it. Tidy cases.
* rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
* gengenrtl.c: Add commentary.
(special_rtx): Also match CONST_DOUBLE.
(gencode): Emit call to memset instead of bzero.
Michael Hayes [Thu, 1 Apr 1999 17:02:51 +0000 (17:02 +0000)]
c4x.md (ashlhi3, [...]): Force operand 1 into a register if shift count not constant.
* config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1
into a register if shift count not constant.
(ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1
is a register.
Michael Hayes [Thu, 1 Apr 1999 16:40:38 +0000 (16:40 +0000)]
c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED is non-zero.
* config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED
is non-zero.
(movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address
register constraints.
(*movhi_clobber+1): Modify splitter pattern to handle destination
register that is used in the source address.
(*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands.
Michael Hayes [Thu, 1 Apr 1999 16:02:07 +0000 (16:02 +0000)]
c4x.c (c4x_emit_move_sequence): Force invalid QImode constants into memory if...
* config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode
constants into memory if we get called directly from gen_move_insn
rather than emit_move_insn.
(c4x_legitimize_address): Fix up LABEL_REF addresses.
Jeffrey A Law [Thu, 1 Apr 1999 01:19:07 +0000 (01:19 +0000)]
inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger string to only match on hpux11.
* fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger
string to only match on hpux11.
* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
Tom Tromey [Wed, 31 Mar 1999 11:46:42 +0000 (11:46 +0000)]
gjavah.c (print_field_info): Allow constants of other types.
* gjavah.c (print_field_info): Allow constants of other types.
(print_include): Generate include when new name is proper prefix
of already printed name.
(add_namelet): Likewise.
(cxx_keyword_subst): New function.
(print_method_info): Use it.
(print_field_name): New function.
(get_field_name): New function.
(print_field_info): Use get_field_name and print_field_name.
Kaveh R. Ghazi [Wed, 31 Mar 1999 10:56:35 +0000 (10:56 +0000)]
configure.in (extra_includes): Don't attempt to calculate the location of the gcc src or obj directories.
* configure.in (extra_includes): Don't attempt to calculate the
location of the gcc src or obj directories. Instead rely on
precomputed variables, $topsrcdir and $r, to obtain these values.
Set -I flags appropriately.
Kaveh R. Ghazi [Wed, 31 Mar 1999 08:05:08 +0000 (08:05 +0000)]
Makefile.in (keyword.h): Generate using gperf language 'C'...
* Makefile.in (keyword.h): Generate using gperf language 'C', not
'KR-C', so gperf uses the `const' keyword on strings.
* keyword.gperf (java_keyword): Const-ify a char*.
Kaveh R. Ghazi [Wed, 31 Mar 1999 07:51:10 +0000 (07:51 +0000)]
Makefile.in (hash.h): Generate using gperf language 'C'...
* Makefile.in (hash.h): Generate using gperf language 'C', not
'KR-C', so gperf uses the `const' keyword on strings.
* gxx.gperf (resword): Const-ify a char*.
Kaveh R. Ghazi [Wed, 31 Mar 1999 07:48:00 +0000 (07:48 +0000)]
Makefile.in (hash.h): Generate using gperf language 'C'...
* Makefile.in (hash.h): Generate using gperf language 'C', not
'KR-C', so gperf uses the `const' keyword on strings.
* gperf (resword): Const-ify a char*.
Kaveh R. Ghazi [Wed, 31 Mar 1999 07:43:52 +0000 (07:43 +0000)]
Makefile.in (c-gperf.h): Generate using gperf language 'C'...
* Makefile.in (c-gperf.h): Generate using gperf language 'C', not
'KR-C', so gperf uses the `const' keyword on strings.
* c-parse.gperf (resword): Const-ify a char*.
Mark Mitchell [Tue, 30 Mar 1999 20:52:33 +0000 (20:52 +0000)]
alias.c (alias_set_compare): Remove.
* alias.c (alias_set_compare): Remove.
(record_alias_subset): Use splay_tree_compare_ints instaed of
alias_set_compare.
(init_alias_once): Likewise.
* cse.c: Include splay-tree.h.
(reg_qty): Remove.
(reg_tick): Likewise.
(reg_table): Likewise.
(cse_reg_info): New structure.
(cse_reg_info_free_list): New variable.
(cse_reg_info_tree): Likewise.
(cached_regno): Likewise.
(cached_cse_reg_info): Likewise.
(all_minus_one): Remove.
(consec_ints): Likewise.
(GET_CSE_REG_INFO): New macro.
(REG_TICK): Likewise. Use throughout instead of reg_tick.
(REG_IN_TABLE): Likewise. Use throughout instead of reg_in_table.
(REG_QTY): Likewise. Use throughout instead of reg_qty.
(get_cse_reg_info): New function.
(free_cse_reg_info): Likewise.
(new_basic_block): Reinitialize cse_reg_info_tree instead of
reg_tick, all_minus_one, and consec_ints.
* Makefile.in (cse.o): Depend on splay-tree.h
* splay-tree.h (splay_tree_compare_ints): Declare.
* splay-tree.c (splay_tree_compare_ints): Define.
Tom Tromey [Tue, 30 Mar 1999 16:12:25 +0000 (16:12 +0000)]
cplus-dem.c (consume_count): If `count' wraps, return 0 and don't advance input pointer.
* cplus-dem.c (consume_count): If `count' wraps, return 0 and
don't advance input pointer.
(demangle_class_name): If consume_count didn't find a count, do
nothing. Don't bother with `strlen' sanity check; consume_count
does it for us.
Tue Mar 30 11:31:53 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_bc_statement): Fixed identation and a bogus
`printf' format.
Tue Mar 30 11:29:29 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (patch_assignment): Allow static variables in other
classes to be assigned.
Jerry Quinn [Mon, 29 Mar 1999 10:52:29 +0000 (10:52 +0000)]
pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000 class machine.
* pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000
class machine.
(HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
(HAVE_POST_DECREMENT): Likewise.
Kaveh R. Ghazi [Sun, 28 Mar 1999 19:22:10 +0000 (19:22 +0000)]
Warning fixes:
* class.c (maybe_add_interface): Remove unused variable
`interface_binfo'.
(make_class_data): Use = for assignment, not ==. Likewise.
(emit_register_classes): Remove unused variable `decl'.
* lex.c: Fix comment so as not to contain an embedded `/*'.
* verify.c (verify_jvm_instructions): Remove unused variable
`self_type'.
Dave Love [Sun, 28 Mar 1999 03:18:32 +0000 (03:18 +0000)]
configure: Rebuilt.
* configure: Rebuilt.
* configure.in: Fix integer size tests: sanity check first; search
toplevel include dir (from Rainer Orth); only mess with ac_cpp
once; use -DIN_GCC -DHAVE_CONFIG_H.
* configure.in: Use `g77_cv_...', not `f77_cv_...'.
Mark Mitchell [Sat, 27 Mar 1999 17:33:36 +0000 (17:33 +0000)]
cp-tree.h (add_friend): Declare.
* cp-tree.h (add_friend): Declare.
(add_friends): Likewise.
* friend.c (add_friend): Make it global. Don't add to
DECL_BEFRIENDING_CLASSES if the befriending class is a template.
(add_friends): Make it global.
(make_friend_class): Don't add to DECL_BEFRIENDING_CLASSES if the
befriending class is a template.
* parse.y (component_decl_1): Fix typo in comment.
* parse.c: Regenerated.
* pt.c (instantiate_class_template): Use add_friend and
add_friends rather that duplicating some of their functionality
here.
Sat Mar 27 15:13:21 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (EXPR_WFL_GET_LINECOL): Set a line and column count
using a WFL compound value.
* parse.y (xref.h): Include.
(maybe_create_class_interface_decl): Set DECL_SOURCE_LINE to the
WFL compound value.
(register_fields): Set WFL compound value to lineno if doing
xrefs.
(java_complete_expand_method): Call expand_xref if flag_emit_xref
is set.
* xref.c (system.h, jcf.h, parse.h, obstack.h): Include.
* xref.h (expand_xref): Prototype renamed from xref_generate.
Sat Mar 27 14:16:32 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.h (BLOCK_CHAIN_DECL): New use GET_CURRENT_BLOCK.
(GET_CURRENT_BLOCK): New macro.
* parse.y (current_static_block): New global variable.
(method_body:): Define action.
(complete_method_declaration): Set current_function_decl to NULL
when work on the current method is done.
(declare_local_variables): Use GET_CURRENT_BLOCK.
(java_method_add_stmt): Likewise.
(java_complete_expand_method): Disable the use of `this' when
expanding <clinit>.
(enter_a_block): If no current method exist, use
current_static_block to link static initializer blocks.
(exit_block): Rewritten to use current_static_block when no current
method decl exists.
(lookup_name_in_blocks): Use GET_CURRENT_BLOCK.
(patch_return): Forbid the use of `return' in static initializers.
(patch_throw_statement): Fixed indentation. Issue specific error
for uncaught thrown checked exception in static initializer
blocks. Removed FIXME.
Per Bothner [Sat, 27 Mar 1999 16:05:29 +0000 (16:05 +0000)]
parse.y (complete_loop_body): Rename to finish_loop_body.
�
* parse.y (complete_loop_body): Rename to finish_loop_body.
(complete_labeled_statement): Rename to finish_labeled_statement.
(complete_for_loop): Rename to finish_for_loop.
(complete_method_declaration): Rename to finish_method_declaration.
* java-tree.h (continue_identifier_node): New global node.
* decl.c: Define and initialize continue_identifier_node.
* parse.y (generate_labeled_block): Remove - no longer needed.
(build_loop_body): Use continue_identifier_node for continue block.
(finish_labeled_statement): Also do pop_labeled_block actions.
(java_complete_lhs): POP_LOOP even if error.
(build_labeled_block): Special handling for continue_identifier_node.
(patch_loop_statement): Re-organize.
(patch_bc_statement): Re-write.
Per Bothner [Sat, 27 Mar 1999 16:05:24 +0000 (08:05 -0800)]
parse.y (complete_loop_body): Rename to finish_loop_body.
d
* parse.y (complete_loop_body): Rename to finish_loop_body.
(complete_labeled_statement): Rename to finish_labeled_statement.
(complete_for_loop): Rename to finish_for_loop.
(complete_method_declaration): Rename to finish_method_declaration.
* java-tree.h (continue_identifier_node): New global node.
* decl.c: Define and initialize continue_identifier_node.
* parse.y (generate_labeled_block): Remove - no longer needed.
(build_loop_body): Use continue_identifier_node for continue block.
(finish_labeled_statement): Also do pop_labeled_block actions.
(java_complete_lhs): POP_LOOP even if error.
(build_labeled_block): Special handling for continue_identifier_node.
(patch_loop_statement): Re-organize.
(patch_bc_statement): Re-write.
Zack Weinberg [Fri, 26 Mar 1999 22:55:35 +0000 (22:55 +0000)]
Makefile.in (xcpp, cppspec.o): New targets.
* Makefile.in (xcpp, cppspec.o): New targets.
(CPP_INSTALL_NAME): New macro.
(install-cpp): Install xcpp. Use CPP_INSTALL_NAME.
(all.build, start.encap): Build xcpp.
* cppspec.c: New file, implements argument filtering for a
user-visible C preprocessor.
* cpp.sh: Removed.