aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-06-22re PR debug/53671 (Many guality test failures)Alexandre Oliva2-14/+28
PR debug/53671 PR debug/49888 * alias.c (memrefs_conflict_p): Improve handling of AND for alignment. From-SVN: r188868
2012-06-22* ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.Alexandre Oliva2-1/+13
From-SVN: r188867
2012-06-22re PR target/53682 (ICE in cselib_lookup (SEGV) on i586-linux-gnu)Alexandre Oliva2-1/+6
PR debug/53682 * cselib.c (promote_debug_loc): Don't crash on NULL argument. From-SVN: r188866
2012-06-22Daily bump.GCC Administrator1-1/+1
From-SVN: r188865
2012-06-21re PR c/53702 (ICE with -Wall and nested functions and unused typedef)Meador Inge4-4/+62
PR c/53702 * c-decl.c (c_push_function_context): Restore the behavior to reuse the language function allocated for -Wunused-local-typedefs. (c_pop_function_context): If necessary, clear the language function created in c_push_function_context. Always clear out the x_cur_stmt_list field of the restored language function. testsuite/ * gcc.dg/Wunused-local-typedefs.c: New testcase. From-SVN: r188860
2012-06-21MAINTAINERS (Write After Approval): Add myself.Meador Inge2-0/+5
2012-06-21 Meador Inge <meadori@codesourcery.com> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r188859
2012-06-21PR 39654 FTELL intrinsic function return type.Janne Blomqvist5-2/+39
frontend ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * iresolve.c (gfc_resolve_ftell): Fix result kind and use new library function. library ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * io/intrinsics.c (ftell2): New function. * gfortran.map (_gfortran_ftell2): Export function. From-SVN: r188858
2012-06-21dwarf2out.c (is_cu_die, [...]): New functions.Sterling Augustine4-63/+165
2012-06-21 Sterling Augustine <saugustine@google.com> Cary Coutant <ccoutant@google.com> * dwarf2out.c (is_cu_die, is_namespace_die, is_class_die, add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions. (comdat_type_struct): New field 'skeleton_die'. (breakout_comdat_types): Update it. (add_pubname): Rework logic. Call is_class_die, is_cu_die and is_namespace_die. Fix minor style violation. Call want_pubnames. (add_pubname_string): Call want_pubnames. (add_pubtype): Rework logic for calculating type name. Call is_namespace_die. Call want_pubnames. (output_pubnames): Move conditional logic deciding when to produce the section from dwarf2out_finish. Use new skeleton_die field. (base_type_die): Call add_pubtype. (gen_enumeration_type_die): Unconditionally call add_pubtype. (gen_subprogram_die): Adjust calls to add_pubname. (gen_namespace_die): Call add_pubname_string. (dwarf2out_finish): Call add_AT_pubnames; Move logic on when to produce pubnames and pubtypes sections to output_pubnames. (common.opt): New option '-gpubnames'. (invoke.texi): Document it. Co-Authored-By: Cary Coutant <ccoutant@google.com> From-SVN: r188857
2012-06-21c-common.h (c_common_print_pch_checksum): Remove.Steven Bosscher8-103/+62
c-family/ * c-common.h (c_common_print_pch_checksum): Remove. * c-pch.c: Do not include output.h. (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME. (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined. (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined. (struct c_pch_header): Remove. (get_ident): Update gpch version. (pch_init): Do not print executable_checksum to asm_out_file. Do not fail if there is no asm_out_file to read back from. Set asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined. (c_common_write_pch): Verify that nothing was written to asm_out_file since pch_init was called. Do not write a c_pch_header, and do not copy from asm_out_file to the PCH. (c_common_read_pch): Do not read a c_pch_header, and do not restore the content of asm_out_file from the PCH. (c_common_print_pch_checksum): Remove. * c-opts.c (c_common_init): Print out executable_checksum directly. testsuite/ * testsuite/gcc.dg/pch/ident-1.c: New test. * testsuite/gcc.dg/pch/ident-1.hs: Header file for new test. From-SVN: r188856
2012-06-21* config/m32c/m32c-pragma.c: Remove unnecessary includes.Steven Bosscher2-6/+4
From-SVN: r188853
2012-06-21re PR middle-end/53688 (191.fma3d in SPEC CPU 2000 miscompiled)Michael Matz4-110/+70
PR middle-end/53688 * builtins.c (get_memory_rtx): Always build an all-aliasing MEM_REF with correct size. testsuite/ * gcc.c-torture/execute/pr53688.c: New test. From-SVN: r188852
2012-06-21tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.Richard Guenther2-5/+13
2012-06-21 Richard Guenther <rguenther@suse.de> * tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly. From-SVN: r188849
2012-06-21Daily bump.GCC Administrator1-1/+1
From-SVN: r188847
2012-06-20i386.md (SINCOS): New int iterator.Uros Bizjak2-48/+52
2012-06-20 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (SINCOS): New int iterator. (sincos): New int attribute. (*<sincos>xf2_i387): Macroize insn from *{sin,cos}xf2_i387 using SINCOS int iterator. (*<sincos>_extend<mode>xf2_i387): Macroize insn from *{sin,cos}_extend<mode>xf2_i387 using SINCOS int iterator. 2012-06-20 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (RDFSGSBASE): New int iterator. (WRFSGSBASE): Ditto. (fsgs): New int attribute. (rd<fsgs>base<mode>): Macroize insn from rd<fsgs>base<mode> using RDFSGSBASE int iterator. (wr<fsgs>base<mode>): Macroize insn from wr<fsgs>base<mode> using WRFSGSBASE int iterator. From-SVN: r188843
2012-06-20Makefile.tpl (check-target-libgomp-c++): New.Jason Merrill4-2/+39
* Makefile.tpl (check-target-libgomp-c++): New. (check-target-libitm-c++): New. * Makefile.def (c++): Add them. * Makefile.in: Regenerate. From-SVN: r188842
2012-06-20Add DECL_SOURCE_COLUMN.Rüdiger Sonderfeld2-0/+5
I'm currently writing a plugin for GCC and I need to extract the column of a declaration. There exists DECL_SOURCE_FILE/LINE already and for consistency reasons and ease of use I've added a DECL_SOURCE_COLUMN macro. 2012-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de> * tree.h (DECL_SOURCE_COLUMN): New accessor From-SVN: r188841
2012-06-20i386.md (<rounding_insn><mode>2): Macroize expander from ↵Uros Bizjak2-100/+47
{floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator. * config/i386/i386.md (<rounding_insn><mode>2): Macroize expander from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator. (l<rounding_insn><MODEF:mode><SWI48:mode>2): Macroize expander from l{floor,ceil}<MODEF:mode><SWI48:mode>2 using FIST_ROUNDING int iterator. From-SVN: r188840
2012-06-20* system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.Steven Bosscher2-2/+7
From-SVN: r188838
2012-06-20Fix typo.David Edelsohn1-1/+1
From-SVN: r188833
2012-06-20locks.h (compare_and_swap): Use GCC atomic intrinsics.David Edelsohn2-50/+36
2012-06-20 David Edelsohn <dje.gcc@gmail.com> Alan Modra <amodra@gmail.com> * sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic intrinsics. (release_set): Same. (compare_and_swap_release): Same. (read_barrier): Same. (write_barrier): Same. Co-Authored-By: Alan Modra <amodra@gmail.com> From-SVN: r188829
2012-06-20re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)Richard Guenther4-36/+227
2012-06-20 Richard Guenther <rguenther@suse.de> PR tree-optimization/30318 * tree-vrp.c (range_int_cst_p): Do not reject overflowed constants here. (range_int_cst_singleton_p): But explicitely here. (zero_nonzero_bits_from_vr): And here. (extract_range_from_binary_expr_1): Re-implement PLUS_EXPR to cover all cases we can perform arbitrary precision arithmetic with double-ints. (intersect_ranges): Handle adjacent anti-ranges. * gcc.dg/tree-ssa/vrp69.c: New testcase. From-SVN: r188827
2012-06-20* g++.dg/debug/dwarf2/nested-3.C: Add ARM comment character to regexp.Richard Earnshaw2-1/+5
From-SVN: r188826
2012-06-20i386.md (rounding_insn): New int attribute.Uros Bizjak2-62/+48
2012-06-20 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (rounding_insn): New int attribute. (<rounding_insn>xf2): Macroize insn from {floor,ceil,btrunc}xf2 using FRNDINT_ROUNDING int iterator. (l<rounding_insn>xf<mode>2): Rename from l<rounding>xf<mode>2. 2012-06-20 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (IEEE_MAXMIN): New int iterator. (ieee_maxmin): New int attribute. (*ieee_s<ieee_maxmin><mode>3): Macroize insn from *ieee_s{max,min}<mode>3 using IEEE_MAXMIN mode iterator. From-SVN: r188824
2012-06-20arm.h (EMIT_EABI_ATTRIBUTE): Remove.Steven Bosscher5-32/+49
* config/arm/arm.h (EMIT_EABI_ATTRIBUTE): Remove. * config/arm/arm.c: Do not include c-pragma.h. (arm_emit_eabi_attribute): New function based on EMIT_EABI_ATTRIBUTE. (arm_file_start): Replace uses of EMIT_EABI_ATTRIBUTE with calls to arm_emit_eabi_attribute. * arm-c.c: Do not include output.h. (arm_output_c_attributes): Replace use of EMIT_EABI_ATTRIBUTE with a call to arm_emit_eabi_attribute. * config/arm/arm-protos.h (arm_emit_eabi_attribute): Prototype it. From-SVN: r188823
2012-06-20tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Allow adjusting ↵Richard Guenther2-4/+8
alignment of user-aligned decls again. 2012-06-20 Richard Guenther <rguenther@suse.de> * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Allow adjusting alignment of user-aligned decls again. From-SVN: r188822
2012-06-20* config/rl78/rl78-c.c: Remove unnecessary includes.Steven Bosscher2-9/+4
From-SVN: r188821
2012-06-20Clear hwcap_2 with Sun ldRainer Orth3-3/+26
* gcc.target/i386/clearcapv2.map: New file. * gcc.target/i386/i386.exp: Try it first before clearcap.map. From-SVN: r188820
2012-06-20cris.c: Include cgraph.h.Steven Bosscher2-4/+6
* config/cris/cris.c: Include cgraph.h. (cris_option_override): Do not set non-existing flag_no_gcc_ident. From-SVN: r188818
2012-06-20stack-usage-1.c: Remove dg-options line for sh targets and add __sh__ case.Kaz Kojima2-1/+7
* gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets and add __sh__ case. From-SVN: r188815
2012-06-20re PR c++/52637 (ICE producing debug info for c++11 code using local class ↵Jason Merrill2-0/+26
as template argument) PR c++/52637 * g++.dg/debug/localclass1.C: New. From-SVN: r188814
2012-06-19parser.c (cp_parser_direct_declarator): Move virt-specifier parsing after ↵Ville Voutilainen4-2/+57
late-specified return type parsing. * parser.c (cp_parser_direct_declarator): Move virt-specifier parsing after late-specified return type parsing. From-SVN: r188808
2012-06-19re PR c++/53651 ([C++11] seg fault when specifying using decltype(...)::method)Jason Merrill4-0/+30
PR c++/53651 * name-lookup.c (constructor_name_p): Don't try to look at the name of a DECLTYPE_TYPE. From-SVN: r188807
2012-06-20emit-rtl.c (need_atomic_barrier_p): New function.Maxim Kuvyrkov7-125/+51
* emit-rtl.c (need_atomic_barrier_p): New function. * emit-rtl.h (need_atomic_barrier_p): Declare it. * config/alpha/alpha.c (alpha_{pre,post}_atomic_barrier): Use it. * config/arm/arm.c (arm_{pre,post}_atomic_barrier): Use it. * config/tilegx/tilegx.c (tile_{pre,post}_atomic_barrier): Use it. * config/mips/mips.c (mips_{pre,post}_atomic_barrier_p): Remove. (mips_process_sync_loop): Use generic version instead. From-SVN: r188806
2012-06-20mips.c (mips_process_sync_loop): Emit cmp result only if it is used.Maxim Kuvyrkov2-0/+9
2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com> * config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if it is used. From-SVN: r188805
2012-06-20constraints.md (ZR): New constraint.Tom de Vries6-6/+90
2012-06-19 Tom de Vries <vries@codesourcery.com> Maxim Kuvyrkov <maxim@codesourcery.com> * config/mips/constraints.md (ZR): New constraint. * config/mips/predicates.md (mem_noofs_operand): New predicate. * config/mips/mips.c (mips_print_operand): Handle new print modifier. * config/mips/mips.h (TARGET_XLP): Define. (TARGET_SYNC_AFTER_SC): Update. (ISA_HAS_SWAP, ISA_HAS_LDADD): Define. * config/mips/sync.md (atomic_exchange, atomic_fetch_add): Use XLP-specific swap and ldadd patterns. (atomic_exchange_swap, atomic_fetch_add_ldadd): New patterns. Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r188804
2012-06-202012-06-19 Tom de Vries <vries@codesourcery.com>Tom de Vries4-9/+199
Maxim Kuvyrkov <maxim@codesourcery.com> * config/mips/mips.c (mips_emit_pre_atomic_barrier_p,) (mips_emit_post_atomic_barrier_p): New static functions. (mips_process_sync_loop): Use them. Emit sync memory barriers in accordance with memory model semantics. Add return of CMP result for compare_and_swap. * config/mips/mips.md: Update comment. (sync_cmp): New attribute. (sync_memmodel): New attribute replacing sync_release_barrier. * config/mips/sync.md (UNSPEC_ATOMIC_COMPARE_AND_SWAP,) (UNSPEC_ATOMIC_EXCHANGE, UNSPEC_ATOMIC_FETCH_OP): New constants. (sync_lock_test_and_set, test_and_set_12): Update. (atomic_compare_and_swap, atomic_exchange, atomic_exchange_llsc,) (atomic_fetch_add, atomic_fetch_add_llsc): New patterns. Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com> From-SVN: r188803
2012-06-20Daily bump.GCC Administrator1-1/+1
From-SVN: r188802
2012-06-19stack-usage-1.c: Use sh*-*-* instead of sh-*-*.Kaz Kojima2-1/+5
* gcc.dg/stack-usage-1.c: Use sh*-*-* instead of sh-*-*. From-SVN: r188796
2012-06-19spe.md (*mov_si<mode>_e500_subreg0): Rename to mov_si<mode>_e500_subreg0.Joseph Myers5-2/+55
* config/rs6000/spe.md (*mov_si<mode>_e500_subreg0): Rename to mov_si<mode>_e500_subreg0. (*mov_si<mode>_e500_subreg0_elf_low) (*mov_si<mode>_e500_subreg4_elf_low): New patterns. testsuite: * gcc.c-torture/compile/vector-5.c, gcc.c-torture/compile/vector-6.c: New tests. From-SVN: r188795
2012-06-19Set cache parameters for alphaRichard Henderson2-17/+59
From-SVN: r188794
2012-06-19tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE, [...]): Add @hooks.Steven Bosscher10-95/+145
gcc/ * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE, TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks. (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE): Remove. * doc/tm.texi: Regenerate. * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for .objc_class_name_*. * config/darwin-c.c: Include target.h. (darwin_objc_declare_unresolved_class_reference): New function. (darwin_objc_declare_class_definition): New function. (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define. (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define. c-family/ * c-target.def (objc_declare_unresolved_class_reference, objc_declare_class_definition): Add new hooks. objc/ * objc-next-runtime-abi-01.c: Do not include tm.h and output.h. Include c-family/c-target.h. (handle_next_class_ref): Rewrite to emit top-level asm statements. (handle_next_impent): Likewise. * objc/Make-lang.in: Fix dependencies for objc-next-runtime-abi-01.o. From-SVN: r188793
2012-06-19check_makefile_deps.sh: Look for c-common.o in c-family/.Steven Bosscher2-2/+7
* check_makefile_deps.sh: Look for c-common.o in c-family/. Add a few more crt* files to the list of files to skip. From-SVN: r188792
2012-06-19target.def (output_ident): New hook.Steven Bosscher29-87/+173
gcc/ * target.def (output_ident): New hook. * targhooks.h (default_asm_output_ident_directive): Add prototype. * varasm.c (assemble_asm): Only prefix a tab if the string does not already start with one. (default_asm_output_ident_directive): New function to emit .ident as a top-level asm node while parsing, or directly to asm_out_file after parsing. * toplev.c (compile_file): Print a GCC .ident with targetm.asm_out.output_ident. * doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro. (TARGET_ASM_OUTPUT_IDENT): Add @hook for this. * doc/tm.texi: Update. * config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/i386/djgpp.h (IDENT_ASM_OP): Remove. * config/i386/gas.h (ASM_OUTPUT_IDENT): Remove. * config/arm/aout.h (ASM_OUTPUT_IDENT): Remove. * config/sparc/sparc.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/picochip/picochip.h (IDENT_ASM_OP): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/cris/cris-protos.h (cris_asm_output_ident): Add prototype. * config/cris/cris.c (cris_asm_output_ident): New function. * config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove. * config/microblaze/microblaze-protos.h (microblaze_asm_output_ident): Add prototype. * config/microblaze/microblaze.c: Include cgraph.h for add_asm_node. (microblaze_asm_output_ident): Rewrite to work similar to default_asm_output_ident_directive for front-end .idents. * config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove. (TARGET_ASM_OUTPUT_IDENT): Define. * config/mips/mips.h (ASM_OUTPUT_IDENT): Remove. * config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove. * config/rx/rx.c: Include cgraph.h for add_asm_node. (rx_asm_output_ident): New function, similar to default_asm_output_ident_directive, but handle AS100 syntax also, so that #ident also works for rx in AS100 syntax. (TARGET_ASM_OUTPUT_IDENT): Define. * config/rx/rx.h (IDENT_ASM_OP): Remove. * Makefile.in: Fix dependencies for c-family/c-lex.o. c-family/ * c-lex.c: Do not include output.h. (cb_ident): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. ada/ * gcc-interface/trans.c: Include target.h. (gigi): Try to put out .ident with targetm.asm_out.output_ident. Remove uses of ASM_OUTPUT_IDENT. * gcc-interface/Make-lang.in: Fix dependencies. From-SVN: r188791
2012-06-19i386.md (FIST_ROUNDING): New int iterator.Uros Bizjak2-313/+187
* config/i386/i386.md (FIST_ROUNDING): New int iterator. (rounding): Handle UNSPEC_FIST_{FLOOR,CEIL}. (ROUNDING): Ditto. (*fist<mode>2_<rounding>_1): Macroize insn from *fist<mode>2_{floor,ceil}_1 using FIST_ROUNDING int iterator. (fistdi2_<rounding>): Macroize insn from fistdi2_{floor,ceil} using FIST_ROUNDING int iterator. (fistdi2_<rounding>_with_temp and splitters): Macroize insn and corresponding splitters from fistdi2_{floor,ceil} and corresponding splitters using FIST_ROUNDING int iterator. (fist<mode>2_<rounding>): Macroize insn from fist<mode>2_{floor,ceil} using FIST_ROUNDING int iterator. (fist<mode>2_<rounding>_with_temp and splitters): Macroize insn and corresponding splitters from fist<mode>2_{floor,ceil} and corresponding splitters using FIST_ROUNDING int iterator. (l<rounding>xf<mode>2): Macroize expander from l{floor,ceil}xf<mode>2 using FIST_ROUNDING int iterator. From-SVN: r188789
2012-06-19pr33329.c: Change multiplier constant to 12345Richard Henderson2-1/+5
From-SVN: r188788
2012-06-19Handle const_vector in mulv4si3 for pre-sse4.1.Richard Henderson5-59/+106
From-SVN: r188787
2012-06-19Use synth_mult for vector multiplies vs scalar constantRichard Henderson3-198/+262
From-SVN: r188786
2012-06-19Add rtx costs for sse integer opsRichard Henderson2-10/+45
From-SVN: r188785
2012-06-19inclhack.def (aix_mutex_initializer_1): New fix.David Edelsohn4-10/+217
* inclhack.def (aix_mutex_initializer_1): New fix. (aix_cond_initializer_1): New fix. (aix_rwlock_initializer): New fix. * fixincl.x: Regenerate. * tests/base/pthread.h [AIX_MUTEX_INITIALIZER_1_CHECK]: New. [AIX_COND_INITIALIZER_1_CHECK]: New. [AIX_RWLOCK_INITIALIZER_1_CHECK]: New. From-SVN: r188784
2012-06-19i386.md (FRNDINT_ROUNDING): New int iterator.Uros Bizjak2-91/+38
* config/i386/i386.md (FRNDINT_ROUNDING): New int iterator. (rounding): New int attribute. (ROUNDING): Ditto. (frndintxf2_<rounding>): Macroize insn from frndintxf2_{floor,ceil,trunc} using FRNDINT_ROUNDING int iterator. (frndintxf2_<rounding>_i387): Macroize insn from frndintxf2_{floor,ceil,trunc}_i387 using FRNDINT_ROUNDING int iterator. From-SVN: r188783