Roger Sayle [Tue, 12 Aug 2003 01:46:54 +0000 (01:46 +0000)]
simplify-rtx.c (simplify_binary_operation): Replace calls to gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary...
* simplify-rtx.c (simplify_binary_operation): Replace calls to
gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
Kaz Kojima [Tue, 12 Aug 2003 01:25:07 +0000 (01:25 +0000)]
lib1funcs.asm (__udivdi3): Add .type and .size information in SHmedia case too.
* config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
information in SHmedia case too.
(__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
Likewise.
(__set_fpscr): Use an access via GOT for PIC case.
Kaveh R. Ghazi [Mon, 11 Aug 2003 21:50:06 +0000 (21:50 +0000)]
gcse.c (gmalloc): Argument is a size_t.
* gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
(grealloc): Size argument is a size_t.
(gcalloc): New function. Use throughout in lieu of
gmalloc/memset.
Phil Edwards [Mon, 11 Aug 2003 05:26:58 +0000 (05:26 +0000)]
acinclude.m4: Properly quote variable which will be expanded inside makefiles.
2003-08-11 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4: Properly quote variable which will be expanded
inside makefiles. Use CXX instead of CC to extract compiler info.
* configure.ac (AC_INIT): Use the new 4-arg form to finally get the
correct form in PACKAGE.
* aclocal.m4, configure: Regenerate.
Nathan Sidwell [Sun, 10 Aug 2003 15:10:35 +0000 (15:10 +0000)]
cp-tree.h (TMPL_ARGS_HAVE_MULTIPLE_LEVELS): non-NULL NODE is always a TREE_VEC of non-zero size.
cp:
* cp-tree.h (TMPL_ARGS_HAVE_MULTIPLE_LEVELS): non-NULL
NODE is always a TREE_VEC of non-zero size.
(NUM_TMPL_ARGS): NODE is always a TREE_VEC.
* decl2.c (arg_assoc): Template args will be a vec.
* error.c (dump_decl) <TEMPLATE_ID_EXPR case>: Call
dump_template_argument_list.
(dump_template_parms): Args will be a vec.
* parser.c (cp_parser_template_argument_list): Produce a
vector, not a list.
* pt.c (coerce_template_parms): Args are always vectors.
(mangle_class_name_for_template): Likewise.
(lookup_template_function): Likewise.
(lookup_template_class): Likewise.
(tsubst_template_args): Likewise.
(tsubst_baselink): Use tsubst_template_args.
(tsubst_qualified_id): Likewise.
(tsubst_copy) <TEMPLATE_ID_EXPR case>: Likewise.
(tsubst_copy_and_build) <TEMPLATE_ID_EXPR case>: Likewise.
(any_dependent_template_args_p): Args are always vectors.
* tree.c (cp_tree_equal): Add TEMPLATE_ID_EXPR case.
Nathan Sidwell [Sun, 10 Aug 2003 14:54:22 +0000 (14:54 +0000)]
re PR c++/10530 (Cannot access non-dependent type within nested template)
cp:
PR c++/10530
* pt.c (dependent_type_p_r): A dependent template-id is a class
type with dependent template arguments, or a bound template
template parameter.
(type_dependent_expression_p): A template function decl cannot
have a dependent context.
testsuite:
PR c++/10530
* g++.dg/template/dependent-name2.C: New test.
Bryce McKinlay [Sun, 10 Aug 2003 02:53:17 +0000 (02:53 +0000)]
re PR libgcj/11778 (System.out PrintStream does too much buffering)
* java/io/PrintStream.java (print): Always flush if auto_flush is
set. Don't check for newline characters.
(write (int)): Implement without using a temporary array.
(write (byte[], int, int): Always flush if auto_flush is set. Don't
check for newline characters.
Fixes PR libgcj/11778.
Per Bothner [Sat, 9 Aug 2003 22:14:07 +0000 (22:14 +0000)]
cppinit.c (cpp_read_main_file): Split out source-independent initialization to separate function ...
* cppinit.c (cpp_read_main_file): Split out source-independent
initialization to separate function ...
(cpp_post_options): New function.
* cppfiles.c (cpp_stack_file): Rename public name to ...
(_cpp_stack_file): New internal function name.
* cpplib.h: Update accordingly.
* cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
(cpp_read_main_file): Don't initialize line here.
* c-opts.c (c_common_post_options): Call cpp_post_options.
(c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
* fix-header.c (read_scan_file): Call cpp_post_options.
Roger Sayle [Fri, 8 Aug 2003 20:23:06 +0000 (20:23 +0000)]
* tree.h (get_identifier) Define a macro form of get_identifier
that calls get_identifier_with_length when the string is constant.
(get_identifier_with_length): Change type of second argument to
size_t in prototype.
* stringpool.c (get_identifier): Undefine the macro before giving
the function definition.
(get_identifier_with_length): Change type of second argument to
size_t in function definition.
* hashtable.c (calc_hash): Change type of second argument to size_t.
(ht_lookup): Change type of third argument to size_t. Reorganize
to speed-up the cases where the hash table slot is empty, or the
first probe matches (i.e. there isn't a collision).
* hashtable.h (ht_lookup): Adjust function prototype.
pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
* pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
(attr_length_millicode_call): Likewise.
(attr_length_call): Likewise. Revise some maximum insn lengths.
(attr_length_indirect_call): Likewise.
(output_call): Fix thinko that added extra nop.
* pa.h (IN_NAMED_SECTION_P): Define.
J"orn Rennecke [Thu, 7 Aug 2003 22:40:07 +0000 (22:40 +0000)]
sh.c (calc_live_regs): If the return address pointer is live, force pr live.
* sh.c (calc_live_regs): If the return address pointer is live,
force pr live.
(sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
for saves / restores.
(sh_expand_epilogue): If sh_media_register_for_return returns a
register number, flag the instructions that restores PR_MEDIA_REG
as possibly dead.
Remove dead update of offset.
(sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
we can use the result of get_hard_reg_initial_val.
* sh.md (UNSPEC_RA): New constant.
(movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
(load_ra). Handle UNSPEC_RA.
(sibcall_media): Use PR_MEDIA_REG.
Rainer Orth [Thu, 7 Aug 2003 21:34:19 +0000 (21:34 +0000)]
configure.in: Set INCLUDES to absolute path.
boehm-gc:
* configure.in: Set INCLUDES to absolute path.
Save $INCLUDES in boehm-cflags, too.
Set INCLUDES so it's available to config.status.
* configure: Regenerate.
Aldy Hernandez [Thu, 7 Aug 2003 12:49:57 +0000 (12:49 +0000)]
Make-lang.in (cp/call.o): Add dependency for target.h.
2003-08-07 Aldy Hernandez <aldyh@redhat.com>
* cp/Make-lang.in (cp/call.o): Add dependency for target.h.
* cp/call.c (standard_conversion): Support opaque types.
Include target.h.
(strip_top_quals): Use cp_build_qualified_type instead of
TYPE_MAIN_VARIANT.
* cp/typeck.c (convert_for_assignment): Support opaque types.
Zack Weinberg [Thu, 7 Aug 2003 03:12:09 +0000 (03:12 +0000)]
c-decl.c (builtin_decls): Replace with first_builtin_decl and last_builtin_decl.
* c-decl.c (builtin_decls): Replace with first_builtin_decl
and last_builtin_decl.
(c_init_decl_processing): Initialize both.
(c_reset_state): Iterate from first_builtin_decl to
last_builtin_decl inclusive to reintroduce builtins.
Jacob Gladish [Thu, 7 Aug 2003 01:13:46 +0000 (01:13 +0000)]
natPlainSocketImplPosix.cc (connect): Pass the FD as a ready-to-write argument to _Jv_Select.
* java/net/natPlainSocketImplPosix.cc (connect): Pass the FD as a
ready-to-write argument to _Jv_Select. Reset the socket back to
non-blocking state after connecting.
(accept): Pass the FD as a ready-to-write argument to _Jv_Select.
Throw SocketTimeoutException not InterruptedIOException.
(read): Throw SocketTimeoutException not InterruptedIOException.
David Mosberger [Wed, 6 Aug 2003 21:08:29 +0000 (21:08 +0000)]
extend.texi (Function Attributes): Document the IA-64 version of the "model" attribute.
* doc/extend.texi (Function Attributes): Document the IA-64 version
of the "model" attribute.
* config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
(SYMBOL_REF_SMALL_ADDR_P): Ditto.
(PREDICATE_CODES): Mention "small_addr_symbolic_operand".
* config/ia64/ia64.c (ia64_handle_model_attribute): New function.
(ia64_encode_section_info): Likewise.
(ia64_attribute_table): Add "model" attribute.
(TARGET_ENCODE_SECTION_INFO): Define.
(small_addr_symbolic_operand): New function.
(got_symbolic_operand): Return 0 for a symbolref to an object
in the small address area.
(enum ia64_addr_area): New type.
(small_ident1): New variable.
(small_ident2): Likewise.
(init_idents): New function.
(ia64_get_addr_area): Likewise.
(ia64_encode_addr_area): Likewise.
(ia64_encode_section_info): Likewise.
(ia64_expand_load_address): For symbolic references to objects in
the small-address-area, load the address via gen_rtx_SET() (which,
eventually, will expand into "addl").
Per Bothner [Wed, 6 Aug 2003 19:34:43 +0000 (19:34 +0000)]
line-map.h (fileline): New typedef.
* line-map.h (fileline): New typedef.
(struct line_map, linemap_add, linemap_lookup): Use it.
* input.h (struct location_s): Comment notes that long-term we want
to replace it by fileline.
Fix SHcompact exception handling:
* sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
by the prologue, return a MEM with return_address_pointer_rtx
as address.
* sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
(RETURN_ADDR_OFFSET): Don't define.
(SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
registers that are visible in compact mode. Show that SHmedia
registers still exist in compact mode, even if there are not
readily accessible.
(ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
and DW_EH_PE_pcrel for pic data.
(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
set SYMBOL_FLAG_FUNCTION in symbol, and actually use
DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
(ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
* sh.md (movsi_media-1): New splitter.