summaryrefslogtreecommitdiff
path: root/gcc
Commit message (Collapse)AuthorAgeFilesLines
* decl.c (java_init_decl_processing): Build otable_type correctly.Bryce McKinlay2001-12-162-5/+9
| | | | | | | * decl.c (java_init_decl_processing): Build otable_type correctly. otable_decl is an otable_type. From-SVN: r48062
* alpha.md (sibcall_osf_1_er): New.Richard Henderson2001-12-152-3/+31
| | | | | | | * config/alpha/alpha.md (sibcall_osf_1_er): New. (sibcall_value_osf_1_er): New. From-SVN: r48061
* * sem_ch7.adb: Wrap comment.Richard Henderson2001-12-152-7/+11
| | | | From-SVN: r48060
* sparc.c (mems_ok_for_ldd_peep): Rename from addrs_ok_for_ldd_peep_withmem...Dan Nicolaescu2001-12-154-83/+153
| | | | | | | | | | | | | | * 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
* s390.md (prologue, [...]): New.Ulrich Weigand2001-12-168-2296/+3525
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Add newline in copyright block.Richard Kenner2001-12-151-1/+2
| | | | From-SVN: r48057
* unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself before including ↵Zack Weinberg2001-12-152-2/+10
| | | | | | | | | | unwind-dw2-fde.c... * 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
* 5ataprop.adb, [...]: Fix spelling errors.Joseph Myers2001-12-16108-263/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* alpha.h (TARGET_SWITCHES): Turn on MASK_EXPLICIT_RELOCS if the assembler ↵Richard Henderson2001-12-155-24/+136
| | | | | | | | | | | supports it. * 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
* osint.adb (Create_Debug_File): When an object file is specified...Geert Bosch2001-12-1616-45/+351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * ChangeLog: Remove piece of diff output.Joseph Myers2001-12-161-770/+4
| | | | From-SVN: r48051
* calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted for ↵Richard Kenner2001-12-152-2/+10
| | | | | | | | | rounded_stack_size. * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted for rounded_stack_size. From-SVN: r48049
* c-typeck.c, [...]: Use "built-in" and "bit-field" spellings in messages.Joseph Myers2001-12-1514-50/+62
| | | | | | | | | | | | | * 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
* gcc.c, [...]: Use American spelling in messages.Joseph Myers2001-12-1512-3368/+4284
| | | | | | | | | | | | | | * 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
* h8300.md: Adjust whitespacing.Kazu Hirata2001-12-152-13/+18
| | | | | | | * config/h8300/h8300.md: Adjust whitespacing. Remove constraints from expanders. Replace \@ with @. From-SVN: r48045
* * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.Richard Earnshaw2001-12-152-1/+9
| | | | From-SVN: r48044
* regrename.c (copyprop_hardreg_forward): Do not keep register value data live ↵Ulrich Weigand2001-12-152-0/+6
| | | | | | | | | 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
* expr.c (highest_pow2_factor, [...]): Return BIGGEST_ALIGNMENT for 0.Richard Kenner2001-12-152-10/+16
| | | | | | | * expr.c (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT for 0. From-SVN: r48042
* predict.def (PRED_NORETURN, [...]): Make probabilities match reality.Jan Hubicka2001-12-152-5/+10
| | | | | | | * predict.def (PRED_NORETURN, PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN): Make probabilities match reality. From-SVN: r48041
* configure.in: Check for ld.Jakub Jelinek2001-12-1520-47/+731
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* java-tree.h (otable_methods, [...]): New field/global tree definitions.Bryce McKinlay2001-12-158-27/+307
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Daily bump.GCC Administrator2001-12-152-2/+2
| | | | From-SVN: r48036
* builtins.c (expand_builtin_memcmp): Mark parameter with ATTRIBUTE_UNUSED.Kaveh R. Ghazi2001-12-155-4/+12
| | | | | | | | | | * 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
* c-parse.in (typename): Do not split attributes.Aldy Hernandez2001-12-153-10/+21
| | | | | | | | | * c-parse.in (typename): Do not split attributes. Remove unsupported attributes warning. * c-decl.c (groktypename): Apply attributes. From-SVN: r48032
* * testsuite/gcc.dg/20011214-1.c: New.Aldy Hernandez2001-12-152-0/+18
| | | | From-SVN: r48031
* ia64.c (spill_restore_mem): Mark iterator initialization as possibly dead.Richard Henderson2001-12-142-6/+20
| | | | | | | * config/ia64/ia64.c (spill_restore_mem): Mark iterator initialization as possibly dead. From-SVN: r48030
* regrename.c (mode_change_ok): New.Richard Henderson2001-12-142-2/+29
| | | | | | | * regrename.c (mode_change_ok): New. (find_oldest_value_reg): Use it. From-SVN: r48029
* regrename.c (struct value_data): Add max_value_regs.Richard Henderson2001-12-142-7/+59
| | | | | | | | | | | | * 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
* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle DECL_WEAK for function descriptors.David Edelsohn2001-12-143-8/+43
| | | | | | | | | | * 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
* h8300.md (anonymous pattern): Add a missing mode.Kazu Hirata2001-12-152-1/+6
| | | | | | | * config/h8300/h8300.md (anonymous pattern): Add a missing mode. From-SVN: r48026
* h8300.c (h8300_adjust_insn_length): Fix a comment typo.Kazu Hirata2001-12-152-1/+6
| | | | | | | * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a comment typo. From-SVN: r48025
* h8300.c (h8300_handle_eightbit_data_attribute): Remove the initialization ↵Kazu Hirata2001-12-152-14/+8
| | | | | | | | | | requierment. * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Remove the initialization requierment. (h8300_handle_tiny_data_attribute): Likewise. From-SVN: r48024
* h8300.md (udivqi3): Remove.Kazu Hirata2001-12-152-63/+72
| | | | | | | | | | | | | | | | | * 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
* cfgcleanup.c (flow_find_cross_jump): Replace tests for note by ↵Jan Hubicka2001-12-152-7/+21
| | | | | | | | | 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
* cygwin.h (I386_PE_STRIP_ENCODING): Handle '*' at SYM_NAME[0] or SYM_NAME[3].DJ Delorie2001-12-142-2/+10
| | | | | | | | | | * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*' at SYM_NAME[0] or SYM_NAME[3]. (STRIP_NAME_ENCODING): Don't check for leading '*'. Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net> From-SVN: r48020
* Added changes to support -### (previously ok'ed by R. Henderson).Ira Ruben2001-12-142-8/+112
| | | | | | | | | | | | | | | | | | | | | | | | | Added changes to prevent -save-temps from clobbering the input file (previously ok'ed by R. Henderson). 2001-12-14 Ira Ruben <ira@apple.com> Add -### option (displays driver-generated commands without executing and quotes all arguments). * doc/invoke.texi: Add -###. * gcc.c (verbose_only_flag) - New flag. * (execute): If -### write quoted arguments and return. * (display_help): Print meaning of -###. * (process_command): Handle -###. 2001-12-14 Ira Ruben <ira@apple.com> Fix to no allow -save-temps to clobber user's source file. * gcc.c: Add static globals input_stat and input_stat_set. (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag set, check that user's input file is not overwritten. (set_input): Reset input_stat_set for each new file. From-SVN: r48019
* gcj.texi: Markup for man page generation.Matthias Klose2001-12-143-13/+263
| | | | | | | | | | | * gcj.texi: Markup for man page generation. Document missing options printed by <tool> --help. Terminate description of gij's -ms option with a dot. * Make-lang.in ($(srcdir)/java/*.1): New targets. (java.generated-manpages java.install-man, java.uninstall, java-maintainer-clean) Updated. From-SVN: r48016
* config-lang.in: Update copyright noticeGeert Bosch2001-12-146-7/+20
| | | | | | | | | | | | | | * config-lang.in: Update copyright notice * layout.adb: Remove commented out code. * mdllfile.ads: Update copyright notice. Fix header format. * sem_case.ads: Likewise. * sem_ch3.adb: Minor reformatting. From-SVN: r48014
* * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.Jan Hubicka2001-12-142-1/+5
| | | | From-SVN: r48010
* combine.c (record_dead_and_set_regs): Use regs_invalidated_by_call.Zack Weinberg2001-12-142-1/+13
| | | | | | | * combine.c (record_dead_and_set_regs): Use regs_invalidated_by_call. Don't note stores for CALL_INSNs. From-SVN: r48009
* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and __builtin_fsqrt to ↵Andreas Jaeger2001-12-147-21/+32
| | | | | | | | | | | | | | | | | | | | | | | | __builtin_sqrt. 2001-12-14 Roger Sayle <roger@eyesopen.com> * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and __builtin_fsqrt to __builtin_sqrt. * builtins.c (expand_builtin_mathfn,expand_builtin): Same. * doc/extend.texi: Simplify documentation to match patch. f: * com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt. * com.c (ffecom_init_0): Same, and fixed enumeration usage. libstdc++-v3: * acconfig.h: Test for __builtin_sqrt instead of __builtin_fsqrt. * acinclude.m4: Same. * include/c_shadow/bits/std_cmath.h: Same. * aclocal.m4: Regenerated. * config.h.in: Regenerated. * configure: Regenerated. From-SVN: r48008
* config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.Jan Hubicka2001-12-141-6/+33
| | | | | | | * config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants. From-SVN: r48007
* config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.Jan Hubicka2001-12-144-88/+235
| | | | | | | | | | | | | | | | | | | | | | * config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants. * i386.c (override_options): Default x86_cpu_string and x86_arch_string properly; set prefetch_sse. * i386.h (x86_prefetch_sse): Declare. (TARGET_PREFETCH_SSE): New. (CPP_CPU_DEFAULT_SPEC): Define according to the new macros. (TARGET_CPU_DEFAULT_*): New. * config/i386/i386.h (struct processor_costs): Add new members prefetch_block and simultaneous_prefetches. (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New. * config/i386/i386.c (processor_costs structs): Add values for prefetch_block and simultaneous_prefetches. * config/i386/i386.md (unspec values): Remove values for prefetch operations, which now use the PREFETCH rtx code. (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new unified prefetch support. From-SVN: r48006
* diagnostic.c (sorry): Increment sorrycount before saving the buffer state.Jason Merrill2001-12-142-1/+6
| | | | | | | * diagnostic.c (sorry): Increment sorrycount before saving the buffer state. From-SVN: r48005
* class.c (get_dispatch_table): Fix java vtable layout for ↵Hans Boehm2001-12-146-12/+82
| | | | | | | | | | | | | | | | | | | | | | TARGET_VTABLE_USES_DESCRIPTORS. * class.c (get_dispatch_table): Fix java vtable layout for TARGET_VTABLE_USES_DESCRIPTORS. * decl.c (java_init_decl_processing): Initialize alloc_no_finalizer_node, finalize_identifier_node. * expr.c (class_has_finalize_method): New function. (expand_java_NEW): Generate calls for finalizer-free allocation. (build_invokevirtual): Fix java vtable layout for TARGET_VTABLE_USES_DESCRIPTORS. * java-tree.h (enum java_tree_index): New entries: JTI_ALLOC_NO_FINALIZER_NODE, JTI_FINALIZE_IDENTIFIER_NODE. (alloc_no_finalizer_node, finalize_deintifier_node): New macros. (class_has_finalize_method): declare. (HAS_FINALIZER_P): New macro. * parse.y (patch_invoke): Generate calls for finalizer-free allocation. From-SVN: r48004
* * i386.md (sqrt?f): Fix conditionals.Jan Hubicka2001-12-142-6/+10
| | | | From-SVN: r48003
* config.gcc (alpha64-dec-*vms*): New case.Douglas B Rupp2001-12-147-0/+318
| | | | | | | | | * config.gcc (alpha64-dec-*vms*): New case. * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files. * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise. * config/alpha/xm-vms64.h: Likewise. From-SVN: r48001
* alpha.c (vms_attribute_table): Add new attributes.Douglas B Rupp2001-12-142-11/+36
| | | | | | | | | * config/alpha/alpha.c (vms_attribute_table): Add new attributes. (alpha_write_linkage): Test for null alpha_links. (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes. (vms_section_type_flags, vms_asm_named_section): Handle them. From-SVN: r48000
* i386.c (ix86_fpmath, [...]): New.Jan Hubicka2001-12-145-47/+223
| | | | | | | | | | | | | | | | | | | | | Fri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz> * i386.c (ix86_fpmath, ix86_fpmath_string): New. (override_option): Set ix86_fpmath. * i386.h (MASK_MIX_SSE_I387): Remove. (TARGET_SSE_MATH): New. (TARGET_MIX_SSE_I387): Use ix86_fpmath. (TARGET_SWITCHES): Remove "mix-sse-i387". (fpmath_unit): New enum. (ix86_fpmath, ix86_fpmath_string): Declare. * i386.md (swapsf): Fix condition. (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH. (fp_?f_*_nosse): New. (fp_*): Use TARGET_SSE_MATH. * invoke.texi (-mfpmath): Document. (-msse2): Add. From-SVN: r47999
* tweak commentJason Merrill2001-12-141-1/+6
| | | | From-SVN: r47998