1. 22 Apr, 2013 21 commits
    • type_traits (is_signed): Simplify. · 6a4b1a00
      2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/type_traits (is_signed): Simplify.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
      	Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
      
      From-SVN: r198144
      Paolo Carlini committed
    • [Mid-end] Add TARGET_GIMPLE_FOLD_BUILTIN target hook. · ea679d55
      gcc/
      
      	* coretypes.h (gimple_stmt_iterator_d): Forward declare.
      	(gimple_stmt_iterator): New typedef.
      	* gimple.h (gimple_stmt_iterator): Rename to...
      	(gimple_stmt_iterator_d): ... This.
      	* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Detail restriction that
      	trees be valid for GIMPLE and GENERIC.
      	(TARGET_GIMPLE_FOLD_BUILTIN): New.
      	* gimple-fold.c (gimple_fold_call): Call target hook
      	gimple_fold_builtin.
      	* hooks.c (hook_bool_gsiptr_false): New.
      	* hooks.h (hook_bool_gsiptr_false): New.
      	* target.def (fold_stmt): New.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r198142
      James Greenhalgh committed
    • complex (complex<float>::real, [...]): Declare as const member functions. · 9191d7a8
      2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	N3669
      	* include/std/complex (complex<float>::real, complex<float>::imag,
      	complex<double>::real, complex<double>::imag,
      	complex<long double>::real, complex<long double>::imag): Declare
      	as const member functions.
      	* include/std/type_traits (integral_constant<>::operator value_type):
      	Likewise.
      
      From-SVN: r198141
      Paolo Carlini committed
    • re PR target/57018 (Miscompilation of bison 2.7.1 under "-Os -fomit-frame-pointer") · 88a581da
      2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/57018
      	* lra-eliminations.c (mark_not_eliminable): Prevent elimination of
      	a set sp if no stack realignment.
      
      2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/57018
      	* gcc.target/i386/pr57018.c: New test.
      
      From-SVN: r198140
      Vladimir Makarov committed
    • config.gcc (tilegx-linux): Extend extra_objs rather than overwriting it. · 92be22dc
      	* config.gcc (tilegx-linux): Extend extra_objs rather than
      	overwriting it.
      	(tilepro-linux): Likewise.
      
      From-SVN: r198138
      Nick Clifton committed
    • [AArch64] Map standard pattern names to NEON intrinsics directly. · 0ddec79f
      gcc/
      	* config/aarch64/aarch64-builtins.c
      	(CF): Remove.
      	(CF0, CF1, CF2, CF3, CF4, CF10): New.
      	(VAR<1-12>): Add MAP parameter.
      	(BUILTIN_*): Likewise.
      	* config/aarch64/aarch64-simd-builtins.def: Set MAP parameter.
      	* config/aarch64/aarch64-simd.md (aarch64_sshl_n<mode>): Remove.
      	(aarch64_ushl_n<mode>): Likewise.
      	(aarch64_sshr_n<mode>): Likewise.
      	(aarch64_ushr_n<mode>): Likewise.
      	(aarch64_<maxmin><mode>): Likewise.
      	(aarch64_sqrt<mode>): Likewise.
      	* config/aarch64/arm_neon.h (vshl<q>_n_*): Use new builtin names.
      	(vshr<q>_n_*): Likewise.
      
      From-SVN: r198137
      James Greenhalgh committed
    • [AArch64] Support vrecp<esx> neon intrinsics in RTL. · 0050faf8
      gcc/
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_simd_builtin_type_mode): Handle SF types.
      	(sf_UP): Define.
      	(BUILTIN_GPF): Define.
      	(aarch64_init_simd_builtins): Handle SF types.
      	* config/aarch64/aarch64-simd-builtins.def (frecpe): Add support.
      	(frecps): Likewise.
      	(frecpx): Likewise.
      	* config/aarch64/aarch64-simd.md
      	(simd_types): Update simd_frcp<esx> to simd_frecp<esx>.
      	(aarch64_frecpe<mode>): New.
      	(aarch64_frecps<mode>): Likewise.
      	* config/aarch64/aarch64.md (unspec): Add UNSPEC_FRECP<ESX>.
      	(v8type): Add frecp<esx>.
      	(aarch64_frecp<FRECP:frecp_suffix><mode>): New.
      	(aarch64_frecps<mode>): Likewise.
      	* config/aarch64/iterators.md (FRECP): New.
      	(frecp_suffix): Likewise.
      	* config/aarch64/arm_neon.h
      	(vrecp<esx><qsd>_<fd><32, 64>): Convert to using builtins.
      
      gcc/testsuite/
      	* gcc.target/aarch64/vrecps.c: New.
      	* gcc.target/aarch64/vrecpx.c: Likewise.
      
      From-SVN: r198136
      James Greenhalgh committed
    • exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement if ignored. · ee40cdc0
      2013-04-22  Yannick Moy  <moy@adacore.com>
      
      	* exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as
      	null statement if ignored.
      	* sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored.
      	* sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas.
      
      From-SVN: r198135
      Yannick Moy committed
    • [multiple changes] · 807b4ca2
      2013-04-22  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Contract_Case): New routine.
      	(Analyze_Pragma): Aspect/pragma Contract_Cases can
      	now be associated with a library level subprogram.
      	Add circuitry to detect illegal uses of aspect/pragma Contract_Cases
      	in a subprogram body.
      	(Chain_Contract_Cases): Rename formal parameter Subp_Decl to
      	Subp_Id. Remove local constant Subp. The entity of the subprogram
      	is now obtained via the formal paramter.
      
      2013-04-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): Do not set
      	Is_Constr_Subt_For_Unc_Aliased on the subtype of the expression,
      	if the expression is a source entity.
      
      From-SVN: r198134
      Arnaud Charlet committed
    • [multiple changes] · b2c3b537
      2013-04-22  Yannick Moy  <moy@adacore.com>
      
      	* exp_prag.adb, sinfo.ads, sem_prag.ads: Minor correction of typos in
      	comments.
      	* sem_ch6.adb (Expand_Contract_Cases): Add location to message.
      
      2013-04-22  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_prag.adb (Fix_Error): For a pragma rewritten from another
      	pragma, fix up error message to include original pragma name.
      	* par_sco.adb: Minor reformatting.
      
      From-SVN: r198133
      Arnaud Charlet committed
    • sem_prag.adb, [...]: Minor reformatting. · 1a83142e
      2013-04-22  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, exp_ch6.adb,
      	sem_ch6.adb, opt.ads: Minor reformatting.
      
      From-SVN: r198132
      Robert Dewar committed
    • exp_ch6.adb: Omit check for init proc. · 1de0ffec
      2013-04-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb: Omit check for init proc.
      
      From-SVN: r198131
      Ed Schonberg committed
    • [multiple changes] · f6820c2d
      2013-04-22  Pascal Obry  <obry@adacore.com>
      
      	* gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for
      	Library_Standalone and Library_Kind.
      
      2013-04-22  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Actuals): If the call is to an
      	inherited operation and the actual is a by-reference type with
      	predicates, add predicate call to post-call actions.
      	* sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding
      	error: a type declaration has a defining identifier, not an Etype.
      	* sem_res.adb: Restore code removed because of above error.
      
      2013-04-22  Doug Rupp  <rupp@adacore.com>
      
      	* init.c (__gnat_handle_vms_condition): Also match C$_SIGINT.
      
      From-SVN: r198130
      Arnaud Charlet committed
    • [multiple changes] · 16d3a853
      2013-04-22  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi, exp_util.adb, sem_prag.adb, sem_prag.ads, par-ch2.adb,
      	opt.ads, sem_ch13.adb: Minor correction of typos in comments/doc.
      
      2013-04-22  Vincent Celier  <celier@adacore.com>
      
      	* prj-nmsc.adb (Check_Library_Attributes): Set Library_Dir to
      	No_Path_Information only when Directories_Must_Exist_In_Projects
      	is False.
      	(Get_Directories): Set Object_Directory
      	or Exec_Directory to No_Path_Information only when
      	Directories_Must_Exist_In_Projects is False.
      
      From-SVN: r198129
      Arnaud Charlet committed
    • par-prag.adb, [...]: Remove all references to Pragma_Contract_Case and Name_Contract_Case. · ddb8a2c7
      2013-04-22  Yannick Moy  <moy@adacore.com>
      
      	* par-prag.adb, sem_attr.adb, sem_ch6.adb, sem_prag.adb, sem_warn.adb,
      	snames.ads-tmpl, sinfo.ads, sem_util.ads: Remove all references to
      	Pragma_Contract_Case and Name_Contract_Case.
      
      From-SVN: r198128
      Yannick Moy committed
    • aspects.ads, [...]: Removal of references to Contract_Case. · 541fb4d9
      2013-04-22  Yannick Moy  <moy@adacore.com>
      
      	* aspects.ads, aspects.adb, sem_ch13.adb: Removal of references to
      	Contract_Case.
      	* gnat_ugn.texi, gnat_rm.texi Description of Contract_Case replaced by
      	description of Contract_Cases.
      
      From-SVN: r198127
      Yannick Moy committed
    • re PR libstdc++/57010 ([c++0x] priority_queue<>::pop() calls self-move-assignment operator) · 177d2b74
      2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/57010
      	* include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
      	* testsuite/25_algorithms/pop_heap/57010.cc: New.
      
      From-SVN: r198125
      Paolo Carlini committed
    • fix date · 0fad3dbc
      From-SVN: r198124
      Christian Bruel committed
    • re PR target/56995 (sh4 -mfmovd: ICE in find_costs_and_classes) · 1818d01c
      2013-04-18  Christian Bruel  <christian.bruel@st.com>
      
             PR target/56995
             * config/sh/sh.h (enum reg_class): Remove DF_HI_REGS.
             (REG_CLASS_NAMES): Idem.
             (REG_CLASS_CONTENTS): Idem.
             (REGCLASS_HAS_FP_REG): Idem.
             * config/sh/sh.c (sh_cannot_change_mode_class): Idem.
             (sh_conditional_register_usage): Idem.
      
      From-SVN: r198123
      Christian Bruel committed
    • tree-ssa-forwprop.c (simplify_conversion_from_bitmask): New function. · 3e8a33f9
      	* tree-ssa-forwprop.c (simplify_conversion_from_bitmask): New function.
      	(ssa_forward_propagate_and_combine): Use it.
      
      	* gcc.dg/tree-ssa/forwprop-26.c: New test.
      
      From-SVN: r198121
      Jeff Law committed
    • Daily bump. · 27747ea5
      From-SVN: r198120
      GCC Administrator committed
  2. 21 Apr, 2013 2 commits
  3. 20 Apr, 2013 3 commits
  4. 19 Apr, 2013 14 commits
    • lra.c: Update the flow chart diagram. · f38e1b0a
      2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>
      
      	* lra.c: Update the flow chart diagram.
      
      From-SVN: r198102
      Vladimir Makarov committed
    • re PR rtl-optimization/56847 ('-fpie' triggers - internal compiler error: in… · 682303da
      re PR rtl-optimization/56847 ('-fpie' triggers - internal compiler error: in gen_add2_insn, at optabs.c:4705)
      
      2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/56847
      	* lra-constraints.c (process_alt_operands): Discourage alternative
      	with non-matche doffsettable memory constraint fro memory with
      	known offset.
      
      From-SVN: r198101
      Vladimir Makarov committed
    • N3638 changes to return type deduction · 79d8a272
      	* decl.c (undeduced_auto_decl): New.
      	(require_deduced_type): New.
      	(fndecl_declared_return_type): New.
      	(decls_match): Use it.
      	(duplicate_decls): Don't check for auto return.
      	(grokdeclarator): Reject virtual auto.
      	* class.c (resolve_address_of_overloaded_function): Handle
      	auto function templates.
      	* decl2.c (mark_used): Use undeduced_auto_decl, require_deduced_type.
      	* cp-tree.h: Declare new fns.
      	* error.c (dump_function_decl): Use fndecl_declared_return_type.
      	* search.c (check_final_overrider): Likewise.
      	* pt.c (make_decltype_auto): New.
      	(do_auto_deduction): Require plain decltype(auto).
      	(is_auto): Adjust.
      
      From-SVN: r198099
      Jason Merrill committed
    • DR 941 · 86c0810c
      	DR 941
      	* decl.c (duplicate_decls): Don't propagate DECL_DELETED_FN to
      	template specializations.
      
      From-SVN: r198098
      Jason Merrill committed
    • re PR tree-optimization/56982 (Bad optimization with setjmp()) · f6b64c35
      2013-04-19  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/56982
      	* builtins.def (BUILT_IN_LONGJMP): longjmp is not a leaf
      	function.
      	* gimplify.c (gimplify_call_expr): Notice special calls.
      	(gimplify_modify_expr): Likewise.
      	* tree-cfg.c (make_abnormal_goto_edges): Handle setjmp-like
      	abnormal control flow receivers.
      	(call_can_make_abnormal_goto): Handle cfun->calls_setjmp
      	in the same way as cfun->has_nonlocal_labels.
      	(gimple_purge_dead_abnormal_call_edges): Likewise.
      	(stmt_starts_bb_p): Make setjmp-like abnormal control flow
      	receivers start a basic-block.
      
      	* gcc.c-torture/execute/pr56982.c: New testcase.
      
      From-SVN: r198096
      Richard Biener committed
    • re PR tree-optimization/56270 (loop over array of struct float causes compiler… · 01d8bf07
      re PR tree-optimization/56270 (loop over array of struct float causes compiler error: segmentation fault)
      
      2013-04-19  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (struct _slp_instance): Move load_permutation
      	member ...
      	(struct _slp_tree): ... here.  Make it a vector of unsigned ints.
      	(SLP_INSTANCE_LOAD_PERMUTATION): Remove.
      	(SLP_TREE_LOAD_PERMUTATION): Add.
      	(vect_transform_slp_perm_load): Adjust prototype.
      	* tree-vect-slp.c (vect_free_slp_tree): Adjust.
      	(vect_free_slp_instance): Likewise.
      	(vect_create_new_slp_node): Likewise.
      	(vect_supported_slp_permutation_p): Remove.
      	(vect_slp_rearrange_stmts): Adjust.
      	(vect_supported_load_permutation_p): Likewise.  Inline
      	vect_supported_slp_permutation_p here.
      	(vect_analyze_slp_instance): Compute load permutations per
      	slp node instead of per instance.
      	(vect_get_slp_defs): Adjust.
      	(vect_transform_slp_perm_load): Likewise.
      	(vect_schedule_slp_instance): Remove redundant code.
      	(vect_schedule_slp): Remove hack for PR56270, add it ...
      	* tree-vect-stmts.c (vectorizable_load): ... here, do not
      	CSE loads for SLP.  Adjust.
      
      From-SVN: r198095
      Richard Biener committed
    • arm.c (load_multiple_sequence, [...]): Fix spelling in two comments. · ede22fc3
      2013-04-19  Greta Yorsh  <Greta.Yorsh@arm.com>
      
      	* config/arm/arm.c (load_multiple_sequence, ldm_stm_operation_p): Fix
      	spelling in two comments.
      
      From-SVN: r198093
      Greta Yorsh committed
    • re PR target/56797 (internal compiler error: in extract_insn, at recog.c:2150) · 67bc84fb
      2013-04-19  Greta Yorsh  <Greta.Yorsh@arm.com>
      
      	PR target/56797
      	* config/arm/arm.c (load_multiple_sequence): Require SP
      	as base register for loads if SP is in the register list.
      
      From-SVN: r198091
      Greta Yorsh committed
    • sfp-machine.h (_FP_W_TYPE): Change to define as 'unsigned long long' instead of 'unsigned long'. · dfe192f5
      libgcc/
      
      	* config/aarch64/sfp-machine.h (_FP_W_TYPE): Change to define
      	as 'unsigned long long' instead of 'unsigned long'.
      	(_FP_WS_TYPE): Change to define as 'signed long long' instead of
      	'signed long'.
      
      From-SVN: r198090
      Yufeng Zhang committed
    • re PR tree-optimization/56718 (Early inlining prevents type based devirtualization) · e248d83f
      2013-04-19  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/56718
      	* ipa-cp.c (ipa_value_from_known_type_jfunc): Moved...
      	* ipa-prop.c (ipa_binfo_from_known_type_jfunc): ...here, renamed
      	and made public.  Adjusted all callers.
      	(ipa_intraprocedural_devirtualization): New function.
      	* ipa-prop.h (ipa_binfo_from_known_type_jfunc): Declare.
      	(ipa_intraprocedural_devirtualization): Likewise.
      	* Makefile.in (tree-ssa-pre.o): Add ipa-prop.h to dependencies.
      
      testsuite/
      	* g++.dg/ipa/imm-devirt-1.C: New test.
      	* g++.dg/ipa/imm-devirt-2.C: Likewise.
      
      From-SVN: r198088
      Martin Jambor committed
    • re PR tree-optimization/57000 (ICE with -Ofast and -frounding-math) · 4891e8f8
      2013-04-19  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/57000
      	* tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
      
      	* gcc.dg/tree-ssa/reassoc-27.c: New testcase.
      
      From-SVN: r198087
      Richard Biener committed
    • re PR fortran/56872 (Incorrect SUM evaluation, involving implied-do loop, with -ffrontend-optimize) · b91a551f
      2013-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	    Mikael Morin  <mikael@gcc.gnu.org>
      
      	PR fortran/56872
      	* frontend-passes.c (copy_walk_reduction_arg): Change argument type
      	to gfc_constructor.  If it has an iterator, wrap the copy of its
      	expression in an array constructor with that iterator.  Don't special
      	case function expressions.
      	(callback_reduction): Update caller.  Don't return early if there is
      	an iterator.
      
      2013-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	    Mikael Morin  <mikael@gcc.gnu.org>
      
      	PR fortran/56872
      	* gfortran.dg/array_constructor_45.f90:  New test.
      	* gfortran.dg/array_constructor_46.f90:  New test.
      	* gfortran.dg/array_constructor_47.f90:  New test.
      	* gfortran.dg/array_constructor_40.f90:  Adjust number of
      	while loops.
      
      
      Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
      
      From-SVN: r198086
      Thomas Koenig committed
    • cortex-m4-fpu.md (cortex_m4_v): Delete cpu unit. · dad89f7c
      	* config/arm/cortex-m4-fpu.md (cortex_m4_v): Delete cpu unit.
      	Replace with ...
      	(cortex_m4_v_a,  cortex_m4_v_b): ... new cpu units.
      	(cortex_m4_v, cortex_m4_exa_va, cortex_m4_exb_vb): New reservations.
      	(cortex_m4_fmacs): Use new reservations.
      	(cortex_m4_f_load, cortex_m4_f_store): Likewise.
      
      From-SVN: r198084
      Terry Guo committed
    • Fixing PR number in Changelogs · f1e6512c
      From-SVN: r198083
      Vladimir Makarov committed