Fix for PR libgcj/261:
* include/win32-signal.h (MAKE_THROW_FRAME): Added `_exception'
argument.
* include/sparc-signal.h (MAKE_THROW_FRAME): Added `_exception'
argument. (This is a patch from long ago that somehow went
missing.)
From-SVN: r34575
* cp-tree.h (finish_mem_initializers): Declare.
(count_trees): Likewise.
* parse.y (base_init): Use finish_mem_initializers.
* semantics.c (finish_mem_initializers): New function.
* tree.c (count_trees_r): Prototype. Use DATA parameter to store
the number of trees.
(n_trees): Remove.
(count_trees): Don't use it.
From-SVN: r34574
* cp-tree.h (struct language_function): Remove x_base_init_list
and x_member_init_list.
(current_base_init_list): Remove.
(current_member_init_list): Likewise.
(setup_vtbl_ptr): Change prototype.
(emit_base_init): Likewise.
(expand_member_init): Likewise.
(reinit_parse_for_function): Remove.
* decl.c (save_function_data): Don't clear x_base_init_list and
x_member_init_list.
(mark_language_function): Don't mark them.
* init.c (perform_member_init): Tweak comment.
(sort_member_init): Take the list of initializers as an argument.
(sort_base_init): Likewise.
(emit_base_init): Likewise.
(expand_member_init): Return the initializer. Don't use global
variables.
* lex.c (reinit_parse_for_function): Remove.
* method.c (build_template_parm_names): Correct substitution.
(do_build_copy_constructor): Don't use current_member_init_list
and current_base_init_list.
(synthesize_method): Likewise.
* parse.y (base_init): Split mem-initializers into
base-initializers and field-initializers.
(member_init_list): Build up the list here.
(member_init): Return the initializer.
(fn.depfn): Don't use reinit_parse_for_function.
* parse.c: Regenerated.
* pt.c (convert_nontype_argument): Don't make an ADDR_EXPR of the
ERROR_MARK.
(tsubst_expr): Don't use current_member_init_list
and current_base_init_list.
(tsubst_expr_values): Rename to ...
(tsubst_initializer_list): ... this. Use convert_from_reference.
* semantics.c (setup_vtbl_ptr): Don't use current_member_init_list
and current_base_init_list.
(begin_function_definition): Don't call reinit_parse_for_function.
* dump.c (dequeue_and_dump): Use TREE_VEC_LENGTH with vectors.
* error.c (dump_expr): Handle ADDR_EXPRs with REFERENCE_TYPE
correctly.
From-SVN: r34571
* i386.md: Create new [right,left] rotate and right shift
patterns to optimize shift by 1 bit for certain ia32 processors.
Update patterns which perform left shifts to optimize shift by
1 bit for certain ia32 processors.
* i386.c (const_int_1_operand): New predicate.
* i386.h (PREDICATE_CODES): Handle const_int_1_operand.
* i386-protos.h (const_int_1_operand): Prototype.
From-SVN: r34569
* tree.c (count_trees): New debugging function.
* typeck.c (build_x_function_call): Use DECL_FUNCTION_TEMPLATE_P.
* init.c (build_member_call): Pull out the name of a DECL.
* Makefile.in (semantics.o, pt.o): Depend on TIMEVAR_H.
* semantics.c (expand_body): Push to TV_INTEGRATION here.
* optimize.c (optimize_function): Not here.
* pt.c (instantiate_decl): Push to TV_PARSE.
From-SVN: r34568
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.
From-SVN: r34563
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.
From-SVN: r34562
* configure.in: Use --enable-checking=misc,tree,gc by default if
no --enable-checking option is given and for
--enable-checking=yes.
* configure: Rebuilt.
From-SVN: r34540
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.
From-SVN: r34539
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.
From-SVN: r34538
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.
From-SVN: r34537
2000-06-13 Anthony Williams <anthony@anthonyw.cjb.net>
* testsuite/23_containers/bitset_ctor.cc: Qualify reverse wth std::.
* 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
From-SVN: r34535
* 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.
From-SVN: r34531