summaryrefslogtreecommitdiff
path: root/gcc/defaults.h
Commit message (Collapse)AuthorAgeFilesLines
* * defaults.h (GCOV_TYPE_SIZE): Remove.nathan2003-05-101-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcov-io.h (gcov_type): Set to specific mode int on target. (gcov_unsigned_t, gcov_position_t): New. (GCOV_TYPE_NODE): New. (GCOV_TAG_SUMMARY_LENGTH): Adjust. (GCOV_COUNTERS_SUMMABLE): New. (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn, gcov_ctr_info, gcov_info): Adjust types. (gcov_var): Adjust types. (gcov_write_unsigned, gcov_write_tag, gcov_write_length, gcov_write_tag_length, gcov_write_summary, gcov_read_unsigned, gcov_read_summary): Adjust gcov types. (gcov_position, gcov_sync, gcov_seek): Adjust gcov types. * gcov-io.c (gcov_write_unsigned, gcov_write_tag, gcov_write_length, gcov_write_tag_length, gcov_write_summary, gcov_read_unsigned, gcov_read_summary): Adjust gcov types. * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit, __gcov_init, __gcov_merge_add): Adjust gcov types. * coverage.c (ctr_merge_functions): Constify. (ctr_names): New. (read_counts_file): Adjust gcov types. Only summarize & merge summable counters. (coverage_counter_ref): Use GCOV_TYPE_NODE. (build_fn_info_type, build_fn_info_value, build_ctr_info_type, build_ctr_info_value, build_gcov_info): Adjust types. * profile.c (branch_prob): Adjust gcov types. * gcov_dump (dump_file): Adjust gcov types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66668 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-04-06 Steven Bosscher <steven@gcc.gnu.org>steven2003-04-061-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hashtable.c (gcc_obstack_init): Delete this function and everything related to it. * hashtable.h: Remove prototype. * bitmap.c (bitmap_element_allocate): Cleanup redundant defines. Cleanup some unnecessary whitespace. * defaults.h (obstack_chunk_alloc): Redefine with appropriate casts for libiberty obstacks. (obstack_chunk_free): Ditto. (OBSTACK_CHUNK_SIZE): Define, default to 0. (gcc_obstack_init): Define as a call to _obstack_begin. * tree.c (print_obstack_statistics): Delete this unused function. * tree.h (obstack): Don't forward-declare. (print_obstack_statistics): Delete prototype. (print_obstack_name): Ditto. (gcc_obstack_init): Ditto. * rtl.h (gcc_obstack_init): Ditto. * java/jv-scan.c (gcc_obstack_init): Delete this function, its prototype and related defines. * java/jvgenmain.c (gcc_obstack_init): Delete this function, and related defines. * java/parse-scan.y (obstack_chunk_alloc): Don't define. (obstack_chunk_free): Ditto git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65308 138bc75d-0d04-0410-961f-82ee72b054a4
* * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.zack2003-03-211-3/+2
| | | | | | | | | * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT. * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64672 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.rth2003-02-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | (CTZ_DEFINED_VALUE_AT_ZERO): New. * doc/rtl.texi, doc/tm.texi: Document them. * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness of the value at zero properly. * fold-const.c (tree_expr_nonnegative_p): Likewise. * simplify-rtx.c (simplify_unary_operation): Likewise. * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New. (CTZ_DEFINED_VALUE_AT_ZERO): New. * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove. (TARGET_EXPAND_BUILTIN): Remove. (def_builtin, arm_init_builtins, arm_expand_builtin): Remove. * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New. (enum arm_builtins): Remove. * config/arm/arm.md (UNSPEC_CLZ): Remove. (clzsi2): Rename from clz; use clz instead of unspec. (ctzsi2): New. * config/arm/arm-protos.h: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62453 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c (DEF_BUILTIN): Accept 10 arguments.hubicka2003-01-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (implicit_built_in_decls): New global array. (mathfn_built_in): New global function. (fold_trunc_transparent_mathfn): New static function (expand_builtin_strstr, expand_bultin_strchr, expand_builtin_strpbrk, expand_builtin_strcpy, expand_builtin_strncpy, expand_bultin_strcmp, expand_bultin_strncat, expand_builtin_fputs): Use implicint_built_in_decls. (fold_builtin): Fold floor/trunc/round/ceil/nearbyint. * builtins.def: Fix comments. (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN, DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN, DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN, DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed. (DEF_C99_C90RES_BULTIN): New. (*f, *l builtins): Update. * c-common.c (DEF_BUILTIN): Initialize implicit array. (c_expand_builtin_printf, c_expand_builtin_fprintf): Update. * convert.c (strip_float_extensions): New global function. * tree.h (DEF_BUILTIN): Accept 10 arguments. (implicit_built_in_decls, mathfn_built_in, strip_float_extension): Declare. * java/builtins.c (define_builtin): Handle implicit. (DEF_BUILTIN): Update. * tm.texi (TARGET_C99_FUNCTIONS): Document. * defaults.h (TARGET_C99_FUNCTIONS): Default to 0. * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1 when using glibc2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61738 138bc75d-0d04-0410-961f-82ee72b054a4
* Add 2003 copyright notices for constraints string patch, also 2002 noticeamylaar2003-01-131-1/+1
| | | | | | | for genoutput.c . git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61258 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.amylaar2003-01-091-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (EXTRA_ADDRESS_CONSTRAINT): Likewise. (CONSTRAINT_LEN): Provide default definition. (CONST_OK_FOR_CONSTRAINT_P): Likewise. (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise. (EXTRA_CONSTRAINT_STR): Likewise. (REG_CLASS_FROM_CONSTRAINT): Define. * genoutput.c (check_constraint_len, constraint_len): New functions. (validate_insn_alternatives): Check CONSTRAINT_LEN for each constraint / modifier. (gen_insn): Call check_constraint_len. * local-alloc.c (block_alloc): Update to use new macros / pass second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT. * ra-build.c (handle_asm_insn): Likewise. * recog.c (asm_operand_ok, preprocess_constraints): Likewise. (constrain_operands, peep2_find_free_register): Likewise. * regclass.c (record_operand_costs, record_reg_classes): Likewise. * regmove.c (find_matches): Likewise. * reload.c (push_secondary_reload, find_reloads): Likewise. (alternative_allows_memconst): Likewise. * reload1.c (maybe_fix_stack_asms): Likewise. (reload_cse_simplify_operands): Likewise. * stmt.c (parse_output_constraint, parse_input_constraint): Likewise. * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document. (CONST_OK_FOR_CONSTRAINT_P): Likewise. (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise. (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument. * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61119 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge basic-improvements-branch to trunkzack2002-12-161-14/+20
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60174 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.sje2002-12-091-10/+0
| | | | | | | | | | | | | * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition. * calls.c (store_unaligned_arguments_into_pseudos) Remove FUNCTION_ARG_REG_LITTLE_ENDIAN. * stmt.c (expand_return): Ditto. * expr.c (move_block_from_reg): Ditto. (copy_blkmode_from_reg): Ditto. * expmed.c (store_bit_field): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59962 138bc75d-0d04-0410-961f-82ee72b054a4
* * dbxout.c: Follow spelling conventions.kazu2002-09-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * defaults.h: Likewise. * df.c: Likewise. * diagnostic.h: Likewise. * doloop.c: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * except.c: Likewise. * explow.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * expr.h: Likewise. * flags.h: Likewise. * flow.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * function.h: Likewise. * gcc.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * genconfig.c: Likewise. * genrecog.c: Likewise. * ggc-page.c: Likewise. * ggc.h: Likewise. * global.c: Likewise. * gthr-win32.h: Likewise. * integrate.c: Likewise. * jump.c: Likewise. * langhooks.c: Likewise. * langhooks.h: Likewise. * line-map.h: Likewise. * local-alloc.c: Likewise. * longlong.h: Likewise. * loop.c: Likewise. * loop.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57406 138bc75d-0d04-0410-961f-82ee72b054a4
* * real.c (struct real_format): Move to real.h.rth2002-09-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (real_format_for_mode): Rename from fmt_for_mode; update all users; initialize with ieee defaults. (real_to_target_fmt, real_from_target_fmt): New. (ieee_single_format, ieee_double_format, ieee_extended_motorola_format, ieee_extended_intel_96_format, ieee_extended_intel_128_format, ieee_quad_format, i370_single_format, i370_double_format, c4x_single_format, c4x_extended_format): Rename from s/_format//. (ieee_quad_format): Fix emin. (format_for_size, init_real_once): Remove. * real.h (struct real_format): Move from real.c. (real_format_for_mode): Declare. (real_to_target_fmt, real_from_target_fmt): Declare. (ieee_single_format, ieee_double_format, ieee_extended_motorola_format, ieee_extended_intel_96_format, ieee_extended_intel_128_format, ieee_quad_format, vax_f_format, vax_d_format, vax_g_format, i370_single_format, i370_double_format, c4x_single_format, c4x_extended_format): Declare. * toplev.c (do_compile): Don't call init_real_once. * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove. * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove. * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define. * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode. * config/alpha/alpha.c (override_options): Set real_format_for_mode for VAX, if enabled. * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode for C4X. * config/i370/i370.h (OVERRIDE_OPTIONS): New. * config/i370/i370.c (override_options): New. * config/i370/i370-protos.h: Update. * config/i386/i386.c (override_options): Set real_format_for_mode for Intel 80-bit extended. * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove. * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64. (OVERRIDE_OPTIONS): Move code... * config/i960/i960.c (i960_initialize): ... here. Set real_format_for_mode for Intel 80-bit extended. * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode for Intel 80-bit extended, if enabled. * config/m68k/m68k.c (override_options): Set real_format_for_mode for Motorola 96-bit extended. * config/vax/vax.h (OVERRIDE_OPTIONS): New. * config/vax/vax.c (override_options): New. * config/vax/vax-protos.h: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57388 138bc75d-0d04-0410-961f-82ee72b054a4
* * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,rth2002-09-201-0/+12
| | | | | | | | | | | | IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ... * defaults.h: ... here. * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h, config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h, config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57336 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rth2002-09-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * real.c, real.h: Rewrite from scratch. * Makefile.in (simplify-rtx.o): Depend on TREE_H. (paranoia): New target. * builtins.c (fold_builtin_inf): Use new real.h interface. * c-common.c (builtin_define_with_hex_fp_value): Likewise. * c-lex.c (interpret_float): Likewise. * emit-rtl.c (gen_lowpart_common): Likewise. * optabs.c (expand_float): Use real_2expN. * config/ia64/ia64.md (divsi3, udivsi3): Likewise. * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New. (FLOAT_WORDS_BIG_ENDIAN): New. * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE directly to REAL_VALUE_NEGATIVE. * loop.c (canonicalize_condition): Likewise. * simplify-rtx.c: Include tree.h. (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX with floating-point result modes. * toplev.c (backend_init): Call init_real_once. * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE. * tree.c (build_real): Likewise. * config/alpha/alpha.c, config/vax/vax.c (float_strings, float_values, inited_float_values, check_float_value): Remove. * config/alpha/alpha.h, config/m68hc11/m68hc11.h, config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove. * doc/tm.texi (CHECK_FLOAT_VALUE): Remove. gcc/f/ * target.c (ffetarget_real1): Don't pass FFETARGET_ATOF_ directly to ffetarget_make_real1. (ffetarget_real2): Similarly. * target.h (ffetarget_cvt_r1_to_rv_, ffetarget_cvt_rv_to_r2_, ffetarget_cvt_r2_to_rv_): Use new real.h interface and simplify. gcc/java/ * jcf-parse.c (get_constant): Runtime check for IEEE format; use new real.h interface. * jcf-write.c (find_constant_index): Use new real.h interface. * lex.c (IS_ZERO): Use REAL_VALUES_EQUAL. contrib/ * paranoia.cc: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57198 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c: Move default definition of USER_LABEL_PREFIX...zack2002-09-121-0/+5
| | | | | | | * defaults.h: ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57081 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h: Fix comment formatting.kazu2002-09-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c: Likewise. * c-common.h: Likewise. * c-lex.c: Likewise. * c-pretty-print.c: Likewise. * cfglayout.c: Likewise. * cfgloop.c: Likewise. * defaults.h: Likewise. * et-forest.c: Likewise. * explow.c: Likewise. * function.h: Likewise. * gcov.c: Likewise. * genattrtab.c: Likewise. * gengtype.c: Likewise. * ifcvt.c: Likewise. * libgcc2.c: Likewise. * loop.c: Likewise. * profile.c: Likewise. * ra-build.c: Likewise. * real.c: Likewise. * rtl.h: Likewise. * tracer.c: Likewise. * tree-inline.c: Likewise. * varasm.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56952 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (USER_H): Add ginclude/float.h.rth2002-09-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (FLOAT_H): Remove. (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H. (mostlyclean): Don't remove float.h intermediate files. (distclean): Don't remove float.h. * config.gcc: Remove all float_format references. * configure.in (float_format, float_h_file): Remove. * c-common.c: Include tree-inline.h. (builtin_define_with_int_value): New. (builtin_define_type_precision): Use it. (builtin_define_float_constants): New. (cb_register_builtins): Use it. Define __FLT_RADIX__ and __FLT_EVAL_METHOD__. * defaults.h (TARGET_FLT_EVAL_METHOD): New. * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New. * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New. * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format. (TARGET_FLT_EVAL_METHOD): New. * config/float-c4x.h, config/float-i128.h, config/float-i32.h, config/float-i386.h, config/float-i64.h, config/float-m68k.h, config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove. * ginclude/float.h: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56769 138bc75d-0d04-0410-961f-82ee72b054a4
* * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.ghazi2002-08-211-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL, ASM_OUTPUT_ALIGNED_BSS): Use target hook. * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise. * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete. * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise. (GLOBAL_ASM_OP): Define. * arm.c (aof_globalize_label): New function. (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF. * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook. * c4x.c (c4x_globalize_label): New function. (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x. * c4x.h (ASM_GLOBALIZE_LABEL): Delete. (GLOBAL_ASM_OP): Define. * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook. * darwin-protos.h (darwin_globalize_label): Declare. * darwin.c (darwin_globalize_label): New function. * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook. (ASM_GLOBALIZE_LABEL): Delete. (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define. * dsp16xx.c (asm_output_common): Use target hook. * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. * frv.h (ASM_GLOBALIZE_LABEL): Delete. (GLOBAL_ASM_OP): Define. * i370.c (i370_globalize_label): New function. (TARGET_ASM_GLOBALIZE_LABEL): Define for i370. * i370.h (ASM_GLOBALIZE_LABEL): Delete. * i386.c (ix86_asm_file_end): Use target hook. * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef. (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook. * ia64.c (ia64_asm_output_external): Likewise. * ia64/sysv4.h: Update comment. * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook. * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook. * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook. * mmix-protos.h (mmix_asm_globalize_label): Delete. * mmix.c (mmix_asm_globalize_label): Likewise. * mmix.h (ASM_GLOBALIZE_LABEL): Likewise. (GLOBAL_ASM_OP): Define. * ns32k.c (ns32k_globalize_label): New function. * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k. (ASM_GLOBALIZE_LABEL): Delete. * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef. (TARGET_ASM_GLOBALIZE_LABEL): Undefine. * pa.c (pa_globalize_label): New function. * pa.h (ASM_GLOBALIZE_LABEL): Delete. (TARGET_ASM_GLOBALIZE_LABEL): Define for pa. * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete. (GLOBAL_ASM_OP): Define. (TARGET_ASM_GLOBALIZE_LABEL): Undef. * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook. * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete. (GLOBAL_ASM_OP): Define. * v850.c (v850_output_aligned_bss): Use target hook. * vax.c (vms_globalize_label): New function. (TARGET_ASM_GLOBALIZE_LABEL): Define for vms. * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete. (GLOBAL_ASM_OP): Define. * defaults.h (ASM_GLOBALIZE_LABEL): Delete. * doc/tm.texi: Update docs. * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use target hook. * final.c (output_alternate_entry_point): Likewise. * hooks.c (hook_FILEptr_constcharptr_void): New function. * hooks.h (hook_FILEptr_constcharptr_void): Declare. * output.h (assemble_global): Delete. (default_globalize_label): Declare. * system.h (ASM_GLOBALIZE_LABEL): Poison. * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define. (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL. * target.h (gcc_target): Add globalize_label member. * varasm.c (asm_output_bss, asm_output_aligned_bss, globalize_decl): Use target hook. (assemble_global): Delete. (default_globalize_label): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56478 138bc75d-0d04-0410-961f-82ee72b054a4
* * reload.c (find_reloads): Handle constraint letters marked byuweigand2002-08-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT. (alternative_allows_memconst): Likewise. * reload1.c (maybe_fix_stack_asms): Likewise. * recog.c (asm_operand_ok, preprocess_constraints, constrain_operands): Likewise. * regclass.c (record_operand_costs, record_reg_classes): Likewise. * local-alloc.c (block_alloc, requires_inout): Likewise. * stmt.c (parse_output_constraint, parse_input_constraint): Likewise. * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default. (EXTRA_ADDRESS_CONSTRAINT): Likewise. * doc/tm.texi: Document these two new target macros. * config/s390/s390.c (s390_expand_plus_operand): Accept already valid operands. (q_constraint): New function. config/s390/s390-protos.h (q_constraint): Declare it. config/s390/s390.h (EXTRA_CONSTRAINT): Use it. (EXTRA_MEMORY_CONSTRAINT): New macro. * config/s390/s390.md: Throughout the machine description, replace all instances of the constraint combinations 'Qo' or 'oQ' with simply 'Q'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56291 138bc75d-0d04-0410-961f-82ee72b054a4
* * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.ghazi2002-07-311-0/+13
| | | | | | | | * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default. * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55891 138bc75d-0d04-0410-961f-82ee72b054a4
* * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,ghazi2002-07-301-0/+8
| | | | | | | | | | | | | | darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h, ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition. * defaults.h (ASM_OUTPUT_LABEL): Provide a default. * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55872 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only twozack2002-07-281-6/+4
| | | | | | | | | | | | | | | arguments. Always use ".-symbol" as expression argument. * doc/tm.texi: Update to match. Document requirement for ".size symbol, .-symbol" to be acceptable to assembler. * config/elfos.h, config/netbsd-aout.h, config/openbsd.h, config/arm/elf.h, config/avr/avr.h, config/cris/aout.h, config/i386/freebsd-aout.h, config/i386/sco5.h, config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h, config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55820 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,zack2002-07-251-0/+47
| | | | | | | | | | | | | | | | | | | | | | ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros. * doc/tm.texi: Document them. Also document SIZE_ASM_OP, TYPE_ASM_OP, and TYPE_OPERAND_FMT. * config/elfos.h, config/netbsd-aout.h, config/openbsd.h, config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h, config/cris/aout.h, config/i386/freebsd-aout.h, config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h, config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h, config/rs6000/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h: Use the new macros. Where possible, remove redundant definitions of SIZE_ASM_OP, TYPE_ASM_OP, and TYPE_OPERAND_FMT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55735 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (obstack_chunk_alloc, obstack_chunk_free):neil2002-07-231-0/+3
| | | | | | | | | | | | | | | Default definition. * gcse.c: Don't define obstack_chunk_free. * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c, flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c, integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c, reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c: Don't define obstack macros. cp: * class.c, method.c, pt.c, search.c: Similarly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55665 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (GET_ENVIRONMENT): Remove.neil2002-07-211-0/+4
| | | | | | | | | | | | | | | | | | * collect2.c (GET_ENV_PATH_LIST): Remove. (prefix_from_env): Use GET_ENVIRONMENT. * cppinit.c (GET_ENV_PATH_LIST): Remove. (init_standard_includes): Use GET_ENVIRONMENT. * defaults.h (GET_ENVIRONMENT): Define here if not already. * gcc.c (GET_ENV_PATH_LIST): Remove. (make_relative_prefix, process_command): Update. * protoize.c (GET_ENV_PATH_LIST): Remove. (do_processing): Update. java: * jcf-path.c (GET_ENV_PATH_LIST): Remove. (jcf_path_init): Use GET_ENVIRONMENT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55630 138bc75d-0d04-0410-961f-82ee72b054a4
* * rtl.def (CODE_LABEL): Remove slot 8.zack2002-07-191-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | * rtl.h (struct rtx_def): Document new uses of jump and call fields. (LABEL_ALTERNATE_NAME): Delete. (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New. * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME. * final.c (output_alternate_entry_point): New. (final_scan_insn): Use it instead of ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility of a case label being an alternate entry point. * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P. * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL. Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME (field deleted). * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs. * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME. * doc/tm.texi: Delete documentation of ASM_OUTPUT_ALTERNATE_LABEL_NAME. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55597 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-06-16 Aldy Hernandez <aldyh@redhat.com>aldyh2002-06-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.c-torture/execute/simd-1.c: New. * gcc.dg/simd-1.c: New. * doc/extend.texi (Vector Extensions): Document that we can specify simd types not specifically supported by the hardware. Document that simd types can be used as function arguments. Document that signness does make a difference in SIMD types. Misc cleanups and revisions to the "vector extensions" section. * simplify-rtx.c (simplify_subreg): Simplify subregs of vector constants. * expr.c (vector_mode_valid_p): New. * expr.h: Add vector_mode_valid_p. * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default. * emit-rtl.c (immed_double_const): Do not abort on vectors. * c-common.c (type_for_mode): Always build vector nodes regardless of VECTOR_MODE_SUPPORTED_P. (handle_mode_attribute): Error if we can't emulate a nonexisting vector mode. (handle_vector_size_attribute): Same. * optabs.c (expand_binop): Open-code vector operations. (expand_unop): Open-code vector unops. (expand_vector_binop): New. (expand_vector_unop): New. * c-typeck.c (build_binary_op): Allow vectors in binops. Allow vectors in conditional operatiors. (build_unary_op): Allow vectors in unary minus. * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on TARGET_ALTIVEC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54727 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.rth2002-06-141-0/+16
| | | | | | | | | | | | | | | | | | | | | | (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New. * doc/tm.texi: Document them. * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New. (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New. (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode. (ASM_OUTPUT_FDESC): Likewise. * class.c (build_vtable): Use TARGET_VTABLE_ENTRY_ALIGN. (build_vtbl_initializer): Honor TARGET_VTABLE_DATA_ENTRY_DISTANCE. (build_vbase_offset_vtbl_entries): Likewise. * rtti.c (build_headof): Likewise. (get_tinfo_decl_dynamic): Likewise. (create_pseudo_type_info): Likewise. * g++.old-deja/g++.abi/vtable2.C (INC_VDATA): New. Define for ia64 ilp32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54603 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (EH_FRAME_SECTION_NAME): Don't define ifrth2002-06-111-1/+2
| | | | | | | DWARF2_UNWIND_INFO is false. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54526 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-06-07 H.J. Lu (hjl@gnu.org)hjl2002-06-071-0/+6
| | | | | | | | | | | | | | | | * configure.in: Add --enable-__cxa_atexit. * configure: Regenerated. * config.in: Likewise. * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if not defined. 2002-06-07 H.J. Lu (hjl@gnu.org) * decl2.c (flag_use_cxa_atexit): Set to DEFAULT_USE_CXA_ATEXIT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54345 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.rth2002-05-301-7/+0
| | | | | | | | | | | | * toplev.c (process_options): Don't check it. * doc/tm.texi: Don't document it. * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New. (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill. * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf frame pointer optimization if current_function_profile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54072 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (UNIQUE_SECTION): Remove.neil2002-05-171-22/+0
| | | | | | | * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53573 138bc75d-0d04-0410-961f-82ee72b054a4
* * invoke.texi (-malign-double): Re-add lost warning.hubicka2002-05-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * i386-protos.h (x86_output_mi_thunk): Declare. * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ... * i386.c (x86_output_mi_thunk): ... here; handle 64bits. * dwarf2out.c (output_call_frame_info): Do not skip unwind info when flag_asynchronous_unwind_tables is set. * flags.h (flag_reorder_functions): Declare. * function.c (prepare_function_start): Initialize frequnecy. * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New paramters. * Makefile.in (predict.o): Add dependency on target.h and params.h * defaults.h (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros. * predict.c (choose_function_section): New function. (estimate_bb_frequencies): Use it. * toplev.c (flag_reorder_functions): New global variable. (lang_independent_options): New. (parse_options_and_default_flags): Set. * varasm.c (assemble_start_function): Bypass functdion alignment for never executed functions. * invoke.texi (-freorder-blocks, -freorder-functions): Document. (param hot-bb-count-fraction, hot-bb-frequency-fraction): New. * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Document. Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz> * predict.c: Inlude profile.h (MIN_COUNT): Rename to MIN_COUNT_FRACTION (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p): Use the information about maximal counter in the program. Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz> * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p): New functions. * cfgcleanup.c (outgoing_edges_match): Use them. * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros. (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p): New functions. * function.h (function): Add new field function_frequency. * predict.c (compute_function_frequency): New function. (estimate_probability): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53478 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (c-common.o, cppinit.o): Update.neil2002-05-131-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c: Include except.h. (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__. Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS. * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here. * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Handle here. config: * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h, alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h, alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define TARGET_OS_CPP_BUILTINS. * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define. (CPP_SPEC, EXTRA_SPECS): Update. (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC, CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC, CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC, CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC, CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove. doc: * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove. (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53410 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (c_common_init): Set options->unsigned_wchar.neil2002-05-071-4/+0
| | | | | | | | | | | | | | | | | | | | | | * cppinit.c (cpp_create_reader): Default unsigned_wchar, group target dependencies. (init_builtins, cpp_handle_option): Update. * cpplex.c (cpp_interpret_charconst): Update. * cpplib.h (struct cpp_options): Add unsigned_wchar, rename signed_char to unsigned_char, group target dependencies. * defaults.h (WCHAR_UNSIGNED): Remove. * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison. config: * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h, i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h, i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h, i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h, sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED. doc: * tm.texi: Remove MAX_CHAR_TYPE_SIZE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53271 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.jason2002-05-031-0/+5
| | | | | | | | | | * c-decl.c (c_init_decl_processing): Use it. * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE. * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define. * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53089 138bc75d-0d04-0410-961f-82ee72b054a4
* * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,ghazi2002-03-121-0/+5
| | | | | | | | | | | | dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h, ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete. * defaults.h (POINTER_SIZE): Define. * doc/tm.texi (POINTER_SIZE): Document default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50634 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.rsandifo2002-03-111-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if LARGEST_EXPONENT_IS_NORMAL for the given mode. (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO. * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO. (ediv, emul, eldexp, esqrt): Likewise. (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise. (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL. (saturate): New function. (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL. (make_nan): Use a saturation value instead of a NaN if LARGEST_EXPONENT_IS_NORMAL. Warn when this happens. * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO. (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL. (_fpmul_parts, _fpdiv_parts): Only round to nearest if !ROUND_TOWARDS_ZERO. * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document. (ROUND_TOWARDS_ZERO): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50569 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.rsandifo2002-03-071-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New. * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New. (HONOR_SIGN_DEPENDENT_ROUNDING): New. * builtins.c (expand_builtin_mathfn): Use HONOR_NANS. * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y unless x and y could be infinite. (expand_unordered_cmp): New, mostly split from expand_tree_builtin. Check that the common type of both arguments is a real, even for targets without unordered comparisons. Allow an integer argument to be compared against a real. (expand_tree_builtin): Use expand_unordered_cmp. * combine.c (combine_simplify_rtx): Use the new HONOR_... macros. * cse.c (fold_rtx): Likewise. Fix indentation. * fold-const.c (fold_real_zero_addition_p): New. (fold): Use it, and the new HONOR_... macros. * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros. * jump.c (reversed_comparison_code_parts): After searching for the true comparison mode, use HONOR_NANS to decide whether it can be safely reversed. (reverse_condition_maybe_unordered): Remove IEEE check. * simplify-rtx.c (simplify_binary_operation): Use the new macros to decide which simplifications are valid. Allow the following simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b), and (a - -b) to (a + b). (simplify_relational_operation): Use HONOR_NANS. * doc/tm.texi: Document the MODE_HAS_... macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50401 138bc75d-0d04-0410-961f-82ee72b054a4
* * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,ghazi2002-03-031-0/+4
| | | | | | | | | | | | | | convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD): Delete. * defaults.h (BITS_PER_WORD): Define. * doc/tm.texi (BITS_PER_WORD): Document default value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50257 138bc75d-0d04-0410-961f-82ee72b054a4
* * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,ghazi2002-03-031-0/+4
| | | | | | | | | | | | | cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete. * defaults.h (BITS_PER_UNIT): Define. * doc/tm.texi (BITS_PER_UNIT): Document default value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50235 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/tm.texi (ASM_WEAKEN_DECL): Document.amodra2002-03-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL. (SUPPORTS_WEAK): Likewise. * output.h (add_weak): Add tree param. * varasm.c (add_weak): Likewise. Save decl. (struct weak_syms): Add decl field. (mark_weak_decls): New function. (init_varasm_once): ggc_add_root mark_weak_decls. (assemble_start_function): Use ASM_WEAKEN_DECL. (assemble_variable): Likewise. (assemble_alias): Likewise. (declare_weak): Pass decl to add_weak. (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl. (remove_from_pending_weak_list): Declare and define for ASM_WEAKEN_DECL. * c-pragma.c (handle_pragma_weak): Adjust add_weak call. * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too. * defaults.h (SUPPORTS_WEAK): Likewise. * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit .weak for code sym. Do emit .size for descriptor sym. (ASM_DECLARE_FUNCTION_SIZE): Define. * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define. (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output .lglobl unless TARGET_XCOFF. Formatting fixes. * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit .weak for code sym. (HANDLE_PRAGMA_WEAK): Remove. (ASM_WEAKEN_LABEL): Remove. * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50181 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement MODE_BASE_REG_CLASSnickc2001-12-171-0/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48104 138bc75d-0d04-0410-961f-82ee72b054a4
* * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,rsandifo2001-12-171-18/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | asm_out.integer): New fields. * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP, TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers. (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect the individual initialisers together. (TARGET_ASM_OUT): Add the new initialisers. * output.h (assemble_integer): Return bool. (integer_asm_op): Declare. (default_assemble_integer): Declare. (assemble_aligned_integer): New interface to assemble_integer. * varasm.c (integer_asm_op): New function to select pseudo-op. (default_assemble_integer): Default implementation of asm_out.integer. (assemble_integer): Use the new target hook. Split objects into words or bytes if the target hook fails. Return bool. * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Undocument. Document new target hooks. * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op. * dwarf2asm.c (unaligned_integer_asm_op): Remove. (dw2_assemble_integer): New. (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx): Use it. (dw2_asm_output_nstring): Use assemble_integer for the null terminator. (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use integer_asm_op to get the byte pseudo-op. Use assemble_integer if it returns NULL. * dwarf2asm.h (dw2_assemble_integer): Declare. * dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the default implementation of most macros. (output_unsigned_leb128): Use dw2_asm_output_data. (output_signed_leb128, dwarfout_source_line): Likewise. (output_reg_number): Use dw2_assemble_integer. (generate_macinfo_entry): Separate the type and offset arguments. Use assemble_integer to write the value. (dwarfout_start_source_file): Update generate_macinfo_entry usage. (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise. * final.c (output_addr_const): Don't put brackets round a subtracted symbol value or ".". * halfpic.c (half_pic_finish): Use assemble_aligned_integer. * config/1750a/1750a.c (assemble_integer_1750a): New, * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT. * config/arc/arc.c (arc_assemble_integer): New. * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. * config/arm/arm.c (arm_poke_function_name): Likewise. (arm_assemble_integer): New, extracted from... * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed. (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT. (ARM_FUNCTION_PROFILER): Likewise. * config/avr/avr-protos.h (asm_output_byte): Remove. (asm_output_char, asm_output_short): Remove. * config/avr/avr.c (avr_assemble_integer): New. (asm_output_byte, asm_output_char, asm_output_short): Remove. * config/clipper/clipper.h (ASM_LONG): Remove. * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove. * config/dsp16xx/dsp16xx.c (asm_output_long): Remove. * config/elxsi/elxsi.c (elxsi_assemble_integer): New. * config/i370/i370.c (i370_hlasm_assemble_integer): New. * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT. (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete. * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use ASM_LONG instead of UNALIGNED_INT_ASM_OP. * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use ASM_LONG instead of UNALIGNED_INT_ASM_OP. * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG. * config/i860/i860.c (i860_output_function_epilogue): Likewise. * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. (ASM_SHORT, ASM_LONG): Undefine. * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise. * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. * config/ia64/ia64.c (ia64_assemble_integer): New. * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op. (ASM_OUTPUT_DWARF_PCREL): Likewise. * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG. (ASM_SHORT, ASM_LONG): Remove. * config/m68k/m68k.h (INT_OP_GROUP): New macro. (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New macros, the allowed values for INT_OP_GROUP. * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove. (INT_OP_GROUP): Define to INT_OP_NO_DOT. * config/m68k/dpx2.h (ASM_LONG): Undefine. (INT_OP_GROUP): Define to INT_OP_DC. * config/m68k/dpx2g.h (ASM_LONG): Undefine. * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT. * config/m68k/lynx.h (ASM_LONG): Undefine. * config/m68k/dpx2g.h (ASM_LONG): Undefine. * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise. (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*. * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD for GAS and INT_OP_NO_DOT otherwise. (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove. (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG. (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove. (INT_OP_GROUP): Define to INT_OP_STANDARD. (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP. (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP. * config/m68k/tower-as.h (ASM_LONG): Remove. (INT_OP_GROUP): Define to INT_OP_NO_DOT. * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG. * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG. * config/mips/iris5.h (TARGET_IRIX5): Define. * config/mips/mips.c (mips_assemble_integer): New. * config/mips/sni-svr4.h (ASM_LONG): Undefine. * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove. * config/mmix/mmix.c (mmix_assemble_integer): New. (mmix_asm_output_double_int): Remove. (mmix_print_operand): Call mmix_output_octa directly. * config/mmix/mmix.h (ASM_LONG): Remove. * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. * config/pa/pa.c (pa_assemble_integer): New. (pa_override_options): Only use aligned DI ops on 64-bit targets. Only use the unaligned ops if TARGET_GAS. * config/pdp11/pdp11.c (pdp11_assemble_integer): New. * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT. * config/pj/pj.h (ASM_LONG): Undefine. * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine. * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section() and in_toc_section() rather than the in_section variable. (rs6000_override_options): Only use DI ops when TARGET_POWERPC64. * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section(). (RELOCATABLE_NEEDS_FIXUP): Define. * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab. * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove. (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op to get the word directive. (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. * config/s390/s390.c (s390_assemble_integer): New. * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use integer_asm_op to get the word directive. * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove. * config/sparc/sparc-protos.h (output_double_int): Remove. * config/sparc/sparc.c (output_double_int): Move to... (sparc_assemble_integer): ...this new function. (sparc_override_options): Only use .uaxword if TARGET_ARCH64. * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove. * config/sparc/sysv4.h (ASM_LONG): Remove. (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG. * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer. * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise. * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c, config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c, config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c, config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c, config/i386/i386.c, config/i860/i860.c, config/i960/i960.c, config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c, config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c, config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c, config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c, config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP, TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP, TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP, TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as appropriate. * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h, config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h, config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h, config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h, config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h, config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h, config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h, config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h, config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h, config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h, config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h, config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h, config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h, config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h, config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP, ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48101 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-12-11 Steve Ellcey <sje@cup.hp.com>janis2001-12-111-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. * calls.c (store_unaligned_arguments_into_pseudos): Check FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures are passed/returned. * expr.c (move_block_from_reg): Ditto. (move_block_from_reg): Ditto. (copy_blkmode_from_reg): Ditto. * stmt.c (expand_return): Ditto. * stor-layout.c (compute_record_mode): If FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode. * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true so that Structures of one field are still treated as structures. (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true. (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding(). (PAD_VARARGS_DOWN): Modify from default to not pad structures down. * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New. * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function to special case handling of structure padding. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47904 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.kenner2001-12-021-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG. (ASM_SPEC): Don't redefine. (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define. * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm. * config/alpha/vms-dwarf2.asm: New file. * Makefile.in (OBJS): Add vmsdbgout.c and its rule. * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG. * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks. (vmsdbgout_after_prologue): New declaration. * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE. * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address. * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG. (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG. (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address. (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG. Test VMS_DEBUGGING_INFO. (final_end_function): Test for VMS_AND_DWARF2_DEBUG. (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG. * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG. * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and VMS_AND_DWARF2_DEBUG. (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG. (decode_g_option): Add "vms" to debug_type_names. (process_options): Set vmsdbg_debug_hooks if -gvms. (lang_independent_init): Emit line number for VMS unless -g0. * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG. * vmsdbg.h, vmsdbgout.c: New files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47532 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,ghazi2001-11-281-2/+2
| | | | | | | | UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have OBJECT_FORMAT_ROSE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47396 138bc75d-0d04-0410-961f-82ee72b054a4
* * 1750a.h (DBX_REGISTER_NUMBER): Don't define.ghazi2001-11-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alpha.h (DBX_REGISTER_NUMBER): Likewise. * arc.h (DBX_REGISTER_NUMBER): Likewise. * arm/aout.h (DBX_REGISTER_NUMBER): Likewise. * avr.h (DBX_REGISTER_NUMBER): Likewise. * c4x.h (DBX_REGISTER_NUMBER): Likewise. * clipper.h (DBX_REGISTER_NUMBER): Likewise. * convex.h (DBX_REGISTER_NUMBER): Likewise. * cris.h (DBX_REGISTER_NUMBER): Likewise. * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise. * elxsi.h (DBX_REGISTER_NUMBER): Likewise. * fr30.h (DBX_REGISTER_NUMBER): Likewise. * h8300.h (DBX_REGISTER_NUMBER): Likewise. * i370.h (DBX_REGISTER_NUMBER): Likewise. * i860.h (DBX_REGISTER_NUMBER): Likewise. * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise. * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise. * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise. * m32r.h (DBX_REGISTER_NUMBER): Likewise. * m68hc11.h (DBX_REGISTER_NUMBER): Likewise. * m88k.h (DBX_REGISTER_NUMBER): Likewise. * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise. * mcore.h (DBX_REGISTER_NUMBER): Likewise. * mn10200.h (DBX_REGISTER_NUMBER): Likewise. * mn10300.h (DBX_REGISTER_NUMBER): Likewise. * pdp11.h (DBX_REGISTER_NUMBER): Likewise. * romp.h (DBX_REGISTER_NUMBER): Likewise. * rs6000.h (DBX_REGISTER_NUMBER): Likewise. * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise. * s390/linux.h (DBX_REGISTER_NUMBER): Likewise. * stormy16.h (DBX_REGISTER_NUMBER): Likewise. * v850.h (DBX_REGISTER_NUMBER): Likewise. * vax.h (DBX_REGISTER_NUMBER): Likewise. * we32k.h (DBX_REGISTER_NUMBER): Likewise. * defaults.h (DBX_REGISTER_NUMBER): Provide a default. * doc/tm.texi (DBX_REGISTER_NUMBER): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47256 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.geoffk2001-11-201-0/+37
| | | | | | | | | | | | | | | | (HAVE_AS_GSTABS_DEBUG_FLAG): Define. * configure: Regenerate. * config.in: Add dummy definitions of new flags. * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to... * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here. * gcc.c (ASM_DEBUG_SPEC): New macro. (asm_debug): New static variable. (default_compilers): Add asm_debug when assembling from user input. (static_specs): Add asm_debug. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47210 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-10-10 Stan Shebs <shebs@apple.com>shebs2001-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alias.c: Remove uses of "register" specifier in declarations of arguments and local variables. * c-common.c: Ditto. * c-convert.c: Ditto. * c-decl.c: Ditto. * c-format.c: Ditto. * c-semantics.c: Ditto. * c-typeck.c: Ditto. * caller-save.c: Ditto. * calls.c: Ditto. * cfg.c: Ditto. * cfgbuild.c: Ditto. * cfgrtl.c: Ditto. * collect2.c: Ditto. * combine.c: Ditto. * convert.c: Ditto. * cppexp.c: Ditto. * cppfiles.c: Ditto. * cse.c: Ditto. * dbxout.c: Ditto. * defaults.h: Ditto. * df.c: Ditto. * dwarf2out.c: Ditto. * dwarfout.c: Ditto. * emit-rtl.c: Ditto. * explow.c: Ditto. * expmed.c: Ditto. * expr.c: Ditto. * final.c: Ditto. * fix-header.c: Ditto. * floatlib.c: Ditto. * flow.c: Ditto. * fold-const.c: Ditto. * function.c: Ditto. * gcc.c: Ditto. * gcse.c: Ditto. * gen-protos.c: Ditto. * genattrtab.c: Ditto. * gencheck.c: Ditto. * genconfig.c: Ditto. * genemit.c: Ditto. * genextract.c: Ditto. * genflags.c: Ditto. * gengenrtl.c: Ditto. * genoutput.c: Ditto. * genpeep.c: Ditto. * genrecog.c: Ditto. * gensupport.c: Ditto. * global.c: Ditto. * gmon.c: Ditto. * graph.c: Ditto. * haifa-sched.c: Ditto. * hard-reg-set.h: Ditto. * hash.c: Ditto. * integrate.c: Ditto. * jump.c: Ditto. * lists.c: Ditto. * local-alloc.c: Ditto. * loop.c: Ditto. * mips-tdump.c: Ditto. * mips-tfile.c: Ditto. * optabs.c: Ditto. * prefix.c: Ditto. * print-rtl.c: Ditto. * read-rtl.c: Ditto. * real.c: Ditto. * recog.c: Ditto. * reg-stack.c: Ditto. * regclass.c: Ditto. * regmove.c: Ditto. * reload.c: Ditto. * reload1.c: Ditto. * reorg.c: Ditto. * resource.c: Ditto. * rtl.c: Ditto. * rtlanal.c: Ditto. * scan.c: Ditto. * sched-deps.c: Ditto. * sched-rgn.c: Ditto. * sdbout.c: Ditto. * simplify-rtx.c: Ditto. * stmt.c: Ditto. * stor-layout.c: Ditto. * toplev.c: Ditto. * tradcif.y: Ditto. * tradcpp.c: Ditto. * tree.c: Ditto. * unroll.c: Ditto. * varasm.c: Ditto. * xcoffout.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46173 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rth2001-09-211-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.def (FDESC_EXPR): New. * expr.c (expand_expr): Handle it. * varasm.c (initializer_constant_valid_p): Likewise. (output_constant): Likewise. * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New. * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New. (ASM_OUTPUT_FDESC): New. * doc/tm.texi: Document the new macros. gcc/cp/ * class.c (set_vindex): Mind TARGET_VTABLE_USES_DESCRIPTORS. (build_vtbl_initializer): Likewise. (build_vfn_ref): New. * cp-tree.h: Declare it. * call.c (build_over_call): Use it. * decl2.c (mark_vtable_entries): Mark FDESC_EXPR. * typeck.c (get_member_function_from_ptrfunc): Mind descriptors. gcc/java/ * class.c (get_dispatch_table): Handle function descriptors. (build_dtable_decl): Likewise. * expr.c (build_invokevirtual): Likewise. gcc/testsuite/ * g++.old-deja/g++.abi/ptrmem.C: Update for ia64 c++ abi. * g++.old-deja/g++.abi/vtable2.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45733 138bc75d-0d04-0410-961f-82ee72b054a4