Tom Tromey [Fri, 31 Jan 2003 22:50:48 +0000 (22:50 +0000)]
jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be cast to element type.
* jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be
cast to element type.
(_Jv_JNI_SetObjectArrayElement): Check array bounds.
(_Jv_JNI_GetObjectArrayElement): Likewise.
configure.in: Adjust command to source config-ml.in to account for changes to the...
2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
Andreas Schwab <schwab@suse.de>
* configure.in: Adjust command to source config-ml.in to account
for changes to the libffi_basedir definition.
(libffi_basedir): Remove ${srcdir} from value and include trailing
slash if nonempty.
* configure: Regenerate.
Co-Authored-By: Andreas Schwab <schwab@suse.de>
From-SVN: r62193
Tom Tromey [Fri, 31 Jan 2003 17:59:00 +0000 (17:59 +0000)]
aclocal.m4, [...]: Rebuilt.
* aclocal.m4, configure, include/config.h.in: Rebuilt.
* acinclude.m4 (CHECK_FOR_BROKEN_MINGW_LD): Resurrected; was in
aclocal.m4 and lost in some merge.
Danny Smith [Fri, 31 Jan 2003 07:33:56 +0000 (07:33 +0000)]
timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
* timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
(times): Don't ever declare if not HAVE_TIMES.
(clock): Don't ever declare if not HAVE_CLOCK.
flow.c (update_life_info): Zap life info after cleanup_cfg.
* flow.c (update_life_info): Zap life info after cleanup_cfg.
(regno_uninitialized): Use correct live at function entry set.
(regno_clobbered_at_setjmp): Likewise.
* gengtype.c (struct walk_type_data): Add needs_cast_p.
(walk_type): Set needs_cast_p in walk_type_data.
(write_types_process_field): Supply casts when required to suppress
warnings.
(write_root): Cast gt_pch_n_S to suppress warning.
* Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
* cp/Make-lang.in: Remove -Wno-error from cp/decl.o.
* config/rs6000/rs6000.c (print_operand): Mask off high bits only
when they might exist.
* config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
insn-conditions.o, and rs6000.o.
Jeff Sturm [Thu, 30 Jan 2003 23:20:45 +0000 (23:20 +0000)]
natClass.cc (initializeClass): Check tables when (state == JV_STATE_IN_PROGRESS).
* java/lang/natClass.cc (initializeClass): Check tables when
(state == JV_STATE_IN_PROGRESS).
(_Jv_GetInterfaces): Use _Jv_WaitForState to link interface.
* java/lang/natClassLoader.cc (_Jv_WaitForState): Handle
interpreted classes.
(linkClass0): Use _Jv_WaitForState.
* ggc-page.c (G.context_depth_allocations): New.
(G.context_depth_collections): New.
(alloc_page): Set G.context_depth_allocations.
(ggc_collect): Set G.context_depth_collections.
(ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
(ggc_pop_context): Early exit for no allocations or collections.
Mark Mitchell [Thu, 30 Jan 2003 16:02:58 +0000 (16:02 +0000)]
class.c (check_field_decls): Only check C_TYPE_FIELDS_READONLY for class types.
* class.c (check_field_decls): Only check C_TYPE_FIELDS_READONLY
for class types.
* cp-tree.h (C_TYPE_FIELDS_READONLY): Use a lang-specific bit
rather than TYPE_LANG_FLAG_0.
(TYPE_BUILT_IN): Remove.
(TYPE_DEPENDENT_P): New macro.
(TYPE_DEPENDENT_P_VALID): Likewise.
(lang_type_class): Add fields_readonly.
* decl.c (record_builtin_type): Don't set TYPE_BUILT_IN.
* pt.c (dependent_type_p_r): New function, split out from ...
(dependent_type_p): ... here. Memoize results.
* search.c (dependent_base_p): Use dependent_type_p, not
uses_template_parms.
* typeck.c (build_modify_expr): Only check C_TYPE_FIELDS_READONLY
for class types.
Kazu Hirata [Thu, 30 Jan 2003 15:36:19 +0000 (15:36 +0000)]
h8300-protos.h: Update the prototype for compute_plussi_cc.
* config/h8300/h8300-protos.h: Update the prototype for
compute_plussi_cc.
(cpp_reader): Declare before it is used.
* config/h8300/h8300.c (compute_plussi_cc): Change the return
type to int.
* config/h8300/h8300.md (monitor_prologue): Call abort() if we
see an unknown H8 variant.
PR target/9316
* config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
* config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
* config/rs6000/t-rtems: New file. multilib variants to match OS.
* config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
rs6000/t-ppcgas so we get the desired multilibs.
Alexandre Oliva [Thu, 30 Jan 2003 11:52:51 +0000 (11:52 +0000)]
config.if: If gcc_version is already set, just use it.
* config.if: If gcc_version is already set, just use it. Don't set
gcc_version_trigger if it's already set, otherwise set it to
gcc/version.c, but only if the file exists. If it is not set and
gcc/version.c does not exist, try to extract the version number from
$CC.
Mark Mitchell [Thu, 30 Jan 2003 07:24:02 +0000 (07:24 +0000)]
c-common.c (builtin_define_float_constants): Define __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
* c-common.c (builtin_define_float_constants): Define
__<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
* call.c (build_field_call): Use build_new_op, not build_opfncall.
(prep_operand): New function.
(build_new_op): Use it. Remove dead code.
* class.c (pushclass): Change "modify" parameter type from int to
bool.
(currently_open_class): Use same_type_p, not pointer equality.
(push_nested_class): Adjust calls to pushclass, remove modify
parameter.
* cp-tree.h (INTEGRAL_OR_ENUMERATION_TYPE_P): New macro.
(pushclass): Change prototype.
(push_nested_class): Likewise.
(grokoptypename): Remove.
(build_opfncall): Remove.
(value_dependent_expression_p): Declare.
(resolve_typename_type): Likewise.
(resolve_typename_type_in_current_instantiation): Likewise.
(enter_scope_of): Remove.
(tsubst): Remove.
(tsubst_expr): Likewise.
(tsubst_copy): Likewise.
(tsubst_copy_and_build): Likewise.
* decl.c (warn_about_implicit_typename_lookup): Remove.
(finish_case_label): Return error_mark_node for erroneous labels.
(start_decl): Adjust calls to push_nested_class.
(grokfndecl): Call push_scope/pop_scope around call to
duplicate_decls.
(grokdeclarator): Do not call tsubst.
(start_function): Adjust calls to push_nested_class.
* decl2.c (grok_array_decl): Use build_new_op, not build_opfncall.
(check_classfn): Use push_scope/pop_scope around type comparisions.
(grokoptypename): Remove.
(push_sscope): Adjust call to push_nested_class.
* error.c (dump_type): Show cv-qualification of typename types.
* init.c (build_member_call): Use build_new_op, not
build_opfncall.
* method.c (build_opfncall): Remove.
* parser.c (cp_parser): Add allow_non_constant_expression_p and
non_constant_expression_p.
(cp_parser_constant_expression): Adjust prototype.
(cp_parser_resolve_typename_type): Remove.
(cp_parser_non_constant_expression): New function.
(cp_parser_non_constant_id_expression): Likewise.
(cp_parser_new): Set allow_non_constant_expression_p and
non_constant_expression_p.
(cp_parser_primary_expression): Reject `this' and `va_arg' in
constant-expressions. Note that dependent names aren't really
constant.
(cp_parser_postfix_expression): Reject conversions to non-integral
types in constant-expressions. Neither are increments or
decrements.
(cp_parser_unary_expression): Reject increments and decrements in
constant-expressions.
(cp_parser_direct_new_declarator): Adjust call to
cp_parser_constant_expression.
(cp_parser_cast_expression): Reject conversions to non-integral
types in constant-expressions.
(cp_parser_assignment_expression): Rejects assignments in
constant-expressions.
(cp_parser_expression): Reject commas in constant-expressions.
(cp_parser_labeled_statement): Adjust call to
cp_parser_constant_expression.
(cp_parser_direct_declarator): Simplify array bounds, even in
templates, when they are non-dependent. Use
resolve_typename_type, not cp_parser_resolve_typename_type.
(cp_parser_class_head): Use resolve_typename_type, not
cp_parser_resolve_typename_type.
(cp_parser_member_declaration): Adjust call to
cp_parser_constant_expression.
(cp_parser_constant_initializer): Likewise.
(cp_parser_constructor_declarator): Use resolve_typename_type, not
cp_parser_resolve_typename_type.
(cp_parser_late_parsing_default_args): Adjust call to
push_nested_class.
* pt.c (tsubst): Give it internal linkage.
(tsubst_expr): Likewise.
(tsubst_copy): Likewise.
(tsubst_copy_and_build): Likewise.
(push_access_scope_real): Likewise.
(tsubst_friend_class): Likewise.
(instantiate_class_template): Adjust call to pushclass.
(value_dependent_expression_p): Give it external linkage.
Robustify.
(resolve_typename_type): New function.
* semantics.c (finish_call_expr): Use build_new_op, not
build_opfncall.
(begin_constructor_declarator): Remove.
(begin_class_definition): Adjust call to pushclass.
(enter_scope_of): Remove.
* typeck.c (comptypes): Resolve typename types as appropriate.
(build_x_indirect_ref): Use build_new_op, not build_opfncall.
(build_x_compound_expr): Likewise.
(build_modify_expr): Likewise.
(build_x_modify_expr): Likewise.
* typeck2.c (build_x_arrow): Likewise.
* g++.dg/parser/constant1.C: New test.
* include/std/std_limits.h (numeric_limits<float>::has_infinity):
Use __FLT_HAS_INIFINITY__ to initialize.
(numeric_limits<float>::has_quiet_NaN): Likewise.
(numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
to initialize.
(numeric_limits<double>::has_quiet_NaN): Likewise.
(numeric_limits<long double>::has_infinity): Use
__LDBL_HAS_INIFINITY__ to initialize.
(numeric_limits<long_double>::has_quiet_NaN): Likewise.
Loren J. Rittle [Thu, 30 Jan 2003 05:19:31 +0000 (05:19 +0000)]
Make-lang.in (po-generated): Find the targets in $(parsedir).
* Make-lang.in (po-generated): Find the targets in $(parsedir).
Propagate change to all other rules as required.
(java/parse-scan.o): Add explicit dependency on
$(parsedir)/java/parse-scan.c .
Laurent Guerby [Thu, 30 Jan 2003 00:46:22 +0000 (00:46 +0000)]
re PR ada/8344 (mips-rtems build problem)
2003-01-29 Laurent Guerby <guerby@acm.org>
PR ada/8344
* final.c: rename to adafinal.c to avoid file name conflicts with gcc file.
* Makefile.in: match previous change.
* Make-lang.in: match previous change.
Joel Sherrill [Wed, 29 Jan 2003 17:43:57 +0000 (17:43 +0000)]
5rosinte.ads: Add SIGXCPU.
2003-01-29 Joel Sherrill <joel@OARcorp.com>
* 5rosinte.ads: Add SIGXCPU.
* 5rtpopsp.adb: New file.
* Make-lang.in: Do not build gnatpsta and gnatpsys when cross.
* Makefile.in: Recognize more RTEMS targets and add the RTEMS
specific file 5rtpopsp.adb.
* adaint.h: Add include of <stdio.h> when target is RTEMS. This
is likely needed for all newlib targets.
* init.c: Add RTEMS specific version of __gnat_initialize().
David Edelsohn [Wed, 29 Jan 2003 17:37:25 +0000 (17:37 +0000)]
rs6000.c (function_arg_pass_by_reference): Return true for variable sized types.
* config/rs6000/rs6000.c (function_arg_pass_by_reference):
Return true for variable sized types.
(rs6000_va_arg): Handle variable sized types passed by reference
on non-SVR4 ABI.
Richard Earnshaw [Wed, 29 Jan 2003 16:50:34 +0000 (16:50 +0000)]
arm.c (arm_legtimize_address): New function.
* arm.c (arm_legtimize_address): New function.
* arm-protos.h (arm_legtimize_address): Add prototype.
* arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
(LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
do ... while (0)
Joel Sherrill [Wed, 29 Jan 2003 15:01:39 +0000 (15:01 +0000)]
re PR target/9295 ([mips-rtems] config/mips/rtems.h init/fini issue)
2003-01-13 Joel Sherrill <joel@OARcorp.com>
* config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
RTEMS code knows which C++ initialization style the toolset
configuration is using. This was tracked as PR9295.
Joel Sherrill [Wed, 29 Jan 2003 14:57:36 +0000 (14:57 +0000)]
re PR bootstrap/9293 ([m68k-elf/rtems] config/m68k/t-crtstuff bug)
2003-01-29 Joel Sherrill <joel@OARcorp.com>
* config/m68k/t-crtstuff: Replace spaces with tabs, add
$(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
This issue was tracked as PR9293.
Joel Sherrill [Wed, 29 Jan 2003 14:54:09 +0000 (14:54 +0000)]
re PR bootstrap/9292 (hppa1.1-rtems configurery problems)
2003-01-29 Joel Sherrill <joel@OARcorp.com>
* config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
RTEMS threads.
* config/pa/rtems.h (LIB_SPEC): Use -N when linking.
This issue was tracked as PR9292.
Ranjit Mathew [Tue, 28 Jan 2003 22:23:36 +0000 (22:23 +0000)]
re PR java/9254 (java::lang::Object::wait(), threads-win32.cc returns wrong return codes)
2003-01-28 Ranjit Mathew <rmathew@hotmail.com>
Fixes PR java/9254:
* include/win32-threads.h (_Jv_Mutex_t): Convert to a struct
additionally containing id of the owner thread as well as
the number of nested times the thread has acquired the mutex.
(_Jv_MutexInit): Initialise owner thread id and refcount to 0.
(_Jv_MutexDestroy): Reset owner thread id and refcount to 0.
(_Jv_MutexUnlock): Check if really the owner thread, reset
owner thread id to 0 before leaving, if leaving for the last
time.
(_Jv_MutexLock): Set owner thread id in the mutex and increment
refcount.
(_Jv_ThreadYield): Yield using a call to Sleep(0).
* win32-threads.cc (_Jv_CondWait): Check if really owner of
the passed mutex.
Pass handle of the broadcast event, instead of a pointer to it
in Win32 ResetEvent( ) call.
Remove incorrect return values.
(_Jv_CondDestroy): Close both event handles and delete
critical section.
(_Jv_CondNotify): Check if really the owner thread.
(_Jv_CondNotifyAll): Check if really the owner thread.
(_Jv_InitThreads): Change daemon_cond to a manual-reset event.
(really_start): Use SetEvent( ) to signal daemon_cond.
(_Jv_ThreadWait): Remove SignalObjectAndWait( ) and use
WaitForSingleObject( ) instead to wait for daemon_cond to be
signalled.
Mike Stump [Tue, 28 Jan 2003 19:40:46 +0000 (19:40 +0000)]
regclass.c (init_reg_autoinc): New function.
* regclass.c (init_reg_autoinc): New function.
(regclass): Move initialization of forbidden_inc_dec_class from
here...
(init_regs): to here. Avoids reinitialization for each function,
saving compilation time.
* cpplib.h (struct cpp_options): Add warn_deprecated field.
* cppinit.c (cpp_create_reader): Turn it on by default.
* c-opts.c (c_common_decode_option): Set it.
* cpplib.c (do_pragma_once): Only complain about #pragma once
if warn_deprecated is set.
Dale Johannesen [Tue, 28 Jan 2003 19:25:49 +0000 (19:25 +0000)]
emit-rtl.c (const_double_htab_hash): Use mode in the hash.
2003-01-28 Dale Johannesen <dalej@apple.com>
* emit-rtl.c (const_double_htab_hash): Use mode in the hash.
* loop.c (scan_loop): Move movables on -Os rich-register targets.
* config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
Vladimir Makarov [Tue, 28 Jan 2003 17:12:06 +0000 (17:12 +0000)]
haifa-sched.c (schedule_insn): Return necessary cycle advance after issuing the insn.
2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
* haifa-sched.c (schedule_insn): Return necessary cycle advance
after issuing the insn.
(rank_for_schedule): Make a insn with /S the highest priority
insn.
(move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
(choose_ready): Check SCHED_GROUP_P.
(schedule_block): Advance cycle after issuing insn if it is
necessary. Don't reorder insns if there is an insn with /S.
(set_priorities): Ignore schedule groups.
* sched-deps.c (remove_dependence, group_leader): Remove the
functions.
(add_dependence): Ignore schedule groups.
(set_sched_group_p): Don't make copy of dependencies from previous
insn of the schedule group. Add anti-dependency to the previous
insn of the schedule group.
(compute_forward_dependences): Ignore schedule groups.
Alexandre Oliva [Tue, 28 Jan 2003 15:48:17 +0000 (15:48 +0000)]
mips.h (UNITS_PER_HWFPVALUE): Renamed from...
* config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
(UNITS_PER_FPVALUE): Defined as the width of a long double, or
zero if no hardware floating point.
(LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
(MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
(BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
(FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
* config/mips/mips.c (mips_arg_info): Pass TFmode values in
even FP registers on N32 and N64.
(mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
(mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
(mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
even-register-like alignment to 128-bit arguments.
(save_restore_insns): Use UNITS_PER_HWFPVALUE.
(mips_function_value): Likewise. Return TFmode in $f0 and $f2
on N32 or N64.
* config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
(TPBIT): Set to tp-bit.c.
(tp-bit.c): Create out of fp-bit.c.