* src/powerpc/darwin.S: Fix EH information so it corresponds to
changes in EH format resulting from addition of linkonce support.
* src/powerpc/darwin_closure.S: Likewise.
From-SVN: r79396
* target.h (struct gcc_target): New target hook, unwind_label.
* target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
* output.h (default_emit_unwind_label): New function.
* default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
(TARGET_USES_WEAK_UNWIND_INFO): New target macro.
(TARGET_SUPPORTS_HIDDEN): New target macro.
* dwarf2out.c (struct dw_fde_struct): Add field for function decl
that corresponds to this FDE.
(FRAME_BEGIN_LABEL): Allow target to override default label.
(output_call_frame_info): If FDEs are linknonce, then use extra
indirection for FDE encoding, output a label for each FDE, and
output an empty label for each function without an FDE.
(dwarf2out_begin_prologue): Set up decl field when creating an FDE.
* varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
decls with DECL_ONE_ONLY set, if that macro is defined.
(make_decl_one_only): Don't use DECL_COMMON if we're compiling
for a SUPPORTS_ONE_ONLY target.
* config/darwin-protos.h (darwin_unique_section): Declare.
(darwin_asm_named_section): Likewise.
(darwin_section_type_flags): Likewise.
(darwin_non_lazy_pcrel): Likewise.
(darwin_emit_unwind_label): Likewise.
(darwin_make_decl_one_only): Likewise.
* config/darwin.c (machopic_finish): Get rid of tweak that
eliminate stubs for symbols that are defined.
(darwin_encode_section_info): Don't treat weak functions as defined.
(darwin_make_decl_one_only): Define.
(darwin_asm_named_section): Likewise.
(darwin_section_type_flags): Likewise.
(darwin_unique_section): Likewise.
(darwin_emit_unwind_label): Likewise.
(darwin_non_lazy_pcrel): Likewise.
(darwin_asm_output_dwarf_delta): Difference between two labels is
local only if both labels are local.
* config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
(ASM_MAKE_LABEL_LINKONCE): Likewise.
(TARGET_SUPPORTS_HIDDEN): Likewise.
(TARGET_USES_WEAK_UNWIND_INFO): Likewise.
(TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
(FRAME_BEGIN_LABEL): Likewise.
(ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
(ASM_DECLARE_FUNCTION_NAME): Likewise.
(darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
(TARGET_ASM_UNIQUE_SECTION): Define.
(EH_FRAME_SECTION_NAME): Define.
(EH_FRAME_SECTION_ATTR): Likewise.
(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
(TARGET_ASM_NAMED_SECTION): Likewise.
(TARGET_SECTION_TYPE_FLAGS): Likewise.
* doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
TARGET_ASM_EMIT_UNWIND_LABEL.
* cp/decl2.c (maybe_make_one_only): Look at
TARGET_EXPLICIT_INSTANTIATION_ONE_ONLY when deciding whether
to make an explicit instantiation weak.
* cp/method.c (use_thunk): Make sure we call comdat_linkage
when appropriate.
* cp/pt.c (do_type_instantiation): On systems where weak symbols
don't go in a static archive's TOC, explicit instantiation of a
class must imply *explicit* instantiation of its memeber.
From-SVN: r79394
2004-03-12 Eric Botcazou <ebotcazou@gcc.gnu.org>
Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/14522
* configure.in: Cope with shells that do not support unquoted ^
* configure: Regenerate.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r79380
2004-03-12 Ito Kazumitsu <ito.kazumitsu@hitachi-cable.co.jp>
* java/net/URI.java (toURL): Implemented.
2004-03-12 Ito Kazumitsu <ito.kazumitsu@hitachi-cable.co.jp>
* java/net/URI.java
(URI_REGEXP) updated to contain scheme specific part.
(SCHEME_SPEC_PART_GROUP) new constant.
(AUTHORITY_GROUP, PATH_GROUP, QUERY_GROUP, FRAGMENT_GROUP)
updated to make room for SCHEME_SPEC_PART_GROUP.
(parseURI) parse scheme specific part.
(resolve, isAbsolute, isOpaque, getRawSchemeSpecificPart,
getSchemeSpecificPart, getAuthority, getUserInfo, getPath,
getQuery, getFragment) implemented.
2004-03-12 Dalibor Topic <robilad@kaffe.org>
* libraries/javalib/java/net/URI.java
partially implemented using java.util.regex.
(URI_REGEXP) new constant. Used to parse URIs.
(SCHEME_GROUP) new constant representing index of scheme group
in parsed URI.
(AUTHORITY_GROUP) new constant representing index of authority
group in parsed URI.
(PATH_GROUP) new constant representing index of path group in
parsed URI.
(QUERY_GROUP) new constant representing index of query group in
parsed URI.
(FRAGMENT_GROUP) new constant representing index of fragment
group in parsed URI.
(getURIGroup) new static utility method.
(parseURI) implemented.
(quote) stub for new static utility method.
(quoteAuthority) stub for new static utility method.
(quoteHost) stub for new static utility method.
(quotePath) stub for new static utility method.
(quoteUserInfo) stub for new static utility method.
(URI) implemented.
(create) don't throw URISyntaxException. Implemented.
(toString) implemented.
From-SVN: r79375
* config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
(alpha_lookup_xfloating_lib_func): Use them, return rtx.
(alpha_emit_xfloating_arith): Update to match.
(alpha_emit_xfloating_compare): Likewise.
(alpha_emit_xfloating_cvt): Likewise.
(alpha_emit_xfloating_libcall): Take already built symbol,
mark call const.
* config/alpha/alpha.md (extendsftf2, extenddftf2): Take
op1 in a register.
From-SVN: r79371
PR target/14262
* calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
defined, pass small BLKmode values in registers in the low-order part.
* gcc.dg/20040305-2.c: New test.
From-SVN: r79348
ChangeLog:
* combine.c (if_then_else_cond): Check for NULL return value of
simplify_gen_subreg.
testsuite/ChangeLog:
* gcc.dg/20040310-1.c: New test.
From-SVN: r79347
2004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
Paolo Bonzini <bonzini@gnu.org>
* Makefile.am (AUTOMAKE_OPTIONS): Set them.
Remove VPATH. Remove rules for object files. Remove multilib support.
(AM_CCASFLAGS): Add.
* configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
(AC_PREREQ): Bump version to 2.59.
(AC_INIT): Fill with version info and bug address.
(ORIGINAL_LD_FOR_MULTILIBS): Remove.
(AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
De-precious CC so that the right flags are passed down to multilibs.
(AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
(AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
(AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
* configure: Rebuilt.
* aclocal.m4: Likewise.
* Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r79341
* fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
-((int)X>>C) where C is an integer constant one bit less than the
size of X into (unsigned)X>>C. Similarly for unsigned->signed.
(negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
* simplify-rtx.c (simplify_unary_operation): Also implement the
above transformations at the RTL level.
* gcc.c-torture/execute/20040311-1.c: New test case.
From-SVN: r79334
2004-03-11 Dalibor Topic <robilad@kaffe.org>
* java/text/AttributedString.java
(addAttribute(AttributedCharacterIterator.Attribute,Object,int,int)):
Use HashMap instead of Hashtable since value can be null, and
you can not store a null value in a Hashtable.
2004-03-11 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/AttributedStringIterator.java
(getAllAttributesKey): Return only keys concerned
by the current iterator.
(getAttributes): Use strict inequality for
end_index.
From-SVN: r79329
2004-03-11 Guilhem Lavaux <guilhem@kaffe.org>
* java/io/BufferedInputStream.java (marktarget): New field for max
mark limit.
(CHUNKSIZE): New constant for incremental mark buffer allocation.
(mark): Use new fields.
(read): Likewise.
(read(byte[],int,int)): Likewise.
(skip): Likewise.
(refill): Likewise.
From-SVN: r79326
2004-03-11 Eric Botcazou <ebotcazou@gcc.gnu.org>
Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/14522
* configure.in: Cope with shell that do not support nesting
quotes inside quoted backquote substitutions.
* configure: Regenerate.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r79325
2004-03-11 Mark Wielaard <mark@klomp.org>
* java/beans/BeanDescriptor.java (BeanDescriptor):
Set the FeatureDescriptor programmatic name.
From-SVN: r79324
* src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
arguments from fp registers only for the first 8 parameter slots.
Don't convert a float parameter when passed in memory.
From-SVN: r79323
2004-03-11 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/channels/natFileChannelEcos.cc: Totally reworked.
This file was was just copied form java/io/natFileDescriptorEcos.cc
and never changed to compile correctly.
From-SVN: r79320
2004-03-11 Michael Koch <konqueror@gmx.de>
* gnu/java/awt/peer/ClasspathFontPeer.java:
Fixed javadoc to be correct xhtml.
* gnu/java/awt/peer/gtk/GtkArgList.java
(add): Use Boolean.valueOf() instead of new Boolean().
From-SVN: r79313
* config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
(movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
(*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
(*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
move_operand as source predicate in all cases.
(*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
Test reg_or_0_operand. Use move_operand as source predicate.
(*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
(*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
(*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
(movhi, movqi, movsf, movdf): Use mips_legitimize_move.
(*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
Use move_operand as source predicate. Remove 'K' constraint.
(*movqi_internal): Likewise movqi_internal.
(*movsf_hardfloat): Renamed from movsf_internal1. Test
reg_or_0_operand. Use move_operand as source predicate.
(*movsf_softfloat): Likewise movsf_internal2.
(*movdf_hardfloat_64bit): Likewise movsf_internal1a.
(*movdf_hardfloat_32bit): Likewise movsf_internal1b.
(*movdf_softfloat): Likewise movdf_internal2.
* config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
for DImode if !TARGET_64BIT.
(mips_legitimize_move): Simplify accordingly.
From-SVN: r79309
PR/14362
* var-tracking.c (struct variable_def): Added field refcount.
(variable_htab_free): Decrease the refcount and delete variable
only if there are no more references.
(unshare_variable): New function.
(vars_copy_1): Increase refcount instead of copying the variable.
(variable_union): Share the variables where possible, unshare
the variables if needed.
(variable_different_p): Return false if var1 and var2 are
the same structure.
(variable_was_changed): Init the refcount of new variable.
(set_frame_base_location): Unshare variable if needed.
(set_variable_part): Init the refcount of new variable.
Unshare the variables if needed.
(delete_variable_part): Unshare the variables if needed.
(emit_notes_for_differences_1): Init the refcount of new variable.
(vt_add_function_parameters): Do not add function parameters to
IN set of ENTRY_BLOCK_PTR because it is unused anyway.
(vt_initialize): Do not add frame_base_decl to IN set of
ENTRY_BLOCK_PTR because it is unused anyway.
From-SVN: r79307