- 16 Dec, 2001 14 commits
-
-
2001-12-16 Craig Rodrigues <rodrigc@gcc.gnu.org> PR other/3725 * configure.in: Add AC_SUBST(target_alias). * configure: Regenerated. From-SVN: r48063
Craig Rodrigues committed -
* decl.c (java_init_decl_processing): Build otable_type correctly. otable_decl is an otable_type. From-SVN: r48062
Bryce McKinlay committed -
* config/alpha/alpha.md (sibcall_osf_1_er): New. (sibcall_value_osf_1_er): New. From-SVN: r48061
Richard Henderson committed -
From-SVN: r48060
Richard Henderson committed -
* config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not addrs; eliminate restriction of only using fp and sp as base registers. * config/sparc/sparc-protos.h: Update. * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64. (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived from old define_peepholes. Convert all the ldd/std peepholes to peephole2. From-SVN: r48059
Dan Nicolaescu committed -
* s390.md (prologue, epilogue, *return_si, *return_di): New. s390.c (find_unused_clobbered_reg, s390_frame_info, save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New. s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare. s390.c (s390_arg_frame_offset): Use s390_frame_info. (leaf_function_flag, cur_is_leaf_function, save_fprs, restore_fprs, force_const_mem_late): Remove. (s390_function_prologue, s390_function_epilogue): Mostly remove. s390.md (lit): New. Uses ... s390.c (s390_output_constant_pool): ... this, so adapt and make global. s390-protos.h (s390_output_constant_pool): Declare. s390.md (load_multiple, store_multiple): Allow use after reload. s390.c (load_multiple_operation, store_multiple_operation): Likewise. s390.h (INCOMING_FRAME_SP_OFFSET): Define. s390.h (CALL_REALLY_USED_REGISTERS): Define. config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ... s390.h (CONDITIONAL_REGISTER_USAGE): ... here. s390.c (s390_sr_alias_set): New global variable, initialized ... (override_options): ... here. New. s390-protos.h (override_options): Declare. s390.h (OVERRIDE_OPTIONS): Call it. s390.c (s390_function_profiler): New. s390-protos.h (s390_function_profiler): Declare. s390.h (FUNCTION_PROFILER): Call it. s390.c (s390_profile): Remove. * s390.c (reg_used_in_mem_p): PC reload counts as memory access. (addr_generation_dependency_p): Consider literal pool register loads. (s390_adjust_priority): Do not schedule load_multiple. s390.md (attribute "type"): Define some additional types. (function_unit "integer"): Adapt. (many insns): Adapt "type" attribute setting. * s390.c (general_s_operand, s_imm_operand): New. (s_operand): Remove old definition, call general_s_operand instead. s390-protos.h (s_imm_operand): Declare. s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand, r_or_x_or_im16_operand, r_or_im8_operand): Remove. s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand, r_or_x_or_im16_operand, r_or_im8_operand): Likewise. s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand. s390.md (many insns): Rework insn predicates. * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all non-symbolic constants. Reload will force them because of ... (s390_preferred_reload_class): ... this. New. s390-protos.h (s390_preferred_reload_class): Declare. s390.h (PREFERRED_RELOAD_CLASS): Call it. s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters, *reload_la_31 splitters): Handle constants after reload. (many insns): no longer force all constants immediately. s390.c (legitimate_reload_constant_p): New helper routine. s390-protos.h (legitimate_reload_constant_p): Declare. s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case. * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer. (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update. (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise. (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise. (DWARF_FRAME_REGISTERS): Define. s390.c (regclass_map): Add virtual frame pointer. (legitimate_la_operand_p): Allow use of virtual frame pointer. s390.md (*la_ccclobber, *addaddr_ccclobber): New. (addaddr, addsi_64): Delete. * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in floating point registers. (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define. (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes. (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. * s390.md (movti): Replace multi-insn output with splitters. (movdi_31, movdf_31): Likewise. (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New. (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New. (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt. (movdf_soft_64, movdf_soft_31, movsf_soft): Remove. (movsf_64, movsf_31): Remove, replace by ... (movsf): ... this. (movqi_64): Use lhi instead of llill. (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)). * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2, extendqidi2, extendhisi2, *extendhisi2, extendqisi2, extendqihi2 and associated splitters): Reworked. (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2, zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2, zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2, *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2, *zero_extendqisi2_64, *zero_extendqisi2_mem_31, zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64, zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31, and associated splitters): Likewise. (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31 and associated splitters): New. (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2, *truncsihi2_64, truncsiqi2, trunchiqi2): Remove. (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove. s390.h (PROMOTE_PROTOTYPES): Remove. config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise. * s390.md (muldi3): Delete, use instead ... (mulsidi3): ... this. (*muldi3_64): Rename to muldi3. (mulsi_6432): Fix template. (divdi3, moddi3): Delete, replace by ... (divmoddi4): ... this. (divmodtidi3): Fix template. (divmodtisi3): New. (udivdi3, umoddi3): Delete, replace by ... (udivmoddi4): ... this. (udivmodtidi3): Fix template. (divsi3, modsi3): Delete, replace by ... (divmodsi4): ... this. (divmoddisi3): Fix template. (udivsi3, umodsi3): Adapt. * s390.md (anddi3): Remove SS alternative, use instead ... (anddi3_ss, anddi3_ss_inv): ... these. (anddi3_ni): New. (andsi3*, andhi3*, andqi3*): Likewise. (iordi3): Remove SS alternative, use instead ... (iordi3_ss, iordi3_ss_inv): ... these. (iordi3_oi): New. (iorsi3*, iorhi3*, iorqi3*): Likewise. (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New. (xordi3): Remove SS alternative, use instead ... (xordi3_ss, xordi3_ss_inv): ... these. (xordi3_oi): New. (xorsi3*, xorhi3*, xorqi3*): Likewise. (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New. (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2): Expand to XOR with -1. (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove. (cmpdi_tm): Delete, replace by ... (cmpdi_tm_reg, cmpdi_tm_mem): ... these. (cmpsi_cct): Delete, replace by ... (cmpsi_tm_reg, cmpsi_tm_mem): ... these. (cmpdi_tm2, cmpsi_tm2): Improve. (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New. s390.c (s390_single_hi, s390_extract_hi, s390_single_qi, s390_extract_qi): New helper routines. s390-protos.h (s390_single_hi, s390_extract_hi, s390_single_qi, s390_extract_qi): Declare. s390.c (tmxx_operand, const1_operand): Remove. s390-protos.h (tmxx_operand, const1_operand): Likewise. s390.h (PREDICATE_CODES): Likewise. * s390.md (sqrtdf2, sqrtsf2): New. * s390.h (CRT_CALL_STATIC_FUNCTION): Define. (check_and_change_labels): Remove section-change special case. * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address in leaf functions. Needs ... (DYNAMIC_CHAIN_RTX): ... this. New. * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos. * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31, clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber input operands using a match_dup clause. (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt. * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee, floatsisf2, floatsisf2_ieee): Add missing CC clobber. * s390.md (floatsidf2_ibm): Use correct operand. * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2, fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of non-portable constants. s390.c (s390_gen_rtx_const_DI): New helper routine. s390-protos.h (s390_gen_rtx_const_DI): Declare. * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment. * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE): Clean up assembly output. (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions. (ASM_OUTPUT_ASCII): Remove. * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define. From-SVN: r48058
Ulrich Weigand committed -
From-SVN: r48057
Richard Kenner committed -
* unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself before including unwind-dw2-fde.c, if we are not using the special code in this file. From-SVN: r48056
Zack Weinberg committed -
* 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb, 5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb, 5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb, 5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb, 7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in, a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb, a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb, cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads, g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb, gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c, make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb, repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb, s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads, s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads, s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads, sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix spelling errors. From-SVN: r48055
Joseph Myers committed -
* config/alpha/alpha.h (TARGET_SWITCHES): Turn on MASK_EXPLICIT_RELOCS if the assembler supports it. * configure.in (HAVE_AS_EXPLICIT_RELOCS): New. * configure, config.in: Rebuild. From-SVN: r48054
Richard Henderson committed -
Nathan Myers <ncm@cantrip.org> * include/bits/basic_string.h (assign(__str, __pos, __n), assign(__s, __n)): Optimize by avoiding unnecessary temporaries. (assign(__s)): Call assign(__s, __n). * include/bits/basic_string.tcc (_M_replace_safe): Adjust comment. * include/bits/std_string.h: include stl_function.h. * testsuite/21_strings/assign.cc (test02, test03): New tests. Co-Authored-By: Nathan Myers <ncm@cantrip.org> From-SVN: r48053
Paolo Carlini committed -
* osint.adb(Create_Debug_File): When an object file is specified, put the .dg file in the same directory as the object file. * osint.adb: Minor reformatting * lib-xref.adb (Output_Instantiation): New procedure to generate instantiation references. * lib-xref.ads: Add documentation of handling of generic references. * ali.adb (Read_Instantiation_Ref): New procedure to read instantiation references * ali.ads: Add spec for storing instantiation references * bindusg.adb: Minor reformatting * switch.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5) * usage.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5) * gnatcmd.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5) * csets.adb: Add entry for Latin-5 (Cyrillic ISO-8859-5) * csets.ads: Fix header format Add 2001 to copyright date Add entry for Latin-5 (Cyrillic ISO-8859-5) * adaint.c: mktemp is a macro on Lynx and can not be used as an expression. * misc.c (gnat_expand_constant): Do not strip UNCHECKED_CONVERT_EXPR if operand is CONSTRUCTOR. * trans.c (tree_transform, case N_Assignment_Statement): Set lineno before emiting check on right-hand side, so that exception information is correct. * utils.c (create_var_decl): Throw away initializing expression if just annotating types and non-constant. * prj-nmsc.adb: (Ada_Check): Migrate drom Ada_Default_... to Default_Ada_... * prj.adb: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix): Remove functions. (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move to spec. * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix): Remove functions. (Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Move from body. From-SVN: r48052
Geert Bosch committed -
From-SVN: r48051
Joseph Myers committed -
* java/io/DataOutputStream (write (byte[], int, int)): Update "written" correctly. Fix from the ORP team. From-SVN: r48050
Bryce McKinlay committed
-
- 15 Dec, 2001 26 commits
-
-
* calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted for rounded_stack_size. From-SVN: r48049
Richard Kenner committed -
* c-typeck.c, config/i386/i386.h, config/mcore/mcore.h, config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c, toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and "bit-field" spellings in messages. * po/gcc.pot: Regenerate. ch: * expr.c: Use "built-in" spelling in messages. From-SVN: r48048
Joseph Myers committed -
* gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use American spelling in messages. * po/gcc.pot: Regenerate. ch: * decl.c, parse.c, typeck.c: Use American spelling in messages. cp: * lang-options.h: Use American spelling in messages. From-SVN: r48047
Joseph Myers committed -
2001-12-15 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Enable gnu locale model on linux by default. * aclocal.m4: Regenerate. * configure: Regenerate. From-SVN: r48046
Benjamin Kosnik committed -
* config/h8300/h8300.md: Adjust whitespacing. Remove constraints from expanders. Replace \@ with @. From-SVN: r48045
Kazu Hirata committed -
From-SVN: r48044
Richard Earnshaw committed -
regrename.c (copyprop_hardreg_forward): Do not keep register value data live across abnormal call or eh egdes. * regrename.c (copyprop_hardreg_forward): Do not keep register value data live across abnormal call or eh egdes. From-SVN: r48043
Ulrich Weigand committed -
* expr.c (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT for 0. From-SVN: r48042
Richard Kenner committed -
* predict.def (PRED_NORETURN, PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN): Make probabilities match reality. From-SVN: r48041
Jan Hubicka committed -
* configure.in: Check for ld. (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option. * configure, config.in: Rebuilt. * config.gcc: Add crtbeginT.o to extra_parts where needed. * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc frame unwinding on Linux. * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde frame unwinding. * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static. (LINK_EH_SPEC): Define. * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static. * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define. * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't iterate further if pc falls into current library, but fde was not found. * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static if using glibc. (LINK_EH_SPEC): Define. * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64): Use crtbeginT.o for -static. (LINK_EH_SPEC): Define. * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o. * Makefile.in (crtbeginT.o): Add rule. * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh. If neither -static-libgcc nor -shared-libgcc is passed and -shared, use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not. If none of the above switches are passed, use -lgcc -lgcc_eh. (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec. * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if creating libgcc_s.so, put them into separate libgcc_eh.a instead. * unwind-dw2-fde.c: Don't include any headers if this file is included from other .c file. * unwind-dw2-fde-glibc.c: New file. * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define. Use it instead of EH_FRAME_SECTION_NAME where appropriate. From-SVN: r48039
Jakub Jelinek committed -
gcc/java: * java-tree.h (otable_methods, otable_decl, otable_syms_decl, otable_type, otable_ptr_type, method_symbol_type, method_symbols_array_type, method_symbols_array_ptr_type): New field/global tree definitions. (flag_indirect_dispatch): New flag. * decl.c (java_init_decl_processing): Initialize new otable and otable_syms type nodes and decls. Add new field "index" to method_type_node. * class.c (build_method_symbols_entry): New function. (make_method_value): Set "index" to to method's vtable index for virtual methods when indirect-dispatch is not used. (make_class_data): For indirect-dispatch, dont emit the dtable_decl, and set vtable_method_count to -1. Set otable and otable_syms field if indirect-dispatch is used and there was something to put in them. (build_method_symbols_entry): New function. (emit_offset_symbol_table): New function. * expr.c (get_offset_table_index): New function. (build_invokevirtual): Build array reference to otable at the index returned by get_offset_table_index, and use the result as the vtable offset. (build_invokeinterface): Similar. * jcf-parse.c (yyparse): If indirect-dispatch, call emit_offset_symbol_table at the end of compilation, after all classes have been generated. * jvspec.c: Don't pass findirect-dispatch to jvgenmain. * lang.c (flag_indirect_dispatch): Define. (lang_f_options): Add indirect-dispatch flag. libjava: * include/jvm.h (_Jv_VTable::idx_to_offset): New method. * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call _Jv_MakeVTable and _Jv_LinkOffsetTable if needed. * java/lang/Class.h (_Jv_Method): Add "index" field. (_Jv_MethodSymbol): New struct type. (_Jv_LinkOffsetTable, _Jv_LayoutVTableMethods, _Jv_SetVTableEntries, _Jv_MakeVTable): Friends. (otable, otable_syms): New Class fields. * java/lang/natClass.cc (_Jv_LinkOffsetTable): New function. (isVirtualMethod): New static function. (_Jv_LayoutVTableMethods): New function. (_Jv_SetVTableEntries): New function. (_Jv_MakeVTable): New function. From-SVN: r48038
Bryce McKinlay committed -
From-SVN: r48036
GCC Administrator committed -
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz> * java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of the bitset. (andNot): Likewise. (xor): Likewise. 2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz> * java/util/LinkedList.java (LinkedListItr.add): Don't skip the next entry. 2001-12-15 Eric Blake <ebb9@email.byu.edu> * java/util/TreeMap.java (removeNode): Fix bug in node removal. 2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz> * java/util/AbstractCollection.java (containsAll): Use size of the correct collection for loop bound. * java/util/AbstractList.java (iterator.next): Increment pos after calling get on backing list. (listIterator.next): Likewise. * java/util/LinkedList.java (addLastEntry): Don't increment size before checking for size == 0. (addFirstEntry): Rearrange to match addLastEntry. (add): Do not increment size before inserting the new entry. * java/util/AbstractCollection.java (addAll): Use size of the correct collection for loop bound. 2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz> * java/util/AbstractSet.java (removeAll): Fix scoping thinko. * java/util/HashMap.java (putAllInternal): Set size here. * java/util/Hashtable.java (putAllInternal): New method. Copy contents of a map efficiently without calling put() or putAll(). (Hashtable (map)): Use putAllInternal. (clone): Likewise. 2001-12-15 Eric Blake <ebb9@email.byu.edu> * java/util/Collections.java: * java/util/Vector.java: * java/util/WeakHashMap.java: Fix spelling errors. 2001-12-15 Eric Blake <ebb9@email.byu.edu> * java/util/AbstractCollection.java (removeAllInternal), (retainAllInternal): Add hooks for use by ArrayList. * java/util/AbstractList.java: Minor code updates. Fix some scoping. * java/util/AbstractMap.java: ditto * java/util/ArrayList.java (readObject, writeObject): ditto (removeAllInternal, retainAllInternal): Optimize. * java/util/Arrays.java: ditto * java/util/Collections.java: ditto. Change order of parameters to equals(Object, Object) to match specs. * java/util/Dictionary.java: Improve javadoc. (Dictionary): Add explicit constructor. * java/util/HashMap.java: Improve javadoc. Rearrange methods to follow order in JDK. Cleanups related to recent code migration to AbstractMap. Fix some scoping. (entrySet): Cache the result. (modCount): Ensure that this is updated correctly. * java/util/HashSet.java: Improve javadoc. Fix some scoping. (init): Add hooks for LinkedHashSet. (map): Use "" instead of Boolean.TRUE in backing map. Use package-private API where possible for less overhead. (readObject, writeObject): Fix serialization. * java/util/Hashtable.java: Improve javadoc. Fix some scoping. (entrySet, keySet, values): Cache the result. (modCount): Ensure that this is updated correctly. (contains, remove): Fix NullPointer checking to match specs. (class Enumeration): Make more like HashIterator. * java/util/IdentityHashMap.java: Minor code updates. (modCount): Ensure that this is updated correctly. (readObject, writeObject): Fix serialization. * java/util/LinkedHashMap.java: Minor code updates. Cleanups related to recent code migration to AbstractMap. * java/util/LinkedHashSet.java: New file. * java/util/LinkedList.java: (readObject, writeObject): Fix serialization. * java/util/Makefile.am: List recently added files. * java/util/Stack.java: Minor code updates. * java/util/TreeMap.java: Improve javadoc. Overhaul the class to be more efficient. Fix some scoping. Rearrange the methods. (nil): Ensure that this can be thread-safe, and make it a static final. Initialize it to be more useful as a sentinal node. (Node): Specify color in constructor. (deleteFixup, insertFixup): Improve comments and algorithm. (fabricateTree): Redesign with less overhead. (lowestGreaterThan): Add parameter first to make SubMap easier. (removeNode): Patch hole where nil was being modified. Choose predecessor instead of successor so in-place swap works. (class VerifyResult, verifyTree, verifySub, verifyError): Remove this dead code after verifying the class works. (class SubMap): Rewrite several algorithms to avoid problems with comparing nil. * java/util/TreeSet.java: Improve javadoc. Fix some scoping. (clone): Fix ClassCastException when cloning subSet(). (readObject, writeObject): Fix serialization. * java/util/WeakHashMap.java: Improve javadoc. Fix some scoping. (NULL_KEY): Make it compare as null, for ease elsewhere. (Class WeakEntry): Rename from Entry, to avoid shadowing Map.Entry. Add missing toString. (modCount): Ensure that this is updated correctly. (clear, containsValue, keySet, putAll, values, WeakHashMap(Map)): Add missing methods and constructor. 2001-12-15 Eric Blake <ebb9@email.byu.edu> * java/util/ArrayList.java (checkBoundExclusive), (checkBoundInclusive): Rename from range??clusive, to match AbstractList. * java/util/LinkedList.java (checkBoundsExclusive), (checkBoundsInclusive): ditto * java/util/Vector.java (checkBoundExclusive), (checkBoundInclusive): Move bounds checking into common methods. 2001-12-15 Eric Blake <ebb9@email.byu.edu> * java/util/AbstractList.java: (modCount): Make sure it is updated in all needed places. * java/util/ArrayList.java: Improve javadoc. Implements RandomAccess. Add serialVersionUID. Reorder methods. (modCount): Make sure it is updated in all needed places. (rangeExclusive, rangeInclusive): Add common methods for bounds check. (isEmpty): Add missing method. * java/util/Collections.java: (class SynchronizedList): Make package visible. * java/util/ConcurrentModificationException.java: Improve javadoc. * java/util/EmptyStackException.java: Improve javadoc. * java/util/LinkedList.java: Improve javadoc. (modCount): Make sure it is updated in all needed places. (rangeExclusive, rangeInclusive): Add common methods for bounds check. * java/util/NoSuchElementException.java: Improve javadoc. * java/util/Stack.java: Improve javadoc. Fix synchronization issues. (modCount): Make sure it is updated in all needed places. * java/util/Vector.java: Improve javadoc. Fix synchronization issues. Implements RandomAccess. Reorder methods. (modCount): Make sure it is updated in all needed places. (setSize): Fix according to specifications: this does not dictate the backing array size. (removeAll, retainAll): Faster implementations. 2001-12-15 Eric Blake <ebb9@email.byu.edu> * java/util/BitSet.java: Improve javadoc. (cardinality(), clear(), clear(int, int), flip(int)), (flip(int, int), get(int, int), intersects(BitSet), isEmpty()), (nextClearBit(int), nextSetBit(int), set(int, boolean)), (set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods. (clone): Fix so subclasses clone correctly. 2001-12-15 Eric Blake <ebb9@email.byu.edu> * java/util/AbstractCollection.java: Improve javadoc. (AbstractCollection()): Make constructor protected. (equals(Object, Object), hashCode(Object)): Add utility methods. * java/util/AbstractList.java: Improve javadoc. (AbstractList()): Make constructor protected. (indexOf(Object)): Call listIterator(), not listIterator(int). (iterator()): Follow Sun's requirement to not use listIterator(0). (listIterator(int)): Make AbstractListItr anonymous. (subList(int, int)): Add support for RandomAccess. (SubList.add(int, Object), SubList.remove(Object)): Fix bug with modCount tracking. (SubList.addAll(Collection)): Add missing method. (SubList.listIterator(int)): Fix bugs in indexing, modCount tracking. (class RandomAccessSubList): Add new class. * java/util/AbstractMap.java: Improve javadoc. (keys, values, KEYS, VALUES, ENTRIES): Consolidate common map fields. (AbstractMap()): Make constructor protected. (equals(Object, Object), hashCode(Object)): Add utility methods. (equals(Object)): Change algorithm to entrySet().equals(m.entrySet()), as documented by Sun. (keySet(), values()): Cache the collections. * java/util/AbstractSequentialList.java: Improve javadoc. (AbstractSequentialList()): Make constructor protected. * java/util/AbstractSet.java: Improve javadoc. (AbstractSet()): Make constructor protected. (removeAll(Collection)): Add missing method. * java/util/Arrays.java: Improve javadoc, rearrange method orders. (defaultComparator): Remove, in favor of Collections.compare(Object, Object, Comparator). (binarySearch, equals, sort): Fix natural order comparison of floats and doubles. Also improve Object comparison - when comparator is null, use natural order. (fill, sort): Add missing checks for IllegalArgumentException. (sort, qsort): Fix sorting bugs, rework the code for more legibility. (mergeSort): Inline into sort(Object[], int, int, Comparator). (class ArrayList): Rename from ListImpl, and make compatible with JDK serialization. Add methods which more efficiently override those of AbstractList. * java/util/Collections: Improve javadoc. (isSequential(List)): Add and use a method for deciding between RandomAccess and sequential algorithms on lists. (class Empty*, class Synchronized*, class Unmodifiable*): Make compliant with JDK serializability. (class Singleton*, class CopiesList, class RevereseComparator), (class UnmodifiableMap.UnmodifiableEntrySet), (class *RandomAccessList): New classes for serial compatibility. (class Empty*, class Singleton*, class CopiesList): Add methods which more efficiently override those of Abstract*. (search): Inline into binarySearch(List, Object, Comparator). (binarySearch): Make sequential search only do log(n) comparisons, instead of n. (copy(List, List)): Do bounds checking before starting. (indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate), (swap): Add new JDK 1.4 methods. (binarySearch, max, min, sort): Allow null comparator to represent natural ordering. (reverse(List)): Avoid unnecessary swap. (shuffle(List, Random)): Do shuffle in-place for RandomAccess lists. (SingletonList.get): Fix logic bug. (SingletonMap.entrySet): Make the entry immutable, and cache the returned set. (SynchronizedCollection, SynchronizedMap, UnmodifiableCollection), (UnmodifiableMap): Detect null pointer in construction. (SynchronizedMap, UnmodifiableMap): Cache collection views. * java/util/BasicMapEntry: Improve javadoc. From-SVN: r48035
Bryce McKinlay committed -
2001-12-14 Benjamin Kosnik <bkoz@redhat.com> Clean up initialization and simplfy caching of underlying "C" locale objects. * src/localename.cc (locale::_Impl::_Impl(string, size_t): Unconditionally create __clocale object for all named locales, including "C" and "POSIX". * config/locale/c_locale_generic.cc (locale::facet::_S_create_c_locale): Always set __cloc to zero. * config/locale/c_locale_gnu.cc: Always delete. * include/bits/localefwd.h (locale::facet::_S_c_locale): New. * src/locale.cc (locale::classic()): Initialize locale::facet::_S_c_locale. (locale::facet::_S_c_locale): Define. * include/bits/locale_facets.h: Add ctype_byname<wchar_t> ctor specialization. * src/locale.cc: Add definition here. * config/os/gnu-linux/bits/ctype_inline.h: Tweak. * config/os/gnu-linux/bits/ctype_noninline.h: Adjust initializations. * include/bits/locale_facets.h (ctype<char>::_M_c_locale_ctype): Add. Adjust ctors, dtors. (ctype<char>::_M_toupper): Remove const&. (ctype<char>::_M_tolower): Remove const&. (ctype<char>::_M_ctable): Remove const&. * include/bits/locale_facets.h (collate): Clean up initialization of _M_c_locale_collate in ctors and dtors. * config/locale/collate_members_gnu.cc: Always use extended functions. * include/bits/locale_facets.h (messages): Clean up inits in ctor/dtor. (messages_byname): Same. * config/locale/messages_members_generic.h (messages::~messages): Remove. * config/locale/messages_members_gnu.h: Same. * include/bits/localefwd.h: Clean. Move dtor definitions to * src/locale.cc: Here. * testsuite/22_locale/facet.cc: Fix spelling. Named locale support for ctype<wchar_t>. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add variable ctype_members_* bits. * aclocal.m4: Regenerate. * configure: Regenerate. * src/Makefile.am (sources): Add ctype.cc. * src/Makefile.in: Regenerate. * config/locale/ctype_members_generic.cc: New file. * config/locale/ctype_members_gnu.cc: New file. * src/locale.cc: Remove ctype<wchart_t> definitions. From-SVN: r48034
Benjamin Kosnik committed -
* builtins.c (expand_builtin_memcmp): Mark parameter with ATTRIBUTE_UNUSED. * cfgcleanup.c (insns_match_p): Likewise. * regrename.c (mode_change_ok): Likewise. * gcc.c (execute): Const-ify. From-SVN: r48033
Kaveh R. Ghazi committed -
* c-parse.in (typename): Do not split attributes. Remove unsupported attributes warning. * c-decl.c (groktypename): Apply attributes. From-SVN: r48032
Aldy Hernandez committed -
From-SVN: r48031
Aldy Hernandez committed -
* config/ia64/ia64.c (spill_restore_mem): Mark iterator initialization as possibly dead. From-SVN: r48030
Richard Henderson committed -
* regrename.c (mode_change_ok): New. (find_oldest_value_reg): Use it. From-SVN: r48029
Richard Henderson committed -
* regrename.c (struct value_data): Add max_value_regs. (init_value_data): Initialize it. (kill_value): Kill values that overlap the dying register. (set_value_regno): New. (kill_set_value, kill_autoinc_value, copy_value): Use it. (copyprop_hardreg_forward_1): Kill earlyclobber operands before looking at inputs. From-SVN: r48028
Richard Henderson committed -
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle DECL_WEAK for function descriptors. * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler weak support present. (ASM_WEAKEN_LABEL): Same. From-SVN: r48027
David Edelsohn committed -
* config/h8300/h8300.md (anonymous pattern): Add a missing mode. From-SVN: r48026
Kazu Hirata committed -
* config/h8300/h8300.c (h8300_adjust_insn_length): Fix a comment typo. From-SVN: r48025
Kazu Hirata committed -
* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Remove the initialization requierment. (h8300_handle_tiny_data_attribute): Likewise. From-SVN: r48024
Kazu Hirata committed -
* config/h8300/h8300.md (udivqi3): Remove. (divqi3): Likewise. (udivhi3): Likewise. (divhi3): Likewise. (umodqi3): Likewise. (modqi3): Likewise. (umodhi3): Likewise. (modhi3): Likewise. (udivmodqi3): New. (divmodqi3): Likewise. (udivmodhi3): Likewise. (divmodhi3): Likewise. From-SVN: r48023
Kazu Hirata committed -
cfgcleanup.c (flow_find_cross_jump): Replace tests for note by active_insn_p; count conditional jump as instruction. * cfgcleanup.c (flow_find_cross_jump): Replace tests for note by active_insn_p; count conditional jump as instruction. From-SVN: r48022
Jan Hubicka committed
-