aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2006-01-31arm.md (smaxsi3): Make aware of smax_m1.Nicolas Pitre2-1/+15
* arm.md (smaxsi3): Make aware of smax_m1. (smax_m1): New. From-SVN: r110443
2006-01-31* gcc/config/m68k/lb1sf68.asm: Use moveq to load small constants.Nathan Sidwell2-44/+48
From-SVN: r110440
2006-01-31invoke.texi (-msselibm): Document.Richard Guenther17-2/+384
2006-01-31 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-msselibm): Document. * target.h (expand_library_builtin): New target hook. * builtins.c (expand_builtin): Use expand_library_builtin. (default_expand_library_builtin): New function. * gcc.c (LINK_GCC_MATH_SPEC): Define. (LINK_COMMAND_SPEC): Handle %(link_gcc_math). (link_gcc_math_spec): Declare. (static_specs): Add link_gcc_math_spec. * expr.h (default_expand_library_builtin): Declare. * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN. * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC. * config/i386/i386.opt (msselibm): New target option. * config/i386/i386.c (ix86_builtin_function_variants): New array. (ix86_init_sse_abi_builtins): New function. (ix86_expand_library_builtin): Likewise. (TARGET_EXPAND_LIBRARY_BUILTIN): Define. (override_options): Handle error conditions wrt -msselibm. (ix86_builtins): Add function codes for SSE2 ABI builtins. (ix86_init_builtins): Call ix86_init_sse_abi_builtins. * doc/extend.texi (__builtin_sse2_*): Document new target specific builtins. * gcc.target/i386/sselibm-1.c: New testcase. * gcc.target/i386/sselibm-2.c: Likewise. * gcc.target/i386/sselibm-3.c: Likewise. * gcc.target/i386/sselibm-4.c: Likewise. * gcc.target/i386/sselibm-5.c: Likewise. From-SVN: r110439
2006-01-31Makefile.def (target_modules): Add libgcc-math target module.Richard Guenther2-0/+9
2006-01-31 Richard Guenther <rguenther@suse.de> Paolo Bonzini <bonzini@gnu.org> * Makefile.def (target_modules): Add libgcc-math target module. * configure.in (target_libraries): Add libgcc-math target library. (--enable-libgcc-math): New configure switch. * Makefile.in: Re-generate. * configure: Re-generate. * libgcc-math: New toplevel directory. * doc/install.texi (--disable-libgcc-math): Document. libgcc-math/ * configure.ac: New file. * Makefile.am: Likewise. * configure: New generated file. * Makefile.in: Likewise. * aclocal.m4: Likewise. * libtool-version: New file. * include/ieee754.h: New file. * include/libc-symbols.h: Likewise. * include/math_private.h: Likewise. * i386/Makefile.am: New file. * i386/Makefile.in: New generated file. * i386/sse2.h: New file. * i386/endian.h: Likewise. * i386/sse2.map: Linker script for SSE2 ABI math intrinsics. * flt-32/: Import from glibc. * dbl-64/: Likewise. Co-Authored-By: Paolo Bonzini <bonzini@gnu.org> From-SVN: r110434
2006-01-31expr.h (expand_normal): new inline function.Marcin Dalecki15-225/+218
2006-01-30 Marcin Dalecki <martin@dalecki.de> * expr.h (expand_normal): new inline function. * builtins.c: use it, use EXPAND_NORMAL explicitely. * dojump.c: use it. * dwarf2out.c: use it. * expr.c: use it. * calls.c: use it. * expmed.c: use it. * except.c: use it. * config/sparc/sparc.c: use it. * config/i386/i386.c: use it. * config/rs6000/rs6000.c: use it. * config/arm/arm.c: use it. * config/mips/mips.c: use it. * stmt.c: use it, use EXPAND_NORMAL explicitely. From-SVN: r110428
2006-01-31cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast argv to the appropriate type.Roger Sayle2-2/+7
* config/i386/cygwin.h (GCC_DRIVER_HOST_INITIALIZATION): Cast argv to the appropriate type. From-SVN: r110427
2006-01-31tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove unreachable code.Zdenek Dvorak2-10/+6
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Remove unreachable code. From-SVN: r110426
2006-01-31re PR target/26018 (Assembler errors with -march=z900 compiling glibc)Ulrich Weigand2-1/+17
PR target/26018 * config/s390/s390.c (struct machine_function): New flag decomposed_literal_pool_addresses_ok_p. (s390_reorg): Set it before final stage of literal pool transforms. (s390_decompose_address): Only accept displacements of the form (minus (label_ref ...) (label_ref ...)) if that flag is set. From-SVN: r110422
2006-01-31Daily bump.GCC Administrator1-1/+1
From-SVN: r110420
2006-01-31* mangle.c: Comment fix.Ben Elliston2-1/+5
From-SVN: r110413
2006-01-30re PR fortran/24266 (ICE when writing to array of strings that is an ↵Erik Edelmann4-1/+29
elements of a user defined type) fortran/ 2005-01-30 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/24266 * trans-io.c (set_internal_unit): Check the rank of the expression node itself instead of its symbol. testsuite/ 2005-01-30 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/24266 * gfortran.dg/arrayio_derived_2.f90: New. From-SVN: r110412
2006-01-30optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias the ↵Carlos O'Donell4-9/+48
comparison routine return. gcc/ 2006-01-30 Carlos O'Donell <carlos@codesourcery.com> * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias the comparison routine return. gcc/testsuite/ 2006-01-30 Carlos O'Donell <carlos@codesourcery.com> * gcc.dg/unsigned-long-compare.c: New test. From-SVN: r110409
2006-01-30global.c (find_reg): Only evict for global regs.Michael Matz2-4/+28
* global.c (find_reg): Only evict for global regs. Take n_refs into account and dump more info. From-SVN: r110407
2006-01-30re PR testsuite/25318 (g++.dg/other/pr22003.C (test for excess errors) fails)Steve Ellcey3-3/+44
PR testsuite/25318 * lib/target-supports.exp (check_effective_target_freorder): Check to see if target supports -freorder-blocks-and-partition. * g++.dg/other/pr22003.C: Use "dg-require-effective-target freorder" instead of "dg-require-named-sections". From-SVN: r110405
2006-01-30re PR java/21428 (bogus warning: unused parameter 'this')Andrew Haley2-0/+8
2006-01-30 Andrew Haley <aph@redhat.com> PR java/21428 * parse.y: (source_start_java_method): Mark DECL_ARTIFICIAL("this"). From-SVN: r110400
2006-01-30re PR target/14798 (In case of SH target with -O2 option #pragma interrupt ↵J"orn Rennecke18-107/+427
doesn't get resetted.) PR target/14798: gcc: * sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable. (pragma_trap, pragma_nosave_low_regs): Likewise. (current_function_anonymous_args): Likewise. (sh_deferred_function_attributes): New variable. (sh_deferred_function_attributes_tail): Likewise. (print_operand): For '@', look up trap_exit attribute. (calc_live_regs): Look up trapa_handler attribute. For trapa handlers, save/restore fpscr, but don't do any other interrupt-specific saves. Don't save r0..r7 if the nosave_low_regs attribute is in effect. Fix check for partially saved registers to check for SHmedia. (sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute. (sh_output_function_epilogue): Don't clear any of the removed variables. (sh_insert_attributes): Don't check pragma_interrupt. Insert deferred attributes. Check that interrupt attribute is present for other attributes that require its presence. (sh_attribute_table): Add new attributes trapa_handler and nosave_low_regs. (sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): Don't check for pragma_interrupt. Don't store argument. * sh.h (pragma_interrupt, sp_switch): Don't declare. (sh_deferred_function_attributes): Declare. (sh_deferred_function_attributes_tail): Likewise. * sh.md (sp_switch_1): Add operand. Change generator caller. (sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove. (*return_i): Don't use when trap_exit attribute is in effect. (*return_trapa): New insn pattern. * sh-c.c: New file. * config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza, setting c_target_objs and cxx_target_objs. * t-sh: Add rule for sh-c.o. gcc/testsuite: * gcc.dg/pragma-isr.c: Added target sh[1234ble]*-*-*. * gcc.dg/pragma-isr2.c, gcc.dg/pragma-isr-trapa.c: New tests. * gcc.dg/pragma-isr-trapa2.c: Likewise. * gcc.dg/pragma-isr-nosave_low_regs.c: Likewise. * gcc.dg/pragma-isr-trap_exit.c: Likewise. * gcc.dg/attr-isr.c, gcc.dg/attr-isr-trapa.c: Likewise. * gcc.dg/attr-isr-trap_exit.c: Likewise. * gcc.dg/attr-isr-nosave_low_regs.c: Likewise. From-SVN: r110398
2006-01-30re PR c++/23372 (Temporary aggregate copy not elided when passing parameters ↵Richard Guenther4-0/+30
by value) 2006-01-30 Richard Guenther <rguenther@suse.de> PR c++/23372 * gimplify.c (gimplify_target_expr): Handle easy cases without creating a temporary. * gcc.dg/pr23372-1.C: New testcase. From-SVN: r110396
2006-01-30* vec.h (safe_grow): Remove duplicated line.Nathan Sidwell2-2/+4
From-SVN: r110395
2006-01-29re PR c++/25874 ([gomp] ICE in calc_dfs_tree())Diego Novillo4-11/+43
PR 25874 * omp-low.c (execute_expand_omp): Move CFG cleanup code ... (expand_omp): ... here. (expand_omp_parallel): Only remove barriers for combined parallel+workshare constructs. * gcc.dg/gomp/pr25874.c: New test. From-SVN: r110393
2006-01-30Daily bump.GCC Administrator1-1/+1
From-SVN: r110390
2006-01-30fix entries orderingGabriel Dos Reis1-3/+2
From-SVN: r110384
2006-01-29RevertEric Botcazou2-24/+17
2005-11-09 Eric Botcazou <ebotcazou@adacore.com> * tree.c (build_qualified_type): Chain the new type to the original type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is a POINTER_TYPE or a REFERENCE_TYPE respectively. (build_pointer_type_for_mode): Only return unqualified types. (build_reference_type_for_mode): Likewise. From-SVN: r110382
2006-01-29configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported.Gabriel Dos Reis7-132/+316
* configure.ac (cxx_compat_warn): Set if -Wc++-compat is supported. * Makefile.in (CXX_COMPAT_WARN): Define. * configure: Regenerate. cp/ * Make-lang.in (cp-warn): Include CXX_COMPAT_WARN. * repo.c (extract_string, afgets): Use cast when converting from void *. From-SVN: r110380
2006-01-29re PR tree-optimization/25911 (ice in vect_recog_dot_prod_pattern)Dorit Nuzman4-1/+28
PR tree-opt/25911 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Change assert to an if check. From-SVN: r110377
2006-01-29re PR fortran/18578 (intent(inout) violation is not detected)Paul Thomas4-0/+46
2006-01-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/18578 PR fortran/18579 PR fortran/20857 PR fortran/20885 * interface.c (compare_actual_formal): Error for INTENT(OUT or INOUT) if actual argument is not a variable. 2006-01-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/18578 PR fortran/18579 PR fortran/20857 PR fortran/20885 * gfortran.dg/intent_out_1.f90: New test. From-SVN: r110376
2006-01-29* toplev.c: Fix thinko.Gabriel Dos Reis2-2/+6
From-SVN: r110374
2006-01-29toplev.c (floor_log2, exact_log2): Don't define if __cplusplus.Gabriel Dos Reis2-3/+18
* toplev.c (floor_log2, exact_log2): Don't define if __cplusplus. (push_srcloc): Use XNEW. (init_asm_output, default_get_pch_validity): Use XNEWVEC. Co-Authored-By: Marcin Dalecki <martin@dalecki.de> From-SVN: r110372
2006-01-29df-core.c (df_set_blocks): Deleted all variable.Kenneth Zadeck2-2/+4
2006-01-29 Kenneth Zadeck <zadeck@naturalbridge.com> * df-core.c (df_set_blocks): Deleted all variable. From-SVN: r110368
2006-01-29call.c (alloc_conversion): Use cast when converting from void *.Gabriel Dos Reis12-34/+65
* call.c (alloc_conversion): Use cast when converting from void *. (alloc_conversions): Likewise. (add_candidate): Likewise. (print_z_candidates): Likewise. (add_warning): Likewise. * pt.c (retrieve_local_specialization): Likewise. (process_partial_specialization): Likewise. (mangle_class_name_for_template): Likewise. (tsubst_template_args): Likewise. * typeck2.c (pat_calc_hash): Likewise. (pat_compare): Likewise. (abstract_virtuals_error): Likewise. * class.c (method_name_cmp): Likewise. (resort_method_name_cmp): Likewise. (get_vfield_name): Likewise. * decl2.c (generate_ctor_and_dtor_functions_for_priority): Likewise. * lex.c (init_reswords): Likewise. * rtti.c (create_pseudo_type_info): Likewise. * search.c (dfs_lookup_base): Likewise. (dfs_dcast_hint_pre): Likewise. (dfs_dcast_hint_post): Likewise. * tree.c (hash_tree_cons): Likewise. * repo.c (extract_string): Likewise. (afgets): Likewise. * cp-objcp-common.c (decl_shadowed_for_var_lookup): Likewise. * g++spec.c (lang_specific_driver): Likewise. From-SVN: r110366
2006-01-29[multiple changes]Paul Thomas10-6/+94
2006-01-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/17911 * expr.c (gfc_check_assign, gfc_check_pointer_assign): Emit error if the lvalue is a use associated procedure. PR fortran/20895 PR fortran/25030 * expr.c (gfc_check_pointer_assign): Emit error if lvalue and rvalue character lengths are not the same. Use gfc_dep_compare_expr for the comparison. * gfortran.h: Add prototype for gfc_dep_compare_expr. * dependency.h: Remove prototype for gfc_dep_compare_expr. 2006-01-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/17911 * gfortran.dg/procedure_lvalue.f90: New test. PR fortran/20895 PR fortran/25030 * gfortran.dg/char_pointer_assign_2.f90: New test. * gfortran.dg/char_result_1.f90: Correct unequal charlen pointer assignment to be consistent with standard. * gfortran.dg/char_result_2.f90: The same. * gfortran.dg/char_result_8.f90: The same. From-SVN: r110365
2006-01-29cgraphunit.c (cgraph_assemble_pending_functions): Call ↵Ian Lance Taylor2-0/+8
cgraph_output_pending_asms. * cgraphunit.c (cgraph_assemble_pending_functions): Call cgraph_output_pending_asms. From-SVN: r110364
2006-01-29c.opt: Add -W(no-)overlength-strings.Zack Weinberg15-63/+285
gcc: * c.opt: Add -W(no-)overlength-strings. * doc/invoke.texi: Document it. * c-opts.c (c_common_handle_option): -pedantic implies -Woverlength-strings, if not explicitly disabled already. (c_common_post_options): -Woverlength-strings defaults to off, and is always off for C++. * c-common.c (fix_string_type): Issue warning about strings longer than is portable only if warn_overlength_strings. Rearrange code a little for clarity. * configure.in: Check for -Wno-overlength-strings as well before enabling -pedantic in stage 1. * Makefile.in (STRICT2_WARN): Add -Wno-overlength-strings. (gcc.o-warn, insn-automata.o-warn, build/gencondmd.o-warn): Delete. * genconditions.c (write_header, write_one_condition) (write_conditions, write_writer): Consolidate very long strings that were broken up to fit in C89 portable limit. Don't use printf when fputs will do. gcc/testsuite: * gcc.dg/Woverlength-strings.c * gcc.dg/Woverlength-strings-pedantic-c89.c * gcc.dg/Woverlength-strings-pedantic-c89-no.c * gcc.dg/Woverlength-strings-pedantic-c99.c * gcc.dg/Woverlength-strings-pedantic-c99-no.c: New tests. ================================================================== From-SVN: r110360
2006-01-29* gcc.c-torture/execute/20060127-1.c: New test.Adam Nemet2-0/+21
From-SVN: r110359
2006-01-29combine.c (simplify_comparison <AND>): Check TRULY_NOOP_TRUNCATION before ↵Adam Nemet3-17/+40
start using a subreg. * combine.c (simplify_comparison <AND>): Check TRULY_NOOP_TRUNCATION before start using a subreg. * config/mips/mips.md (*branch_zero<mode>, *branch_zero<mode>_inverted, *branch_equality<mode>, *branch_equality<mode>_inverted, *branch_equality<mode>_mips16): Remove mode check from comparisons. From-SVN: r110358
2006-01-29mips-protos.h (mips_set_live_on_entry): Deleted.Kenneth Zadeck2-1/+4
2006-01-28 Kenneth Zadeck <zadeck@naturalbridge.com> * config/mips/mips-protos.h (mips_set_live_on_entry): Deleted. From-SVN: r110357
2006-01-29fix emailGabriel Dos Reis1-1/+1
From-SVN: r110356
2006-01-29Daily bump.GCC Administrator1-1/+1
From-SVN: r110354
2006-01-28hooks.c (hook_bool_rtx_int_false): Remove.Kazu Hirata3-7/+3
* hooks.c (hook_bool_rtx_int_false): Remove. * hooks.h: Remove the prototype for hook_bool_rtx_int_false. From-SVN: r110348
2006-01-28class.c (check_bases): Likewise.Gabriel Dos Reis3-26/+49
* class.c (check_bases): Likewise. (maybe_warn_about_overly_private_class): Likewise. (check_field_decls): Likewise. (layout_empty_base): Likewise. (layout_virtual_bases): Likewise. (layout_class_type): Likewise. * call.c (joust): Pass option code to warning. Use inform for explanation. From-SVN: r110342
2006-01-28re PR c++/25999 (compiler loses extern "C" for function after #pragma weak)Mark Mitchell4-4/+32
PR c++/25999 * decl.c (start_preparsed_function): Call maybe_apply_pragma_weak here, not ... (start_function): ... here. PR c++/25999 * g++.dg/ext/pragmaweak1.C: New test. From-SVN: r110340
2006-01-28modulo-sched.c (create_partial_schedule, [...]): Make them static.Kazu Hirata2-6/+13
* modulo-sched.c (create_partial_schedule, free_partial_schedule, reset_partial_schedule): Make them static. From-SVN: r110338
2006-01-28integrate.h: Remove the prototype for copy_decl_for_inlining.Kazu Hirata4-6/+6
* integrate.h: Remove the prototype for copy_decl_for_inlining. * rtl.h: Remove the prototype for mark_constant_function. * tree-vectorizer.h: Remove the prototype for vect_strip_conversion. From-SVN: r110336
2006-01-28recog.c (validate_replace_rtx_subexp): Remove.Kazu Hirata3-12/+4
* recog.c (validate_replace_rtx_subexp): Remove. * recog.h: Remove the prototype for validate_replace_rtx_subexp. From-SVN: r110335
2006-01-28expmed.c (const_mult_add_overflow_p): Remove.Kazu Hirata3-39/+5
* expmed.c (const_mult_add_overflow_p): Remove. * expr.h: Remove the prototype for const_mult_add_overflow_p. From-SVN: r110334
2006-01-28aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float and -mlong-double-128 are ↵David Edelsohn6-5/+32
incompatible. * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float and -mlong-double-128 are incompatible. * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same. * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c. (TARGET_LIBGCC2_CFLAGS): Define. * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same. (TARGET_LIBGCC2_CFLAGS): Same. * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX. From-SVN: r110333
2006-01-28re PR c++/25855 (template specialisation not always found (partial ordering))Mark Mitchell6-46/+69
PR c++/25855 * class.c (resolve_address_of_overloaded_function): Adjust use of return value from most_specialized_instantiation. * pt.c (determine_specialization): Avoid multiple calls to get_bindings. (most_specialized_instantiation): When a tie occurs, set the current presumed champion to the next template. Return the TREE_LIST node containing the template, rather than the template itself. (most_specialized): Remove. * name-lookup.c (push_overloaded_decl): When duplicate_decls indicates a failed redeclaration, report that to callers. PR c++/25855 * g++.dg/template/spec29.C: New test. From-SVN: r110332
2006-01-28recog.c (peephole2_optimize): Make it static.Kazu Hirata3-2/+4
* recog.c (peephole2_optimize): Make it static. * recog.h: Remove the prototype for peephole2_optimize. From-SVN: r110327
2006-01-28emit-rtl.c (init_virtual_regs): Make it static.Kazu Hirata3-3/+4
* emit-rtl.c (init_virtual_regs): Make it static. * function.h: Remove the prototype for init_virtual_regs. From-SVN: r110326
2006-01-28cfgloop.c (flow_loop_outside_edge_p): Remove.Kazu Hirata3-10/+4
* cfgloop.c (flow_loop_outside_edge_p): Remove. * cfgloop.h: Remove the prototype for flow_loop_outside_edge_p. From-SVN: r110325
2006-01-28cfgloopmanip.c (split_loop_bb): Remove.Kazu Hirata3-17/+3
* cfgloopmanip.c (split_loop_bb): Remove. * cfgloop.h: Remove the prototype for split_loop_bb. From-SVN: r110324