aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-12-01PR 25708 Avoid seeking when parsing strings and when peeking.Janne Blomqvist2-43/+122
2011-12-01 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/25708 * module.c (parse_string): Read string into resizable array instead of parsing twice and seeking. (peek_atom): New implementation avoiding seeks. (require_atom): Save and set column and line explicitly for error handling. From-SVN: r181879
2011-12-01re PR bootstrap/51201 (build error without Ada compiler installed)Jakub Jelinek2-2/+7
PR bootstrap/51201 * gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=. From-SVN: r181877
2011-12-01re PR c++/51367 (Broken diagnostic: 'pointer_type' not supported by dump_expr)Paolo Carlini4-3/+30
/cp 2011-12-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51367 * pt.c (unify_inconsistency): Use either %qT or %qE depending on whether parm is a type or non-type parameter. /cp 2011-12-01 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51367 * g++.dg/template/error47.C: New. From-SVN: r181876
2011-12-01Don't call stat before opening a file.Janne Blomqvist2-8/+4
2011-12-01 Janne Blomqvist <jb@gcc.gnu.org> * misc.c (gfc_open_file): Don't call stat. From-SVN: r181875
2011-12-01compiler/runtime: Copy channel implementation from master library.Ian Lance Taylor10-411/+341
From-SVN: r181874
2011-12-01re PR c++/51009 (ICE in verify_gimple_stmt)Jason Merrill6-17/+41
PR c++/51009 * name-lookup.c (push_to_top_level): Set stmts_are_full_exprs_p. * decl.c (build_aggr_init_full_exprs): Just assert that it's true. (check_initializer): Here too. From-SVN: r181872
2011-12-01re PR middle-end/50283 (FAIL: g++.dg/eh/simd-1.C execution test)John David Anglin2-4/+15
PR middle-end/50283 * config/pa/pa.md (in_branch_delay): Disallow frame related insns. (in_nullified_branch_delay): Likewise. (in_call_delay): Likewise. From-SVN: r181868
2011-12-01Daily bump.GCC Administrator1-1/+1
From-SVN: r181867
2011-11-30predict.c (expr_expected_value_1): Assume compare-and-swap builtin boolean ↵Richard Henderson2-11/+36
return is true. * predict.c (expr_expected_value_1): Assume compare-and-swap builtin boolean return is true. From-SVN: r181862
2011-11-30re PR rtl-optimization/51044 (gfortran.dg/alloc_comp_class_2.f90 ↵Jakub Jelinek2-1/+10
gfortran.dg/widechar_intrinsics_10.f90 -O1 ICE) PR rtl-optimization/51044 * dse.c (emit_inc_dec_insn_before): Ensure new_insn is an instruction rather than just insn body. From-SVN: r181861
2011-11-30re PR target/50725 (-O3 -mstackrealign -march=core2 generates invalid ↵Jakub Jelinek4-0/+59
prologue code in callee procedure) PR target/50725 * function.c (thread_prologue_and_epilogue_insns): If stack_realign_drap, add drap_reg to SET_UP_BY_PROLOGUE regset. * gcc.target/i386/pr50725.c: New test. From-SVN: r181860
2011-11-30re PR middle-end/51089 (internal compiler error: verify_flow_info failed)Jakub Jelinek4-18/+44
PR middle-end/51089 * tree-eh.c (cleanup_empty_eh_merge_phis): Add check to avoid creating duplicate edges here. (cleanup_empty_eh_unsplit): And remove it in the caller. * gfortran.dg/gomp/pr51089.f90: New test. From-SVN: r181859
2011-11-30re PR c/51321 (__builtin_types_compatible_p (any_type_t[1][], ↵Andrew Pinski4-2/+26
any_other_type_t) crashes GCC) 2011-11-30 Andrew Pinski <apinski@cavium.com> PR c/51321 * c-parser.c (c_parser_postfix_expression): Check groktypename results before looking at the main variant. 2011-11-30 Andrew Pinski <apinski@cavium.com> * gcc.dg/pr51321.c: New testcase. From-SVN: r181857
2011-11-30re PR rtl-optimization/48721 (ICE: verify_flow_info failed: missing barrier ↵Jakub Jelinek4-1/+65
after block 6 with -foptimize-sibling-calls -fsched2-use-superblocks) PR rtl-optimization/48721 * sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set reg_pending_barrier to TRUE_BARRIER. * gcc.target/i386/pr48721.c: New test. From-SVN: r181856
2011-11-30re PR rtl-optimization/48721 (ICE: verify_flow_info failed: missing barrier ↵Jakub Jelinek2-2/+13
after block 6 with -foptimize-sibling-calls -fsched2-use-superblocks) PR rtl-optimization/48721 * sched-ebb.c (begin_move_insn): Insert empty unreachable block after BARRIER if insn is followed by it. From-SVN: r181855
2011-11-30re PR c++/51299 ([C++11] erroneous nullptr warning on dynamic cast)Paolo Carlini4-3/+37
/cp 2011-11-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51299 * rtti.c (ifnonnull): Use nullptr_node. (build_dynamic_cast_1): Call cp_truthvalue_conversion instead of c_common_truthvalue_conversion. /testsuite 2011-11-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51299 * g++.dg/warn/Wzero-as-null-pointer-constant-4.C: New. From-SVN: r181854
2011-11-30sparc: Add -mmemory-model command-line option.Richard Henderson5-20/+145
* config/sparc/sparc-opts.h (enum sparc_memory_model_type): New. * config/sparc/sparc.opt (mmemory-model=): New option. * doc/invoke.texi (Sparc Options): Document it. * config/sparc/sparc.c (sparc_option_override): Provide default for sparc_memory_model. (sparc_emit_membar_for_model): Omit barrier combinations that are implied by the memory model. From-SVN: r181853
2011-11-30sparc: Convert to atomic_exchange.Richard Henderson2-60/+42
* config/sparc/sync.md (I124MODE): New mode iterator. (memory_barrier): Remove. (atomic_exchangesi): New. (swapsi): Rename from *swapsi. (atomic_test_and_set<I124MODE>): New. (ldstubqi): Rename from *ldstubqi, merge with expander. (ldstub<I24MODE>): Rename from *ldstub<I24MODE>, merge with expander. (sync_lock_test_and_setsi): Remove. (sync_lock_test_and_set<I12MODE>): Remove. From-SVN: r181852
2011-11-30sparc: Convert to atomic_compare_and_swap.Richard Henderson6-34/+100
* config/sparc/constraints.md ("w"): New. * config/sparc/predicates.md (mem_noofs_operand): New. * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Make static. Generate the boolean result of the atomic_compare_exchange. (sparc_expand_compare_and_swap): New. * config/sparc/sync.md (atomic_compare_and_swap<I>): New. (atomic_compare_and_swap<I48MODE>_1): Rename from *sync_compare_and_swap<I48MODE>, use mem_noofs_operand. (*atomic_compare_and_swapdi_v8plus): Rename from *sync_compare_and_swapdi_v8plus, use mem_noofs_operand. (sync_compare_and_swap<I12MODE>): Remove. (sync_compare_and_swap<I48MODE>): Remove. From-SVN: r181851
2011-11-30sparc: Convert to atomic_load/store.Richard Henderson4-0/+72
* config/sparc/predicates.md (register_or_v9_zero_operand): New. * config/sparc/sparc.md (UNSPEC_ATOMIC): New. * config/sparc/sync.md (atomic_load<I>): New. (atomic_loaddi_1, atomic_store<I>, atomic_storedi_1): New. From-SVN: r181849
2011-11-30sparc: Convert to mem_thread_fence.Richard Henderson5-14/+129
* config/sparc/predicates.md (zero_or_v7_operand): New. * config/sparc/sparc.c (sparc_emit_membar_for_model): New. * config/sparc/sparc-protos.h: Update. * config/sparc/sync.md (mem_thread_fence): New. (memory_barrier): Use sparc_emit_membar_for_model. (membar, *membar_empty, *membar_storestore, *membar_storeload): New. (*membar_v8): Accept and ignore the membar mask. (*membar): Accept and print the membar mask. From-SVN: r181848
2011-11-30arm.c (arm_issue_rate): Cortex-A15 can triple issue.Matthew Gretton-Dann5-1/+208
* gcc/config/arm/arm.c (arm_issue_rate): Cortex-A15 can triple issue. * gcc/config/arm/arm.md (mul64): New attribute. (generic_sched): Cortex-A15 is not scheduled generically. (cortex-a15.md): Include. * gcc/config/arm/cortex-a15.md: New machine description. * gcc/config/arm/t-arm (MD_INCLUDES): Add cortex-a15.md. From-SVN: r181843
2011-11-30* gcc/config/arm/t-arm (MD_INCLUDES): Ensure all md files are listed.Matthew Gretton-Dann2-10/+31
From-SVN: r181842
2011-11-30shift flag_next/gnu_runtime to modern opts system.Iain Sandoe12-52/+81
gcc: * doc/tm.texi.in (NEXT_OBJC_RUNTIME): Update macro description. * doc/tm.texi: Regenerate. * flags.h (flag_next_runtime): Remove references. * toplev.c: Likewise. * defaults.h (NEXT_OBJC_RUNTIME): Provide default. * gccspec.c (lang_specific_driver): Adjust use of NEXT_OBJC_RUNTIME. * config/darwin.c (darwin_override_options): Provide default Objective-C abi settings and target conflict checks. * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Remove unused code. Adjust indenting. gcc/c-family: * c.opt (fgnu-runtime): Provide full description. (fnext-runtime): Likewise. * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove. From-SVN: r181837
2011-11-30Daily bump.GCC Administrator1-1/+1
From-SVN: r181829
2011-11-29* config/sh/sh.h (enum reg_class, REG_CLASS_NAMES)Joseph Myers3-1/+15
(REG_CLASS_CONTENTS): Add NON_SP_REGS. (REGCLASS_HAS_GENERAL_REG): Handle NON_SP_REGS. * config/sh/constraints.md (u): New constraint. From-SVN: r181825
2011-11-29re PR target/51337 (SH Target: Various testsuite ICEs for -m2a -O0)Oleg Endo2-0/+14
PR target/51337 * config/sh/sh.c (sh_secondary_reload): Add case when FPUL register is being loaded from a pseudo in memory. From-SVN: r181823
2011-11-29.DJ Delorie20-7/+5006
* configure.ac (rl78-*-*) New case. * configure: Regenerate. * MAINTAINERS: Add myself as RL78 maintainer. libgcc * config.host (rl78-*-elf): New case. * config/rl78: New directory for the Renesas RL78. gcc * config.gcc (rl78-*-elf): New case. * doc/extend.texi: Add RL78 documentation. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. * doc/contrib.texi: Add RL78. * doc/install.texi: Add rl78-*-elf. * config/rl78: New directory for the Renesas RL78. contrib * config-list.mk (LIST): Add rl78-elf. From-SVN: r181819
2011-11-29re PR tree-optimization/51247 (ICE in set_value_range, at tree-vrp.c:417)Jakub Jelinek4-10/+68
PR tree-optimization/51247 * tree-vrp.c (extract_range_from_assert): For signed 1-bit precision types instead of adding 1 subtract -1 and instead of subtracting 1 add -1 to avoid overflows. * gcc.c-torture/compile/pr51247.c: New test. From-SVN: r181818
2011-11-29re PR target/50123 (cmpxchg generated for atomic and with zero/or with -1)Andrew MacLeod4-0/+72
2011-11-29 Andrew MacLeod <amacleod@redhat.com> PR target/50123 * optabs.c (maybe_optimize_fetch_op): New. Look for more optimal instructions for a FECTH_OP or OP_FECTH sequence. (expand_atomic_fetch_op): Call maybe_optimize_fetch_op. * testsuite/gcc.dg/atomic-op-optimize.c: New. Test for optimizations. From-SVN: r181815
2011-11-29compiler: Define and use backend-independent Location class.Sanjoy Das29-1104/+1545
From Sanjoy Das. * go-location.h: New file. * go-linemap.cc: New file. * go-gcc.cc: Change all uses of source_location to Location. * Make-lang.in (GO_OBJS): Add go/go-linemap.o. (GO_LINEMAP_H): New variable. (GO_LEX_H): Use $(GO_LINEMAP_H). (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise. (go/go-linemap.o): New target. Co-Authored-By: Ian Lance Taylor <iant@google.com> From-SVN: r181813
2011-11-29sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.Uros Bizjak3-10/+41
* config/i386/sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs. (movdi_via_fpu): Remove. (loaddi_via_fpu): New insn pattern. (storedi_via_fpu): Ditto. (atomic_loaddi_fpu): Use loaddi_via_fpu and storedi_via_fpu. (atomic_storedi_fpu): Ditto. * reg-stack.c (get_true_reg): Handle UNSPEC_LDA. (subst_stack_regs_pat): Handle UNSPEC_STA. From-SVN: r181812
2011-11-29i386.md (*floathi<mode>2_i387_with_temp): Do not allocate scratch memory for ↵Uros Bizjak2-16/+15
alternative 0. * config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not allocate scratch memory for alternative 0. From-SVN: r181811
2011-11-29re PR fortran/40958 (module files too large)Thomas Koenig2-15/+36
2011-11-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/40958 * module.c (prev_module_line): New variable. (prev_module_column): New variable. (prev_character): New variable. (module_char): Update the new variables. (module_unget_char): New function. (parse_string): Use module_unget_char. (parse_integer): Likewise. (parse_name): Likewise. From-SVN: r181810
2011-11-29Enable target specific builtins and macros when using the target attribute ↵Michael Meissner10-2495/+2664
or pragma on rs6000 From-SVN: r181809
2011-11-29tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.David Edelsohn2-9/+14
2011-11-29 Dodji Seketeli <dodji@redhat.com> * tree-diagnostic (struct loc_t): Rename into struct loc_map_pair. (maybe_unwind_expanded_macro_loc): Adjust. From-SVN: r181808
2011-11-29trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl if DECL_ONE_ONLY.David Edelsohn2-2/+9
2011-11-21 David Edelsohn <dje.gcc@gmail.com> Aldy Hernandez <aldyh@redhat.com> * trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl if DECL_ONE_ONLY. (ipa_tm_create_version): Same. Co-Authored-By: Aldy Hernandez <aldyh@redhat.com> From-SVN: r181807
2011-11-29haifa-sched.c (recompute_todo_spec): Simplify and correct the code checking ↵Bernd Schmidt2-26/+19
for a clobber of a condition register... * haifa-sched.c (recompute_todo_spec): Simplify and correct the code checking for a clobber of a condition register when deciding whether to predicate. From-SVN: r181806
2011-11-29Use complex floating-point constant in CDBL.Yufeng Zhang2-1/+7
2011-11-29 Yufeng Zhang <yufeng.zhang@arm.com> Use complex floating-point constant in CDBL. * gcc.dg/compat/compat-common.h (CDBL): Replace 1i with 1.0i. From-SVN: r181804
2011-11-29gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.Diego Novillo3-13/+38
* gimple.c (gimple_call_set_cannot_inline): Move from gimple.h. Update field call_stmt_cannot_inline_p from call graph edge, if needed. * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c. From-SVN: r181803
2011-11-29arm.md (arm_movdi): Update NEG_POOL_RANGE.Sameera Deshpande5-9/+19
* config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE. (movdf_soft_insn): Likewise. * config/arm/fpa.md (thumb2_movdf_fpa): Likewise. * config/arm/neon.md (neon_mov<mode>): Likewise. * config/arm/vfp.md (movdi_vfp): Likewise. (movdi_vfp_cortexa8): Likewise. (movdf_vfp): Likewise. From-SVN: r181802
2011-11-29re PR fortran/51306 (MOVE_ALLOC: Make more middle end friendlier)Tobias Burnus8-38/+236
2011-11-29 Tobias Burnus <burnus@net-b.de> PR fortran/51306 PR fortran/48700 * check.c (gfc_check_move_alloc): Make sure that from/to are both polymorphic or neither. * trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup, generate inline code. 2011-11-29 Tobias Burnus <burnus@net-b.de> PR fortran/51306 PR fortran/48700 * gfortran.dg/move_alloc_5.f90: Add dg-error. * gfortran.dg/select_type_23.f03: Add dg-error. * gfortran.dg/move_alloc_6.f90: New. * gfortran.dg/move_alloc_7.f90: New. From-SVN: r181801
2011-11-29re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)Jakub Jelinek2-1/+8
PR middle-end/50074 * expr.c (expand_expr_addr_expr_1): Don't call force_operand for EXPAND_SUM modifier. From-SVN: r181800
2011-11-29Implement predefined error interface.Ian Lance Taylor1-0/+12
From-SVN: r181798
2011-11-29re PR tree-optimization/51301 (Compiler ICE in vect_is_simple_use_1)Ira Rosen4-2/+33
PR tree-optimization/51301 * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check that the last statement doesn't convert to a bigger type than the original type of the computation. From-SVN: r181797
2011-11-28rs6000: Streamline boolval output for compare-and-swap.Richard Henderson2-13/+18
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Handle overlap between retval and oldval. Always compute boolval from CR0 EQ value. From-SVN: r181796
2011-11-28rs6000.c (rs6000_expand_atomic_compare_and_swap): Get new pseudo for target ↵Richard Henderson1-0/+6
after convert_modes. * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get new pseudo for target after convert_modes. (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise. From-SVN: r181795
2011-11-29Daily bump.GCC Administrator1-1/+1
From-SVN: r181793
2011-11-28cdce3.C: Use dg-additional-options.Uros Bizjak2-7/+11
* g++.dg/cdce3.C: Use dg-additional-options. From-SVN: r181789
2011-11-28re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)Jakub Jelinek2-1/+20
PR debug/50317 * tree-ssa.c (execute_update_addresses_taken): Remove var ={v} {CLOBBER} stmts instead of rewriting them into var_N ={v} {CLOBBER}. From-SVN: r181788