Bryce McKinlay [Thu, 15 Jun 2000 12:04:50 +0000 (12:04 +0000)]
2000-06-15 Bryce McKinlay <bryce@albatross.co.nz>
Fix for PR java.lang/258:
* prims.cc (_Jv_PrimClass): Set state of primitive class to
JV_STATE_DONE, to prevent accidental initialization.
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Call
_Jv_InterfaceAssignableFrom if target is an interface and source is
an interface or an abstract class. Remove redundant initializeClass
calls. Remove duplicate if_idt test.
(_Jv_InterfaceAssignableFrom): New function.
* java/lang/Class.h (_Jv_InterfaceAssignableFrom): Prototype.
Bryce McKinlay [Thu, 15 Jun 2000 11:58:18 +0000 (11:58 +0000)]
2000-06-15 Bryce McKinlay <bryce@albatross.co.nz>
Fix for PR java.lang/258:
* prims.cc (_Jv_PrimClass): Set state of primitive class to
JV_STATE_DONE, to prevent accidental initialization.
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Call
_Jv_InterfaceAssignableFrom if target is an interface and source is
an interface or an abstract class. Remove redundant initializeClass
calls. Remove duplicate if_idt test.
* java/lang/Class.h (_Jv_InterfaceAssignableFrom): New function.
Mark Mitchell [Wed, 14 Jun 2000 16:10:14 +0000 (16:10 +0000)]
cp-tree.h (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH): New macro.
* cp-tree.h (BINFO_OVERRIDE_ALONG_VIRTUAL_PATH): New macro.
* class.c (dfs_find_final_overrider): Set it appropriately.
(dfs_built_vtt_inits): Check BINFO_OVERRIDE_ALONG_VIRTUAL_PATH to
avoid unneeded secondary vptrs.
Jakub Jelinek [Wed, 14 Jun 2000 05:30:09 +0000 (07:30 +0200)]
tree.h (TYPE_USER_ALIGN, [...]): Define.
* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
(struct tree_type, struct tree_decl): Add user_align member.
* stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
(place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
and DECL_USER_ALIGN 0, cap alignment to this value.
(place_field): Likewise.
(finalize_type_size): Set TYPE_USER_ALIGN.
(layout_type): Likewise.
(initialize_sizetypes): Likewise.
* c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
DECL_USER_ALIGN to 1.
* c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
(xfer_tag): Set TYPE_USER_ALIGN.
(finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
(finish_enum): Likewise.
* stmt.c (expand_decl): Set DECL_USER_ALIGN.
(expand_anon_union_decl): Likewise.
* tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
(build_index_type): Set TYPE_USER_ALIGN.
(build_range_type): Likewise.
(build_common_tree_nodes_2): Likewise.
* tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
ch/:
* decl.c (init_decl_processing): Set TYPE_USER_ALIGN.
(layout_enum): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
* typeck.c (layout_chill_range_type): Set TYPE_USER_ALIGN.
(apply_chill_field_layout): Set DECL_USER_ALIGN.
(layout_chill_struct_type): Set TYPE_USER_ALIGN.
f/:
* com.c (ffecom_transform_common_): Set DECL_USER_ALIGN.
(ffecom_transform_equiv_, ffecom_decl_field): Likewise.
(ffecom_init_0): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
(duplicate_decls): Set DECL_USER_ALIGN.
java/:
* typeck.c (build_java_array_type): Set TYPE_USER_ALIGN.
* parse.y (java_complete_class): Set DECL_USER_ALIGN.
* parse.c: Rebuilt.
Andreas Jaeger [Wed, 14 Jun 2000 03:06:30 +0000 (21:06 -0600)]
configure.in: Use --enable-checking=misc,tree,gc by default if...
* configure.in: Use --enable-checking=misc,tree,gc by default if
no --enable-checking option is given and for
--enable-checking=yes.
* configure: Rebuilt.
Benjamin Kosnik [Wed, 14 Jun 2000 01:16:03 +0000 (01:16 +0000)]
[multiple changes]
2000-06-13 Steven King <sxking@uswest.net>
* acinclude.m4: Fixup some of the builtin math tests and add tests for
__builtin_fmod* and test libm for fmodf, fmodl or _fmodf, _fmodl.
* acconfig.h: Add entries for fmod*.
2000-06-13 Branko Cibej <branko.cibej@hermes.si>
* bits/std_cmath.h: Fix typos in tests (*_FMODFF -> *_FMODF).
Test *_MODFF not *_MODF for modf(float, float*).
(modf(float, float*)): Remove reference to _C_legacy.
Benjamin Kosnik [Wed, 14 Jun 2000 00:12:42 +0000 (00:12 +0000)]
acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to _GNU_SOURCE instead of _ISOC9X_SOURCE...
2000-06-13 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to
_GNU_SOURCE instead of _ISOC9X_SOURCE, as _GNU_SOURCE is the
superset, and already defined at top level.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* docs/17_intro/contribute.html: Plead with people to use -cp.
Benjamin Kosnik [Wed, 14 Jun 2000 00:01:08 +0000 (00:01 +0000)]
acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to _GNU_SOURCE instead of _ISOC9X_SOURCE...
2000-06-13 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to
_GNU_SOURCE instead of _ISOC9X_SOURCE, as _GNU_SOURCE is the
superset, and already defined at top level.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* testsuite/27_io/filebuf.cc: Changed calls to
fpos<>._M_position() to implicit calls to operator streamoff().
* testsuite/27_io/iostream_objects.cc: Removed #include <ciso646>,
as not needed. Revert, as part of standard.
* testsuite/27_io/ostream_inserter_arith.cc: Replaced explicit
call to numpunct<>._M_init() with overrides of the appropriate
virtual functions.
* testsuite/27_io/stringstream.cc: Removed unnecessary char *
pointers from test01, so no need to call base(), which isn't
guaranteed to be implemented as iterators may themselves be pointers
* testsuite/27_io/stringbuf.cc: Removed unnecessary calls to
_M_position() - use implicit conversion to streamoff instead
libgcc2.c (ia64_throw_helper): Use __builtin_return_address.
* libgcc2.c (ia64_throw_helper): Use __builtin_return_address.
(__throw): Don't pass the address of a label.
* config/ia64/ia64.c (ia64_compute_frame_size): Use
current_function_is_leaf.
(ia64_expand_prologue): Likewise. Modify return_address_pointer_rtx
instead of reg_names[RETURN_ADDRESS_REGNUM].
(ia64_init_machine_status): Reset return_address_pointer_rtx.
* config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename
from RETURN_ADDRESS_REGNUM. Update all uses.
(RETURN_ADDR_RTX): Use return_address_pointer_rtx; return
zero instead of null on failure.
(ELIMINABLE_REGS): Add ra->b0 elimination.
(CAN_ELIMINATE): Update accordingly.
(INITIAL_ELIMINATION_OFFSET): Likewise.
(REGISTER_NAMES): Use an illegal assembler name for
RETURN_ADDRESS_POINTER_REGNUM.
Make-lang.in (c++.install-common): Install g++-cross in $(gcc_tooldir)/bin as g++ and c++...
* Make-lang.in (c++.install-common): Install g++-cross in
$(gcc_tooldir)/bin as g++ and c++; g++ in $(bindir) as
$(target_alias)-g++ and $(target_alias)-c++.
David O'Brien [Tue, 13 Jun 2000 16:09:51 +0000 (16:09 +0000)]
configure.in: Adjust FreeBSD bits to match changes to config.guess.
* configure.in: Adjust FreeBSD bits to match changes to config.guess.
We now default to ELF for the i386, and a.out is the special case.
* configure: Rebuilt.
Jeffrey A Law [Mon, 12 Jun 2000 23:08:05 +0000 (23:08 +0000)]
print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC to print the alias set.
* print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC
to print the alias set.
* print-tree.c (print_node, DECL_* nodes and case 't'): Similarly.
Mark Mitchell [Mon, 12 Jun 2000 20:46:28 +0000 (20:46 +0000)]
class.c (vcall_offset_data_s): Add last_init and fns.
* class.c (vcall_offset_data_s): Add last_init and fns.
(overrides): Rename to same_signature_p.
(dfs_find_final_overrider): Adjust accordingly.
(mark_overriders): Likewise.
(warn_hidden): Likewise.
(build_vtbl_initializer): Reorganize machinery for building things
at negative offsets.
(build_vcall_and_vbase_vtbl_entries): Likewise.
(build_vbase_offset_vtbl_entries): Likewise.
(dfs_build_vcall_offset_vtbl_entries): Correct order of vcall
offset entries. Do not create two entries for functions with the
same signature.
(build_vcall_offset_vtbl_entries): Initialize vod->fns.
(build_rtti_vtbl_entries): Reorganize machinery for building things
at negative offsets.
Richard Earnshaw [Mon, 12 Jun 2000 14:40:24 +0000 (14:40 +0000)]
flow.c (mark_used_regs): Revert last change.
* flow.c (mark_used_regs): Revert last change.
(life_analysis): Remove PROP_AUTOINC if running after reload.
(propagate_one_insn): PROP_AUTOINC is always off after reload.
Mark Mitchell [Mon, 12 Jun 2000 06:43:27 +0000 (06:43 +0000)]
mangle.c (NESTED_TEMPLATE_MATCH): Fix typo in comment.
* mangle.c (NESTED_TEMPLATE_MATCH): Fix typo in comment.
(is_std_substitution): Don't check CLASSTYPE_USE_TEMPLATE here.
(find_substitution): Only use the `Sa' substitution for
std::allocator, not instantiations of it.
(write_template_prefix): Move comment. Only use a TREE_LIST to
represent substitutions for a member template.
(write_array_type): Mangle array dimensions correctly.
* optimize.c (maybe_clone_body): Copy more information from the
cloned function.
* pt.c (regenerate_decl_from_template): Preserve DECL_USE_TEMPLATE
on the regenerated declaration.
Chip Salzenberg [Sun, 11 Jun 2000 03:57:18 +0000 (03:57 +0000)]
mangle.c (write_number): Take an unsigned HOST_WIDE_INT as an argument.
* mangle.c (write_number): Take an unsigned HOST_WIDE_INT as an
argument.
(write_signed_number): New macro.
(write_unsigned_number): Likewise.
(write_source_name): Use them.
(write_number): Handle signed and unsigned values.
(write_integer_cst): Use tree_int_cst_sgn, and use
write_unsigned_number or write_signed_number as appropriate.
(write_discriminator): Use write_unsigned_number or
write_signed_number as appropriate.
(write_template_arg_literal): Likewise.
(write_array_type): Use tree_low_cst.
(write_template_parm): Use write_unsigned_number or
write_signed_number as appropriate.
(write_substitution): Adjust call to write_number.
(write_type): Get the TYPE_MAIN_VARIANT before mangling it.
(write_expression): Handle non-type template arguments of
reference type correctly.
(mangle_thunk): Use write_signed_number.
* mangle.c (find_substition): Don't mangle objects with typename
substitutions (e.g. "cin" as "Si").
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r34488
Zack Weinberg [Fri, 9 Jun 2000 21:47:40 +0000 (21:47 +0000)]
ggc-none.c, [...] (ggc_alloc_obj): Rename it ggc_alloc, drop second argument, never clear returned memory.
toplevel:
* ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename
it ggc_alloc, drop second argument, never clear returned memory.
* ggc-common.c (ggc_alloc_string): Use ggc_alloc.
(ggc_alloc_cleared): New.
* ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not
ggc_alloc_obj. Remove ggc_alloc macro.
(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc.
* rtl.c (rtvec_alloc): Clear the vector always.
(rtx_alloc): Clear the first word always. Remove dirty
obstack tricks (this routine is no longer a bottleneck).
* tree.c (make_node): Clear the new node always.
(make_tree_vec): Likewise.
(tree_cons): Clear the common structure always.
(build1): Likewise; also, clear TREE_COMPLEXITY.
* gengenrtl.c: Use puts wherever possible. Remove extra
newlines.
(gendef): Clear the first word of an RTX in the generator
function, irrespective of ggc_p. Initialize '0' slots to
NULL.
(genlegend): Don't generate obstack_alloc_rtx routine, just a
thin wrapper macro around obstack_alloc.
* stmt.c (expand_fixup): Use ggc_alloc.
* c-typeck.c (add_pending_init): Use ggc_alloc.
* emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem).
* varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to
const0_rtx when it is created.
(immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if
we are not in a function.
* tree.c (tree_class_check_failed): Make second arg an int.
* tree.h: Update prototype.
Mark Mitchell [Fri, 9 Jun 2000 16:41:10 +0000 (16:41 +0000)]
cp-tree.h (cp_tree_index): Remove Java types.
* cp-tree.h (cp_tree_index): Remove Java types.
(java_fundamental_type_kind): New enumeration type.
(java_fundamental_types): New array.
* class.c (push_lang_context): Use java_fundamental_types.
* decl.c (java_fundamental_types): Define it.
(initialize_java_fundamental_types): New function.
(init_decl_processing): Call it
* mangle.c (integer_type_codes): Make it const.
(java_fundamental_type_codes): New variable.
(write_source_name_from_string): New function.
(write_identifier): Constify.
(write_builtin_type): Handle Java types. Use same_type_p for type
comparison.
Jakub Jelinek [Fri, 9 Jun 2000 14:31:54 +0000 (16:31 +0200)]
configure.in: Check whether gas supports -relax.
* configure.in: Check whether gas supports -relax.
* configure, config.in: Rebuilt.
* config/sparc/sparc.h (ASM_RELAX_SPEC): Define.
(EXTRA_SPECS): Add asm_relax.
(ASM_SPEC): Add %(asm_relax).
(TARGET_SWITCHES): Add -mrelax and -mno-relax.
* config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC.
(LINK_SPEC): Pass -relax to linker unless -mno-relax or -r.
(ASM_SPEC): Add %(asm_relax).
* config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise.
* config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION,
never use sethi/jmpl for leaf tail calls. Use or with rs2 %g0
instead of mov, so that gas can further optimize it.