aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2003-10-14_cmd.m: Fix typo.Ziemowit Laski9-13/+45
2003-10-13 Ziemowit Laski <zlaski@apple.com> * objc/execute/_cmd.m: Fix typo. * objc.dg/image-info.m, objc.dg/symtab-1.m: Relax 'scan-assembler' regexp. * objc.dg/try-catch-1.m, objc.dg/try-catch-3.m, objc.dg/try-catch-4.m: Run on non-Darwin targets. * objc.dg/zero-link-2.m: Remove blank line. * objc.dg/zero-link-3.m: New test case. From-SVN: r72455
2003-10-14Daily bump.GCC Administrator1-1/+1
From-SVN: r72453
2003-10-13ifcvt.c (num_removed_blocks): Rename to num_true_changes.David S. Miller2-13/+20
* ifcvt.c (num_removed_blocks): Rename to num_true_changes. (find_cond_trap): Always increment if we emit a conditional trap insn. From-SVN: r72450
2003-10-13* g77.f-torture/execute/980520-1.x: XFAIL at -O0.Geoffrey Keating2-0/+13
From-SVN: r72448
2003-10-13asm-names.c: Use scan-assembler-not rather than linker trickery.Geoffrey Keating2-15/+7
* gcc.dg/asm-names.c: Use scan-assembler-not rather than linker trickery. From-SVN: r72447
2003-10-13re PR c++/12370 (wrong code when adding friend)Volker Reichelt3-0/+33
PR c++/12370 * g++.dg/other/friend2.C: New test. * ChangeLog: Add PR number to patch for PR c++/12370. From-SVN: r72446
2003-10-13Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o with ↵Zack Weinberg52-409/+652
min-insn-modes.o. * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o with min-insn-modes.o. (STAGESTUFF): Add min-insn-modes.c. (genobjs): Add genmodes.o. (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H). (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h. (min-insn-modes.c, min-insn-modes.o): New rules. (s-modes): Also generate min-insn-modes.c. ($(BUILD_PREFIX_1)insn-modes.o): Kill. * genmodes.c (struct mode_data): Add format field. (blank_mode, validate_mode, complete_mode): Update to match. (make_scalar_mode): Separate into make_int_mode and make_float_mode. (_SCALAR_MODE): Kill. (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument. (emit_insn_modes_c_header): Adjust. (emit_min_insn_modes_c_header, emit_real_format_for_mode) (emit_min_insn_modes_c): New functions. (emit_insn_modes_c): Call emit_real_format_for_mode. (main): Add -m option to generate min-insn-modes.c. * machmode.h: Update documentation. Add format argument to all uses of FLOAT_MODE. * real.c: Don't define real_format_for_mode here. * dwarfout.c: Move default definition of PRINT_REG... * defaults.h: ...here. * print-rtl.c: Include tm_p.h. (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names): Kill. (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround this entire block with #ifndef GENERATOR_FILE. * regclass.c: Unconditionally define reg_names. * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h Don't define DEBUG_REGISTER_NAMES. * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in redefinition of REGISTER_NAMES. * config/i386/i386.h: Don't define DEBUG_PRINT_REG. * combine.c: Change all preprocessor conditionals on EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit for clarity. * genopinit.c: Remove mention of EXTRA_CC_MODES in comment. * configure.in: Don't define EXTRA_CC_MODES. * configure, config.in: Regenerate. * doc/tm.texi: Remove documentation of EXTRA_CC_MODES. * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c: May assume that GET_MODE_CLASS is accurate for extra CC modes at all times. * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct number of arguments to aggregate_value_p. * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New. * machmode.def: Explain ARCH-modes.def. Document RESET_FLOAT_FORMAT. Improve commentary on various mode clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF, XF, or TF modes here. Remove backward-compatibility definition of CC. * config/alpha/alpha-modes.def: New file; define TF mode. * config/arc/arm-modes.def: Define XF mode. * config/c4x/c4x-modes.def: Define QF and HF modes. Unset float format for SF and DF modes. * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode. * config/i386/i386-modes.def: Define XF and TF modes. * config/i960/i960-modes.def: Define TF mode. * config/ia64/ia64-modes.def: Define TF and OI modes. * config/m68k/m68k-modes.def: New file; define XF mode. * config/mips/mips-modes.def: New file; define TF mode, reset formats for SF and DF modes. * config/pa/pa-modes.def: Define TF mode. * config/rs6000/rs6000.c: Define TF and PSI modes. * config/s390/s390-modes.def: Define OI mode. * config/sh/sh-modes.def: New file; define PSI mode. * config/sparc/sparc-modes.def: Define TF mode. * config/vax/vax-modes.def: New file; reset formats for SF and DF modes. * config/c4x/c4x.c (c4x_override_options): No need to mess with real_format_for_mode or set REAL_MODE_FORMATs. (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx variable. * config/i386/i386.c (override_options): No need to set REAL_MODE_FORMATs here. * config/i960/i960.c (i960_initialize): Likewise. * config/m68k/m68k.c (m68k_override_options): Likewise. * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT for TFmode only if not the default. * config/mips/mips.c (override_options): Likewise. * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for DFmode only if not the default. * config/i370/i370.h (RET_REG): Don't consider TFmode. * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode. * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use of modes that don't appear anywhere in the machine description. * config/arc/arc-modes.def, config/arm/arm-modes.def * config/c4x/c4x-modes.def, config/frv/frv-modes.def * config/i386/i386-modes.def, config/i960/i960-modes.def * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def * config/sparc/sparc-modes.def: Convert to new style for declaring extra CC modes. From-SVN: r72440
2003-10-13cpplex.c (_cpp_clean_line): In the common case of a line with no trigraphs ↵Zack Weinberg2-18/+83
and no \-newline... * cpplex.c (_cpp_clean_line): In the common case of a line with no trigraphs and no \-newline, avoid writing to memory. (_cpp_skip_block_comment): Use a local 'cur' pointer instead of the buffer member. Make c an uchar to avoid unnecessary sign extensions. From-SVN: r72437
2003-10-13configure.in: Remove unnecessary test.Nathanael Nerode3-80/+73
* configure.in: Remove unnecessary test. * configure: Regenerate. From-SVN: r72436
2003-10-13configure.in: Fix grammatical error.Nathanael Nerode4-138/+136
* configure.in: Fix grammatical error. Move UWIN host error to... * config.host: Here. * configure: Regenerate. From-SVN: r72435
2003-10-13s390.md ("*fmadddf4", [...]): Insns are now dependent on TARGET_FUSED_MADD ↵Andreas Krebbel4-22/+45
instead of... 2003-10-13 Andreas Krebbel <krebbel1@de.ibm.com> * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4", "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead of flag_unsafe_math_optimizations. * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD", "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags fused-madd and no-fused-madd. * doc/invoke.texi: Documented the new options fused-madd and no-fused-madd for S/390. From-SVN: r72433
2003-10-14linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose MASK_ALIGN_NATURAL if ↵Alan Modra3-17/+29
rs6000_alignment_string not given. * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose MASK_ALIGN_NATURAL if rs6000_alignment_string not given. Don't assign DEFAULT_ABI. (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment. * config/rs6000/rs6000.c: Formatting. (rs6000_parse_alignment_option): Only set rs6000_alignment_flags when rs6000_alignment_string given. From-SVN: r72431
2003-10-13Fix thinko.Gabriel Dos Reis1-2/+2
From-SVN: r72427
2003-10-13Break out decl.c (2/n)Gabriel Dos Reis6-2330/+2393
Break out decl.c (2/n) * name-lookup.c: Include diagnostic.h (cxx_binding_free): Make static. (cxx_binding_make): Likewise. (binding_table_new): Likewise (binding_table_free): Likewise. (binding_table_insert): Likewise. (binding_table_find_anon_type): Likewise. (binding_table_reverse_maybe_remap): Likewise. (supplement_binding): Likewise. * name-lookup.h (global_scope_name): Declare extern. (global_type_node): Likewise. (cxx_binding_free): Don't export. (cxx_binding_make): Likewise. (binding_table_new): Likewise. (binding_table_free): Likewise. (binding_table_insert): Likewise. (binding_table_find_anon_type): Likewise. (binding_table_reverse_maybe_remap): Likewise. * Make-lang.in (cp/name-lookup.o): Depend on $(DIAGNOSTIC_H) * decl.c (lookup_namespace_name): Move to name-lookup.c (select_decl): Likewise. (unqualified_namespace_lookup): Likewise. (lookup_qualified_name): Likewise. (lookup_name_real): Likewise. (lookup_name_nonclass): Likewise. (lookup_function_nonclass): Likewise. (lookup_name): Likewise. (lookup_name_current_level): Likewise. (lookup_type_current_level): Likewise. (lookup_flags): Likewise. (qualify_lookup): Likewise. (lookup_tag): Likewise. (lookup_tag_reverse): Likewise. (getdecls): Likewise. (storedecls): Remove. (cxx_remember_type_decls): Likewise. (global_bindings_p): Likewise. (innermost_nonclass_level): Likewise. (toplevel_bindings_p): Likewise. (namespace_bindings_p): Likewise. (kept_level_p): Likewise. (innermost_scope_kind): Likewise. (template_parm_scope_p): Likewise. (push_binding): Likewise. (push_local_binding): Likewise. (add_decl_to_level): Likewise. Make extern. (push_class_binding): Move to name-lookup.c. (resume_level): Likewise. Rename to resume_scope. (begin_scope): Likewise. (indent): Likewise. (binding_depth): Likewise. (is_class_level): Likewise. (cxx_scope_descriptor): Likewise. (cxx_scope_debug): Likewise. (namespace_scope_ht_size): Likewise. (leave_scope): Likewise. (pushlevel_class): Likewise. (poplevel_class): Likewise. (clear_identifier_class_values): Likewise. (pushdecl_with_scope): Likewise. (pushdecl_namespace_level): Likewise. (pushdecl_class_level): Likewise. (push_class_level_binding): Likewise. (push_using_directive): Likewise. (identifier_global_value): Likewise. (keep_next_level_flag): Likewise. (keep_next_level): Likewise. (free_binding_level): Likewise. (set_class_shadows): Likewise. (maybe_push_cleanup_level): Likewise. (cp_namespace_decls): Likewise. (bt_print_entry): Likewise. (print_binding_level): Likewise. (print_other_binding_stack): Likewise. (print_binding_stack): Likewise. (push_namespace): Likewise. (pop_namespace): Likewise. (push_nested_namespace): Likewise. (pop_nested_namespace): Likewise. (cxx_saved_binding_make): Likewise. (struct cxx_saved_binding_make): Likewise. (store_bindings): Likewise. (maybe_push_to_top_level): Likewise. (push_to_top_level): Likewise. (pop_from_top_level): Likewise. (identifier_type_value): Likewise. (set_identifier_type_value): Likewise. (set_identifier_type_value_with_scope): Likewise. (pop_everything): Likewise. (pushtag): Likewise. (follow_tag_typedef): Likewise. (maybe_process_template_type_declaration): Likewise. (pop_binding): Likewise. * cp-tree.h: Move corresponding declarations to name-lookup.h From-SVN: r72426
2003-10-13re PR target/12538 (%l7 is call-clobbered with -mflat -fpic)Eric Botcazou2-8/+38
PR target/12538 * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete. (sparc_flat_must_save_register_p): New function to decide whether a register must be saved/restored in the function prologue/epilogue. (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER. From-SVN: r72425
2003-10-13sh.c, [...]: Convert to ISO C90 function declarations and definitions.Steven Bosscher3-608/+354
* config/sh/sh.c, config/sh/sh-protos.h: Convert to ISO C90 function declarations and definitions. From-SVN: r72424
2003-10-13avr.c, [...]: Convert to ISO C90 function declarations and definitions.Steven Bosscher3-448/+242
* config/avr/avr.c, config/avr/avr-protos.h: Convert to ISO C90 function declarations and definitions. From-SVN: r72423
2003-10-13config.gcc (*-*-freebsd*): Use tm_defines instead of tiny config files which ↵Nathanael Nerode2-12/+19
do the same thing. * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny config files which do the same thing. * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h, config/freebsd6.h: Remove now unnecessary files. OK, I don't know what happened, but get this to commit properly. From-SVN: r72417
2003-10-13Daily bump.GCC Administrator1-1/+1
From-SVN: r72413
2003-10-12* gcc.dg/20031012-1.c: New test.Steven Bosscher2-0/+21
From-SVN: r72410
2003-10-12c-common.c (c_common_truthvalue_conversion): Warn if the address of a ↵Steven Bosscher6-25/+41
non-weak function is used as a truth value. gcc/ * c-common.c (c_common_truthvalue_conversion): Warn if the address of a non-weak function is used as a truth value. cp/ * cvt.c (ocp_convert): Move warning to C common code. testsuite/ * gcc.dg/weak/weak-3.c: Fix for new warning. From-SVN: r72409
2003-10-12h8300.c (WORD_REG_USED): Use SP_REG instead of a literal.Kazu Hirata3-3/+11
* config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of a literal. * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG instead of a literal. From-SVN: r72407
2003-10-12config.gcc (*-*-freebsd*): Use tm_defines instead of tiny config files which ↵Nathanael Nerode5-88/+7
do the same thing. * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny config files which do the same thing. * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h, config/freebsd6.h: Remove now unnecessary files. From-SVN: r72406
2003-10-12re PR rtl-optimization/8750 (Cygwin prolog generation erroneously emitting ↵R. Kelley Cook2-3/+40
__alloca as regular function call) PR optimization/8750 * gcc.c-torture/execute/20031012-1.c: New Test Case. From-SVN: r72402
2003-10-12extend.texi (Function Attributes): Mention the exceptional path for ↵Hans-Peter Nilsson2-0/+9
noreturn-marked functions. * doc/extend.texi (Function Attributes): Mention the exceptional path for noreturn-marked functions. From-SVN: r72401
2003-10-12cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable warning.Jan Hubicka2-1/+6
* cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable warning. From-SVN: r72391
2003-10-12* config/i386/i386.c (x86_this_parameter): Fix typo.Danny Smith2-1/+5
From-SVN: r72390
2003-10-12Make-lang.in (treelang.install-info): Remove reference to treelang.info.Andreas Jaeger2-4/+7
* Make-lang.in (treelang.install-info): Remove reference to treelang.info. (treelang.): Removed. From-SVN: r72388
2003-10-12Daily bump.GCC Administrator1-1/+1
From-SVN: r72386
2003-10-11Makefile.in (web.o): New.Jan Hubicka13-11/+419
* Makefile.in (web.o): New. * web.c: New file. * rtl.h (web_main): Declare. * timervar.def (TV_WEB): New. * toplev.c (dump_file_index, dump_file_info): Add DFI_web. (rest_of_hanle_web): New. (flag_web): New static variable. (lang_independent_options): Add "web". (rest_of_compilation): Call rest_of_handle_web. * invoke.texi (-fweb): Document. * common.opt (fweb): New. * flags.h (flag_web): New. * opts.c (decode_options): Set flag_web at -O3. * passes.texi (web construction): Document. * invoke.texi (-O3): Document that -fweb is enabled. * regrename.c (regrename_optimize): Deal better with situation when replacement failed. * sched-ebb.c: Include params.h and profile.h (schedule_ebbs): Use tracer parameters to discover superblocks * Makefile.in (sched-ebb.o): Add dependencies. From-SVN: r72383
2003-10-11fold-const.c (negate_mathfn_p): New function to determine whether a built-in ↵Roger Sayle2-81/+177
mathematical function is sign... * fold-const.c (negate_mathfn_p): New function to determine whether a built-in mathematical function is sign preserving, f(-x) == -f(x). Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL. (tree_swap_operands_p): Change API to take an additional argument indicating that the swapped operands evaluate in reverse order. Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither operand side-effects or we don't care about flag_evaluation_order. (reorder_operands_p): New function to check whether its safe to evaluate the given operands in reverse order. (negate_expr_p): We can always negate integer constants unless we honor -ftrapv and the signed type would overflow. Only allow -(A-B) into B-A if reorder_operands_p says that its OK. Allow negation of COMPLEX_CST if both real and imaginary parts can be negated. Allow negation through floating point extensions and sign-preserving built-in functions. (negate_expr): Move the code to negate integers from "fold" to here. Always negate integer constants unless we honor -ftrapv and the signed type would overflow. Always negate real constants unless we honor -ftrapping-math. Only convert -(A-B) into B-A if allowed by reorder_operands_p. Add support for COMPLEX_CST. Optimize negation through floating point extensions and sign-preserving built-in functions (as defined by negate_mathfn_p). (fold): Adjust calls to tree_swap_operands_p. (fold <NEGATE_EXPR>): Move the remaining negation optimizations to negate_expr_p/negate_expr. (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're allowed to convert (-A) - B into (-B) - A. From-SVN: r72381
2003-10-11builtins.c (expand_builtin_strcmp): Defend against the possibility that ↵Roger Sayle5-27/+70
gen_cmpstrsi may fail... * builtins.c (expand_builtin_strcmp): Defend against the possibility that gen_cmpstrsi may fail: Stabilize the argument list against re-evaluation and expand the library call directly using this saved argument list if a cmpstrsi sequence can't be generated. (expand_builtin_strncmp): Likewise. * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os. * gcc.c-torture/execute/string-opt-8.c: Don't test optimizations that inline strncmp as cmpstrsi on i386 when compiled with -Os. From-SVN: r72380
2003-10-11re PR rtl-optimization/12260 (ICE in output_operand: invalid expression as ↵Roger Sayle4-1/+62
operand) PR optimization/12260 * simplify-rtx.c (simplify_unary_operation): Simplify all unary operations through CONST nodes. Optimize (neg (plus X C)) as (minus -C X) for constant values C. (simplify_binary_operation): Optimize (minus (neg X) C) as (minus -C X) for constant values C. (simplify_plus_minus): Avoid creating (neg (const (plus X C)), instead create (minus -C X). * gcc.c-torture/compile/20031011-2.c: New test case. From-SVN: r72379
2003-10-11expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call safe_from_p for ↵Roger Sayle4-9/+53
us, once it chooses an evaluation order. * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call safe_from_p for us, once it chooses an evaluation order. (expand_expr <MULT_EXPR>): Likewise. (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise. If expand_operands places the second operand in "target", swap the operands. (do_store_flag): Let expand_operands call safe_from_p for us. * gcc.c-torture/execute/20031011-1.c: New testcase. From-SVN: r72376
2003-10-11re PR rtl-optimization/12544 (ICE with large parameters used in nested ↵Eric Botcazou4-5/+38
functions) PR optimization/12544 * function.c (put_var_into_stack): Don't generate ADDRESSOFs for DECL_NONLOCAL decls. From-SVN: r72374
2003-10-11expr.c: Follow spelling conventions.Kazu Hirata6-5/+13
* expr.c: Follow spelling conventions. * final.c: Likewise. * optabs.c: Likewise. * sched-deps.c: Likewise. * sdbout.c: Likewise. From-SVN: r72361
2003-10-11* g++.dg/other/first-global.C: New test.Jan Hubicka2-0/+8
From-SVN: r72344
2003-10-11varasm.c (notice_global_symbol): Fix handling of variables; avoid ↵Jan Hubicka2-11/+24
re-computing of variable. * varasm.c (notice_global_symbol): Fix handling of variables; avoid re-computing of variable. From-SVN: r72343
2003-10-11alpha.c (alpha_return_in_memory): Rename from return_in_memory, make static, ↵Richard Henderson6-108/+90
change signature to match target hook. * config/alpha/alpha.c (alpha_return_in_memory): Rename from return_in_memory, make static, change signature to match target hook. (alpha_setup_incoming_varargs): Make static, change signature to match target hook, add code for vms and unicos. (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS, TARGET_STRICT_ARGUMENT_NAMING, TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY, SETUP_INCOMING_VARARGS): Remove. * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove. * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove. From-SVN: r72338
2003-10-11* config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.Ian Lance Taylor2-0/+7
From-SVN: r72337
2003-10-11lb1sf68.asm: Follow spelling conventions.Kazu Hirata5-23/+30
* config/m68k/lb1sf68.asm: Follow spelling conventions. * config/m68k/m68k.c: Likewise. * config/m68k/m68k.h: Likewise. * config/m68k/m68k.md: Likewise. From-SVN: r72336
2003-10-11builtins.c (expand_builtin_memcpy): Optimize case when the two pointer ↵Roger Sayle4-5/+160
arguments are the equal... * builtins.c (expand_builtin_memcpy): Optimize case when the two pointer arguments are the equal, non-volatile and side-effect free. (expand_builtin_mempcpy): Likewise. (expand_builtin_memmove): Likewise. (expand_builtin_strcpy): Likewise. (expand_builtin_memcmp): Likewise. (expand_builtin_strcmp): Likewise. (expand_builtin_strncmp): Likewise. * gcc.c-torture/execute/string-opt-18.c: New testcase. From-SVN: r72335
2003-10-11combine.c (apply_distributive_law): Enable "distributive" floating point ↵Roger Sayle2-6/+12
optimizations with -funsafe-math-optimizations. * combine.c (apply_distributive_law): Enable "distributive" floating point optimizations with -funsafe-math-optimizations. From-SVN: r72334
2003-10-11+2003-10-11 Andrew Pinski <pinskia@physics.uc.edu>Andrew Pinski2-4/+8
+ + * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK. From-SVN: r72333
2003-10-11m68k-protos.h: Remove the prototype for finalize_pic.Kazu Hirata2-3/+5
* config/m68k/m68k-protos.h: Remove the prototype for finalize_pic. From-SVN: r72332
2003-10-11* config/m68k/m68k.c: Fix comment typos.Kazu Hirata2-3/+7
From-SVN: r72331
2003-10-11m68k-protos.h (use_return_insn): Change return type from int to bool.Bernardo Innocenti3-182/+166
* config/m68k/m68k-protos.h (use_return_insn): Change return type from int to bool. * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member. (current_frame): New global var. (m68k_compute_frame_layout): Cache computations in current_frame. (m68k_initial_elimination_offset): Use values from current_frame instead of recomputing them. (use_return_insn): Likewise. (m68k_output_function_prologue): Likewise. (m68k_output_function_epilogue): Likewise. * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling inside the block for __pic__. From-SVN: r72330
2003-10-11m68k.c (m68k_frame): Move before protos referencing it.Peter Barada2-48/+122
* config/m68k/m68k.c (m68k_frame): Move before protos referencing it. (m68k_save_reg): Add boolean parameter `interrupt_handler'. (m68k_interrupt_function_p): New function. (m68k_handle_fndecl_attribute): Ditto. (m68k_compute_frame_layout): Ditto. (m68k_attribute_table): Define back-end specific attributes. (m68k_output_function_epilogue): Emit RTE instruction for interrupt functions. Co-Authored-By: Bernardo Innocenti <bernie@develer.com> From-SVN: r72329
2003-10-11t-uclinux: New target Makefile fragment.Bernardo Innocenti4-0/+99
* config/m68k/t-uclinux: New target Makefile fragment. * config/m68k/uclinux.h: New target macro file. * config.gcc (m68k-*-uclinux): New target definition. From-SVN: r72328
2003-10-11builtins.c (builtin_mathfn_code): Generalize to check whether the call is to ↵Roger Sayle2-24/+52
any built-in function by comparing... * builtins.c (builtin_mathfn_code): Generalize to check whether the call is to any built-in function by comparing the call's argument list against the builtin decl's function type. From-SVN: r72327