2003-10-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get::do_get(...,
string_type&): Disregard the previous commit: doesn't hurt but
doesn't accomplish anything useful either. This is the right
one, speeding up greatly the function in case of early fail.
From-SVN: r72888
2003-10-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get::do_get(...,
string_type&): Move an if block, thus minimizing the amount
of code processed anyway when __tmp_units.size() == 0.
From-SVN: r72887
2003-10-22 Andrew Haley <aph@redhat.com>
* lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
(java_get_callee_fndecl): New.
* jcf-parse.c (java_parse_file): Call emit_catch_table().
* java-tree.h (ctable_decl): New.
(catch_classes): New.
(java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
* decl.c (java_init_decl_processing): Add catch_class_type.
Add ctable_decl.
Add catch_classes field.
* class.c (build_indirect_class_ref): Break out from
build_class_ref.
(make_field_value): Check flag_indirect_dispatch.
(make_class_data): Ditto.
Tidy uses of PUSH_FIELD_VALUE.
Add field catch_classes.
(make_catch_class_record): New.
* java-tree.h (PUSH_FIELD_VALUE): Tidy.
2003-10-22 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (initializeClass): Call
_Jv_linkExceptionClassTable.
(_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError. Call
_Jv_Defer_Resolution on a method whose ncode is NULL.
(_Jv_linkExceptionClassTable): New function.
(_Jv_LayoutVTableMethods): If superclass looks like a constant pool
entry, look it up.
* java/lang/Class.h (struct _Jv_CatchClass): New.
(_Jv_linkExceptionClassTable): New friend.
(_Jv_Defer_Resolution): New friend.
(class Class.catch_classes): New field.
* include/java-interp.h (Jv_Defer_Resolution): New method.
(_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
(_Jv_MethodBase.deferred): New field.
(_Jv_Defer_Resolution): New function.
* resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
* exception.cc (get_ttype_entry): Change return type to void**.
(PERSONALITY_FUNCTION): Remove all code related to using a
Utf8Const* for a match type. Change match type to be a pointer to
a pointer, rather than a pointer to a Class.
* defineclass.cc (handleCodeAttribute): Initialize
method->deferred.
(handleMethodsEnd): Likewise.
From-SVN: r72886
* arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
comparing a constant with small negative numbers and add costing
for constants in conjunction with AND.
(note_invalid_constants): Tidy previous change.
(thumb_cmp_operand): Tidy.
(thumb_cmpneg_operand): New function.
* arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
for size.
(FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
(PREDICATE_CODES): Add thumb_cmpneg_operand.
* arm.md (cbranchsi4): Convert to define_expand. Handle comparison
with a negative constant.
(cbranchsi4_insn): Matcher for cbranchsi4.
(cbranchsi4_scratch): Similar, but a scratch is available for
handling negative constants.
(movsi_cbranchsi4): New pattern.
(tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
and use the TST instruction.
(andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
(addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
cannot see high regs or memory alternatives.
(bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
From-SVN: r72885
* arm.c (note_invalid_constants): Try to extract the constant
pool value using avoid_constant_pool_reference; only use
get_pool_constant if that returns the original reference.
From-SVN: r72883
cp:
PR c++/12698, c++/12699, c++/12700, c++/12566
* cp-tree.h (THUNK_ALIAS_P, THUNK_ALIAS): New.
(debug_class, debug_thunks): New.
* class.c (dump_class_hierarchy_1): New break out from ...
(dump_class_hierarchy): ... here.
(dump_thunk, debug_thunks, debug_class): New.
(update_vtable_entry_for_fn): Add ssizetype casts. Correct
continued search for primary binfo via virtual.
(build_vtbl_initializer): Follow covariant thunk alias.
* method.c (make_thunk): Clear DECL_THUNKS of the thunk.
(finish_thunk): Look for an alias of the covariant thunk and point
to it.
(use_thunk): We should never use an alias.
* semantics.c (emit_associated_thunks): Do not emit aliases.
PR c++/12566
* cp-tree.h (cp_fname_init): Add TYPE pointer param.
* decl.c (cp_fname_init): Add TYPE pointer param. Set it. Don't
create an ad-hoc ERROR_MARK.
(cp_make_fname_decl): Adjust.
* pt.c (tsubst_expr): Adjust.
testsuite:
PR c++/12698, c++/12699, c++/12700, c++/12566
* g++.dg/inherit/covariant9.C: New test.
* g++.dg/inherit/covariant10.C: New test.
* g++.dg/inherit/covariant11.C: New test.
From-SVN: r72882
PR middle-end/11414
* loop.c (load_mems): Use redirect_jump to forward jumps from
the original loop end label to the new "loop sink" block's label.
From-SVN: r72876
PR middle-end/12705
* optabs.c (expand_binop): When expanding complex operations
inline, always calculate result into a new temporary register.
Minor code clean-ups.
From-SVN: r72871
2003-10-23 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/documentation.html: Add a pointer to the doxygen style
guide.
* docs/html/17_intro/TODO: Update.
* docs/html/test.html: Add instructions for running a subset of
tests, update.
From-SVN: r72867
2003-10-23 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_get<>::do_get(...,
string_type&)): Use find_first_not_of to strip leading
zeros; if __tmp_units == "0" never prefix it with '-';
always fail if __tmp_units is empty.
* testsuite/22_locale/money_get/get/char/10.cc: New.
* testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
From-SVN: r72860
* config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
TARGET_POWREPC64.
(UNITS_PER_GPR_WORD): Define.
(HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
(HARD_REGNO_CALL_PART_CLOBBERED): Define.
(HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
(CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
* config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
DFmode and DImode in 32-bit ABI / 64-bit computation mode.
(rs6000_emit_prologue): Select reg_mode and reg_size using
TARGET_32BIT, not TARGET_POWERPC64.
(rs6000_function_value): Generate PARALLEL for DImode in 32-bit
ABI / 64-bit computation mode
Co-Authored-By: David Edelsohn <edelsohn@gnu.org>
From-SVN: r72851
PR ada/11978:
* exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited
External_Tag attribute definition clauses.
PR ada/7613:
* exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a
child unit, generate a fully qualified name to avoid spurious errors
when the context contains renamings of different child units with
the same simple name.
* exp_dbug.ads: Add documentation on name qualification for renamings
of child units.
* g-regpat.ads, g-regpat.adb: Minor reformatting
* Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times.
* trans.c: (tree_transform, case N_Real_Literal): Add extra arg to
Machine call.
* urealp.h: (Machine): Update to proper definition.
From-SVN: r72843
* ada/adaint.c (w32_epoch_offset): Define static const at file
level.
(win32_filetime): Replace offset with w32_epoch_offset. Use NULL
rather than t_create, t_access in call to GetFileTime. Use union
to convert between FILETIME and unsigned long long.
(__gnat_file_time_name): Test for invalid file handle.
(__gnat_set_filetime_name): Support win32 targets using
w32api SetFileTime.
From-SVN: r72840
2003-10-22 Chris Demetriou <cgd@broadcom.com>
* configure.in: In --enable-generated-files-in-srcdir option
handling, fix default case handling.
* configure: Regenerate.
From-SVN: r72836
2003-10-22 Phil Edwards <phil@codesourcery.com>
* config.gcc: Update *-*-vxworks* generic hook and comments.
(arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
* genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
* config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
* config/windiss.h: New file.
* config/arm/t-vxworks: New file.
* config/arm/vxworks.h: New file.
* config/i386/t-vxworks: New file.
* config/i386/vxworks.h: New file.
* config/mips/t-vxworks: New file.
* config/mips/vxworks.h: New file.
* config/mips/windiss.h: New file.
* config/sh/t-vxworks: New file.
* config/sh/vxworks.h: New file.
From-SVN: r72834
include:
* obstack.h: Merge the following change from gnulib:
2003-10-21 Paul Eggert <eggert@twinsun.com>
* obstack.h (obstack_1grow_fast): Properly parenthesize arg.
(obstack_ptr_grow_fast, obstack_int_grow_fast):
Don't use lvalue casts, as GCC plans to remove support for them
in GCC 3.5. Reported by Joseph S. Myers. This bug
was also present in the non-GCC version, indicating that this
code had always been buggy and had never been widely used.
(obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
Use the fast variant of each macro, rather than copying the
definiens of the fast variant; that way, we'll be more likely to
catch future bugs in the fast variants.
gcc:
* c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
deprecation of casts as lvalues.
* fixinc/inclhack.def (obstack_lvalue_cast): New fix.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/obstack.h: New test.
gcc/testsuite:
* gcc.dg/cast-lvalue-1.c: New test.
From-SVN: r72826
* sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
* ctrl_c.c (__gnat_int_handler): Remove declaration.
* decl.c (creat_concat_name): Const-ify prefix.
* adaint.c: Include ctype.h if __MINGW32__.
(__gnat_readlink): Mark arguments as possibly unused.
(__gnat_symlink): Likewise.
(__gnat_is_symbolic_link): Likewise.
(__gnat_portable_spawn): Likewise. Cast last arg of spawnvp to match
declaration
(__gnat_file_time_name): Don't declare struct stat statbuf when
not needed.
(__gnat_is_absolute_path): Add parenthesis around condition of
'if' statement to avoid warning.
(__gnat_plist_init): Specify void as parameter.
(plist_enter): Likewise.
(plist_leave): Likewise.
(remove_handle): Make static. Initialize prev.
From-SVN: r72824
* dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check presence of DW_AT_inline.
(gen_subprogram_die): Likewise; do not abort instead of emitting DW_AT_not_inline
From-SVN: r72821