aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-03re PR tree-optimization/63666 (FAIL: gcc.dg/vect/pr45752.c (internal ↵Marc Glisse2-10/+29
compiler error)) 2014-11-03 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/63666 * fold-const.c: Include "optabs.h". (fold_ternary_loc) <VEC_PERM_EXPR>: Avoid canonicalizing a can_vec_perm_p permutation to one that is not. From-SVN: r217033
2014-11-03x86: extend vect-args testcase to AVX flavorsJan Beulich3-2/+39
gcc/testsuite: 2014-11-03 Jan Beulich <jbeulich@suse.com> * gcc.target/i386/i386.exp: Extend option set to test vect-args.c with to include -mavx, -mavx2, and -mavx512f. * gcc.target/i386/vect-args.c: Add AVX* modes and tests. From-SVN: r217032
2014-11-0320010129-1.c: Compile with -mtune=i686 for ia32 targets only.Uros Bizjak5-5/+12
* gcc.c-torture/execute/20010129-1.c: Compile with -mtune=i686 for ia32 targets only. * g++.dg/ext/attrib42.C: Compile for ia32 targets only. * g++.dg/tree-ssa/pr29902.C: Ditto. * g++.dg/cpp0x/gen-attrs-42.C: Ditto. From-SVN: r217030
2014-11-03ifcvt.c (noce_try_store_flag_mask): Check rtx cost.Zhenqiang Chen4-0/+32
ChangeLog: 2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com> * ifcvt.c (noce_try_store_flag_mask): Check rtx cost. testsuite/ChangeLog: 2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com> * gcc.target/arm/ifcvt-size-check.c: New test. From-SVN: r217029
2014-11-03[multiple changes]Naveen H.S9-20/+201
2014-10-31 Andrew Pinski <apinski@cavium.com> * config/mips/mips-cpus.def (octeon3): New cpu. * config/mips/mips.c (mips_rtx_cost_data): Add octeon3. (mips_print_operand <case 'T', case 't'>): Fix a bug as the mode of the comparison no longer matches mode of the operands. (mips_issue_rate): Handle PROCESSOR_OCTEON3. * config/mips/mips.h (TARGET_OCTEON): Add Octeon3. (TARGET_OCTEON2): Likewise. (TUNE_OCTEON): Add Octeon3. * config/mips/mips.md (processor): Add octeon3. * config/mips/octeon.md (octeon_fpu): New automaton and cpu_unit. (octeon_arith): Add octeon3. (octeon_condmove): Remove. (octeon_condmove_o1): New reservation. (octeon_condmove_o2): New reservation. (octeon_condmove_o3_int_on_cc): New reservation. (octeon_load_o2): Add octeon3. (octeon_cop_o2): Likewise. (octeon_store): Likewise. (octeon_brj_o2): Likewise. (octeon_imul3_o2): Likewise. (octeon_imul_o2): Likewise. (octeon_mfhilo_o2): Likewise. (octeon_imadd_o2): Likewise. (octeon_idiv_o2_si): Likewise. (octeon_idiv_o2_di): Likewise. (octeon_fpu): Add to the automaton. (octeon_fpu): New cpu unit. (octeon_condmove_o2): Check for non floating point modes. (octeon_load_o2): Add prefetchx. (octeon_cop_o2): Don't check for octeon3. (octeon3_faddsubcvt): New reservation. (octeon3_fmul): Likewise. (octeon3_fmadd): Likewise. (octeon3_div_sf): Likewise. (octeon3_div_df): Likewise. (octeon3_sqrt_sf): Likewise. (octeon3_sqrt_df): Likewise. (octeon3_rsqrt_sf): Likewise. (octeon3_rsqrt_df): Likewise. (octeon3_fabsnegmov): Likewise. (octeon_fcond): Likewise. (octeon_fcondmov): Likewise. (octeon_fpmtc1): Likewise. (octeon_fpmfc1): Likewise. (octeon_fpload): Likewise. (octeon_fpstore): Likewise. * config/mips/mips-tables.opt: Regenerate. * doc/invoke.texi (-march=@var{arch}): Add octeon3. 2014-10-31 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * gcc.target/mips/octeon3-pipe-1.c: New test. From-SVN: r217028
2014-11-03ifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4.Zhenqiang Chen2-4/+25
2014-11-03 Zhenqiang Chen <zhenqiang.chen@arm.com> * ifcvt.c (noce_emit_cmove, noce_get_alt_condition, noce_get_condition): Allow CC mode if HAVE_cbranchcc4. From-SVN: r217026
2014-11-03Check number of arguments in bind expressions.Jonathan Wakely3-4/+35
* include/std/functional (_Mem_fn_traits_base::__arity): New typedef. (_Mem_fn_base::_Arity): New typedef. (_Bind_check_arity): New class template. (_Bind_helper, _Bindres_helper, _Bind_simple_helper): Check arity. * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error. From-SVN: r217025
2014-11-03Add support for ref-qualified functions to std::mem_fnJonathan Wakely3-284/+223
PR libstdc++/57898 * include/std/functional (_Mem_fn_traits_base): New class template. (_Mem_fn_traits): New class template with specializations for every combination of cv-qualified and ref-qualified member function. (_Mem_fn_base): New class template for all pointer to member function types and partial specialization for pointer to member object types. (_Mem_fn): Inherit from _Mem_fn_base. * testsuite/20_util/function_objects/mem_fn/refqual.cc: New. From-SVN: r217024
2014-11-03Daily bump.GCC Administrator1-1/+1
From-SVN: r217023
2014-11-02gen-attrs-42.C: Add x86_64-*-* target.Uros Bizjak10-9/+22
* g++.dg/cpp0x/gen-attrs-42.C: Add x86_64-*-* target. * g++.dg/ext/attrib42.C: Ditto. * g++.dg/torture/pr51344.C: Ditto. * g++.dg/tree-ssa/pr29902.C: Ditto. * gcc.c-torture/execute/20010129-1.c: Ditto. * gcc.dg/combine_ashiftrt_2.c: Ditto. * gcc.dg/march-generic.c: Ditto. * gcc.dg/torture/pr17526.c: Ditto. * gcc.dg/union-4.c: Ditto. From-SVN: r217020
2014-11-02arc.c (write_ext_corereg_1): Delete.Richard Sandiford2-22/+23
gcc/ * config/arc/arc.c (write_ext_corereg_1): Delete. (arc_write_ext_corereg): Use FOR_EACH_SUBRTX. From-SVN: r217019
2014-11-02arc.c (arc600_corereg_hazard_1): Delete.Richard Sandiford2-34/+30
gcc/ * config/arc/arc.c (arc600_corereg_hazard_1): Delete. (arc600_corereg_hazard): Use FOR_EACH_SUBRTX. From-SVN: r217018
2014-11-02arc.c (arc_rewrite_small_data_p): Constify argument.Richard Sandiford2-15/+20
gcc/ * config/arc/arc.c (arc_rewrite_small_data_p): Constify argument. (small_data_pattern_1): Delete. (small_data_pattern): Use FOR_EACH_SUBRTX. From-SVN: r217017
2014-11-02arc.c: Include rtl-iter.h.Richard Sandiford2-33/+32
gcc/ * config/arc/arc.c: Include rtl-iter.h. (arc_rewrite_small_data_1): Delete. (arc_rewrite_small_data): Use FOR_EACH_SUBRTX_PTR. From-SVN: r217016
2014-11-02re PR target/24188 (WRITE(6,*) causes an ICE with -mcmodel=medium)Uros Bizjak78-159/+204
* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target. * g++.dg/abi/no-weak1.C: Ditto. * g++.dg/opt/pr44919.C: Ditto. * g++.dg/opt/pr46640.C: Ditto. * g++.dg/opt/pr46649.C: Ditto. * g++.dg/opt/pr47036.C: Ditto. * g++.dg/opt/pr48273.C: Ditto. * g++.dg/opt/pr48302.C: Ditto. * g++.dg/opt/pr45788.C: Ditto. * g++.dg/opt/pr57662.C: Ditto. * gcc.dg/20031102-1.c: Ditto. * gcc.dg/builtin-bswap-7.c: Ditto. * gcc.dg/builtin-bswap-7a.c: Ditto. * gcc.dg/builtin-bswap-9.c: Ditto. * gcc.dg/combine_ashiftrt_1.c: Ditto. * gcc.dg/guality/bswaptest.c: Ditto. * gcc.dg/guality/clztest.c: Ditto. * gcc.dg/guality/ctztest.c: Ditto. * gcc.dg/guality/pr45003-1.c: Ditto. * gcc.dg/guality/pr45003-2.c: Ditto. * gcc.dg/guality/pr45003-3.c: Ditto. * gcc.dg/guality/pr58791-4.c: Ditto. * gcc.dg/guality/rotatetest.c:Ditto. * gcc.dg/ifcvt-fabs-1.c: Ditto. * gcc.dg/ira-loop-pressure.c: Ditto. * gcc.dg/ira-shrinkwrap-prep-1.c: Ditto. * gcc.dg/ira-shrinkwrap-prep-2.c: Ditto. * gcc.dg/lto/pr47259_0.c: Ditto. * gcc.dg/memcpy-5.c: Ditto. * gcc.dg/pr10474.c: Ditto. * gcc.dg/pr37438.c: Ditto. * gcc.dg/pr39453.c: Ditto. * gcc.dg/pr40501.c: Ditto. * gcc.dg/pr42245-2.c: Ditto. * gcc.dg/pr42245.c: Ditto. * gcc.dg/pr42246.c: Ditto. * gcc.dg/pr42249.c: Ditto. * gcc.dg/pr42388.c: Ditto. * gcc.dg/pr42389.c: Ditto. * gcc.dg/pr45352-1.c: Ditto. * gcc.dg/pr45352-2.c: Ditto. * gcc.dg/pr45352-3.c: Ditto. * gcc.dg/pr45352.c: Ditto. * gcc.dg/pr45472.c: Ditto. * gcc.dg/pr45652.c: Ditto. * gcc.dg/pr46212.c: Ditto. * gcc.dg/pr46521.c: Ditto. * gcc.dg/pr46522.c: Ditto. * gcc.dg/pr46875.c: Ditto. * gcc.dg/pr48374.c: Ditto. * gcc.dg/pr50251.c: Ditto. * gcc.dg/pr54472.c: Ditto. * gcc.dg/pr55702.c: Ditto. * gcc.dg/pr56990.c: Ditto. * gcc.dg/pr57104.c: Ditto. * gcc.dg/pr57662.c: Ditto. * gcc.dg/pr60866.c: Ditto. * gcc.dg/shrink-wrap-loop.c: Ditto. * gcc.dg/tm/memopt-15.c: Ditto. * gcc.dg/torture/pr52720.c: Ditto. * gcc.dg/torture/pr56778.c: Ditto. * gcc.dg/tree-prof/pr45354.c: Ditto. * gcc.dg/tree-prof/pr50907.c: Ditto. * gcc.dg/tree-ssa/loop-16.c: Ditto. * gcc.dg/tree-ssa/loop-18.c: Ditto. * gcc.dg/tree-ssa/pr44423.c: Ditto. * gcc.dg/misc-tests/godump-1.c: Ditto. * gfortran.dg/PR24188.f: Ditto. * gfortran.dg/errnocheck_1.f90: Ditto. * gfortran.dg/g77/20010216-1.f: Ditto. * gfortran.dg/pr42246-2.f: Ditto. * gfortran.dg/pr42294.f: Ditto. * gfortran.dg/pr44691.f: Ditto. * gfortran.dg/vect/pr45714-a.f: Ditto. * gcc.c-torture/execute/ieee/ieee.exp: Ditto. * gcc.misc-tests/linkage.exp: Ditto. * lib/target-supports.exp: Reformat x86 tagets. (check_effective_target_whole_vector_shift): Add i?86-*-* target. From-SVN: r217015
2014-11-02[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modesMichael Collison2-3/+10
2014-11-02 Michael Collison <michael.collison@linaro.org> * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update to support vector modes. (CTZ_DEFINED_VALUE_AT_ZERO): Ditto. From-SVN: r217014
2014-11-02re PR c++/57694 ([c++11] constexpr constructor does not work with const ↵Paolo Carlini2-0/+34
address of own member) 2014-11-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/57694 * g++.dg/cpp0x/constexpr-ctor15.C: New. From-SVN: r217013
2014-11-02feat-cxx11.C: Commentary and rearrangement of tests.Edward Smith-Rowland8-34/+77
testsuite/ 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net> * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests. * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test. Commentary and rearrangement of tests. * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test. Commentary and rearrangement of tests. * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto * g++.dg/cpp1y/feat-cxx98.C: Commentary. c-family/ 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net> * c-cppbuiltin.c: Define __cpp_aggregate_nsdmi. From-SVN: r217012
2014-11-02Daily bump.GCC Administrator1-1/+1
From-SVN: r217010
2014-11-012014-11-01 Andrew MacLeod <amacleod@redhat,com>Andrew MacLeod83-383/+542
* optabs.h: Flatten insn-codes.h to source files. Move some prototypes and structs to genopinit.c. Adjust protyoptypes to match optabs.c. * genopinit.c (main): Emit prototypes and structs into insn-opinit.h. * optabs.c: (gen_move_insn): Move to expr.c. * expr.h: Move protypes and enums to optabs.h. * expr.c: (gen_move_insn): Relocate from optabs.c. * genemit.c (main): Include insn-codes.h. * gengtype.c (open_base_files): Include insn-codes.h. * asan.c: Include insn-codes.h. * bb-reorder.c: Ditto. * builtins.c: Ditto. * calls.c: Ditto. * cfgexpand.c: Ditto. * cilk-common.c: Ditto. * combine.c: Ditto. * dojump.c: Ditto. * dse.c: Ditto. * except.c: Ditto. * explow.c: Ditto. * expmed.c: Ditto. * function.c: Ditto. * ifcvt.c: Ditto. * internal-fn.c: Ditto. * loop-unroll.c: Ditto. * lra.c: Ditto. * modulo-sched.c: Ditto. * omp-low.c: Ditto. * postreload.c: Ditto. * ree.c: Ditto. * reload.c: Ditto. * reload1.c: Ditto. * shrink-wrap.c: Ditto. * simplify-rtx.c: Ditto. * stmt.c: Ditto. * target-globals.c: Ditto. * targhooks.c: Ditto. * toplev.c: Ditto. * tree-if-conv.c: Ditto. * tree-ssa-forwprop.c: Ditto. * tree-ssa-loop-prefetch.c: Ditto. * tree-ssa-math-opts.c: Ditto. * tree-ssa-phiopt.c: Ditto. * tree-ssa-reassoc.c: Ditto. * tree-switch-conversion.c: Ditto. * tree-vect-data-refs.c: Ditto. * tree-vect-generic.c: Ditto. * tree-vect-loop.c: Ditto. * tree-vect-patterns.c: Ditto. * tree-vect-slp.c: Ditto. * tree-vect-stmts.c: Ditto. * tree-vrp.c: Ditto. * value-prof.c: Ditto. * config/aarch64/aarch64-builtins.c: Ditto. * config/alpha/alpha.c: Ditto. * config/arm/arm.c: Ditto. * config/cris/cris.c: Ditto. * config/epiphany/epiphany.c: Ditto. * config/frv/frv.c: Ditto. * config/h8300/h8300.c: Ditto. * config/ia64/ia64.c: Ditto. * config/iq2000/iq2000.c: Ditto. * config/m32c/m32c.c: Ditto. * config/mep/mep.c: Ditto. * config/microblaze/microblaze.c: Ditto. * config/mips/mips.c: Ditto. * config/mn10300/mn10300.c: Ditto. * config/moxie/moxie.c: Ditto. * config/msp430/msp430.c: Ditto. * config/nios2/nios2.c: Ditto. * config/pa/pa.c: Ditto. * config/rl78/rl78.c: Ditto. * config/rs6000/rs6000.c: Ditto. * config/rx/rx.c: Ditto. * config/s390/s390.c: Ditto. * config/sh/sh.c: Ditto. * config/sh/sh_treg_combine.cc: Ditto. * config/spu/spu.c: Ditto. * config/stormy16/stormy16.c: Ditto. * config/tilegx/mul-tables.c: Ditto. * config/tilegx/tilegx.c: Ditto. * config/tilepro/mul-tables.c: Ditto. * config/tilepro/tilepro.c: Ditto. * config/vax/vax.c: Ditto. From-SVN: r217005
2014-11-01[Patch 7/7] Remove *_BY_PIECES_PJames Greenhalgh5-133/+47
gcc/ * doc/tm.texi.in (MOVE_BY_PIECES_P): Remove. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (STORE_BY_PIECES_P): Likewise. * doc/tm.texi: Regenerate. * system.h: Poison MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P, STORE_BY_PIECES_P. * expr.c (MOVE_BY_PIECES_P): Remove. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (STORE_BY_PIECES_P): Likewise. (can_move_by_pieces): Rewrite in terms of targetm.use_by_pieces_infrastructure_p. (emit_block_move_hints): Likewise. (can_store_by_pieces): Likewise. (store_by_pieces): Likewise. (clear_storage_hints): Likewise. (emit_push_insn): Likewise. (expand_constructor): Likewise. From-SVN: r217004
2014-11-01[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-6/+27
gcc/ * config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructre_p): New. (TARGET_USE_BY_PIECES_INFRASTRUCTURE): Likewise. * config/aarch64/aarch64.h (STORE_BY_PIECES_P): Delete. From-SVN: r217003
2014-11-01[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-14/+26
gcc/ * config/mips/mips.h (MOVE_BY_PIECES_P): Remove. (STORE_BY_PIECES_P): Likewise. * config/mips/mips.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New. (mips_move_by_pieces_p): Rename to... (mips_use_by_pieces_infrastructure_p): ...this, use new hook parameters, use the default hook implementation as a fall-back. From-SVN: r217002
2014-11-01[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-10/+39
gcc/ * config/sh/sh.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New. (sh_use_by_pieces_infrastructure_p): Likewise. * config/sh/sh.h (MOVE_BY_PIECES_P): Remove. (STORE_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. From-SVN: r217001
2014-11-01[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-6/+31
gcc/ * config/arc/arc.c (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): New. (arc_use_by_pieces_infrastructure_p): Likewise. * confir/arc/arc.h (MOVE_BY_PIECES_P): Delete. (CAN_MOVE_BY_PIECES): Likewise. From-SVN: r216999
2014-11-01[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized versionJames Greenhalgh3-18/+25
gcc/ * config/s390/s390.c (s390_use_by_pieces_infrastructure_p): New. (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Likewise. * config/s390/s390.h (MOVE_BY_PIECES_P): Remove. (CLEAR_BY_PIECES): Likewise. (SET_BY_PIECES): Likewise. (STORE_BY_PIECES): Likewise. From-SVN: r216998
2014-11-01[Patch 1/7] Hookize *_BY_PIECES_PJames Greenhalgh9-15/+207
gcc/ * target.def (use_by_pieces_infrastructure_p): New. * doc/tm.texi.in (MOVE_BY_PIECES_P): Describe that this macro is deprecated. (STORE_BY_PIECES_P): Likewise. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (TARGET_MOVE_BY_PIECES_PROFITABLE_P): Add hook. * doc/tm.texi: Regenerate. * expr.c (MOVE_BY_PIECES_P): Rewrite in terms of TARGET_USE_BY_PIECES_INFRASTRUCTURE_P. (STORE_BY_PIECES_P): Likewise. (CLEAR_BY_PIECES_P): Likewise. (SET_BY_PIECES_P): Likewise. (STORE_MAX_PIECES): Move to... * defaults.h (STORE_MAX_PIECES): ...here. * targhooks.c (get_move_ratio): New. (default_use_by_pieces_infrastructure_p): Likewise. * targhooks.h (default_use_by_pieces_infrastructure_p): New. * target.h (by_pieces_operation): New. From-SVN: r216996
2014-11-01Daily bump.GCC Administrator1-1/+1
From-SVN: r216994
2014-10-31re PR target/63702 (i386.c:36276: possible missing break ?)Uros Bizjak2-1/+6
PR target/63702 * config/i386/i386.c (ix86_expand_args_builtin): Remove extra assignment to 'nargs' variable. From-SVN: r216991
2014-10-31re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)Uros Bizjak4-5/+12
PR target/63620 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare. * config/i386/i386.c (ix86_use_pseudo_pic_reg): Export. * config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't be reloaded through memory. (*pushxf): Ditto. (*pushdf): Ditto. From-SVN: r216990
2014-10-31Make std::vector<bool> meet C++11 allocator requirements.Jonathan Wakely11-53/+650
* include/bits/stl_bvector.h (_Bvector_base): Use allocator_traits. (_Bvector_base::_Bvector_impl): Use allocator's pointer type. (_Bvector_base::_M_end_addr()): Convert to raw pointer. (vector<bool>): Use allocator_traits and _M_end_addr. Add allocator extended constructors. * include/bits/vector.tcc (vector<bool>): Use allocator_traits and _M_end_addr. * testsuite/23_containers/vector/bool/allocator/copy.cc: New. * testsuite/23_containers/vector/bool/allocator/minimal.cc: New. * testsuite/23_containers/vector/bool/allocator/noexcept.cc: New. * testsuite/23_containers/vector/bool/allocator/copy_assign.cc: New. * testsuite/23_containers/vector/bool/allocator/move.cc: New. * testsuite/23_containers/vector/bool/allocator/swap.cc: New. * testsuite/23_containers/vector/bool/allocator/ext_ptr.cc: New. * testsuite/23_containers/vector/bool/allocator/move_assign.cc: New. From-SVN: r216988
2014-10-31re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)Uros Bizjak2-3/+24
PR target/63620 * config/i386/i386.md (*pushtf): Allow only CONST_DOUBLES that won't be reloaded through memory. (*pushxf): Ditto. (*pushdf): Ditto. From-SVN: r216987
2014-10-31re PR rtl-optimization/63659 (wrong code at -O2 and -O3 on x86_64-linux-gnu)Jakub Jelinek4-4/+92
PR rtl-optimization/63659 * ree.c (update_reg_equal_equiv_notes): New function. (combine_set_extension, transform_ifelse): Use it. * gcc.c-torture/execute/pr63659.c: New test. From-SVN: r216985
2014-10-31contrib.texi: Add contribution notes for Balaji Iyer (Cilk+) and Jonny Grant ↵Jeff Law2-0/+11
(collect2). * doc/contrib.texi: Add contribution notes for Balaji Iyer (Cilk+) and Jonny Grant (collect2). From-SVN: r216984
2014-10-31builtins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P, ↵Richard Biener15-25/+47
CONVERT_EXPR_CODE_P and CASE_CONVERT where approprate. 2014-10-31 Richard Biener <rguenther@suse.de> * builtins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P, CONVERT_EXPR_CODE_P and CASE_CONVERT where approprate. (fold_builtin_expect): Likewise. (integer_valued_real_p): Likewise. * cfgexpand.c (expand_debug_expr): Likewise. * ipa-inline-analysis.c (eliminated_by_inlining_prob): Likewise. (find_foldable_builtin_expect): Likewise. * trans-mem.c (thread_private_new_memory): Likewise. * tree-affine.c (aff_combination_expand): Likewise. * tree-data-ref.c (initialize_matrix_A): Likewise. * tree-inline.c (copy_bb): Likewise. * tree-pretty-print.c (dump_function_name): Likewise. (print_call_name): Likewise. * tree-ssa-forwprop.c (constant_pointer_difference): Likewise. * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise. * tree-vect-generic.c (expand_vector_operations_1): Likewise. * tree-vect-patterns.c (vect_handle_widen_op_by_const): Likewise. (vect_recog_widen_mult_pattern): Likewise. (vect_operation_fits_smaller_type): Likewise. * tree-vrp.c (find_assert_locations_1): Likewise. * tree-ssa-dom.c (initialize_hash_element): Canonicalize converts to NOP_EXPR. From-SVN: r216982
2014-10-312014-10-31 Hristian Kirtchev <kirtchev@adacore.com>Arnaud Charlet27-505/+1873
* aspects.adb Add an entry for aspect Ghost in table Canonical_Aspect. * aspects.ads Add an entry for aspect Ghost in tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names and Implementation_Defined_Aspect. * einfo.adb: Flags 277 and 278 are now in use. (Is_Checked_Ghost_Entity): New routine. (Is_Ghost_Entity): Removed. (Is_Ghost_Subprogram): Removed. (Is_Ignored_Ghost_Entity): New routine. (Set_Is_Checked_Ghost_Entity): New routine. (Set_Is_Ignored_Ghost_Entity): New routine. (Write_Entity_Flags): Output flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity. * einfo.ads: Add new flags Is_Checked_Ghost_Entity and Is_Ignored_Ghost_Entity along with usage in nodes. (Is_Checked_Ghost_Entity): New routine and pragma Inline. (Is_Ghost_Entity): Removed along with synthesized flag description and usage in nodes. (Is_Ghost_Subprogram): Removed along with synthesized flag description and usage in nodes. (Is_Ignored_Ghost_Entity): New routine and pragma Inline. (Set_Is_Checked_Ghost_Entity): New routine and pragma Inline. (Set_Is_Ignored_Ghost_Entity): New routine and pragma Inline. * freeze.adb (Freeze_Entity): A Ghost type cannot be effectively volatile. * par-prag.adb Pragma Ghost does not need special handling by the parser. * repinfo.adb (List_Mechanisms): Remove the entry for convention Ghost. * sem_attr.adb (Analyze_Access_Attribute): Remove obsolete check. * sem_ch3.adb (Analyze_Full_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Incomplete_Type_Decl): Mark the type as Ghost when its enclosing context is Ghost. (Analyze_Number_Declaration): Mark the number as Ghost when its enclosing context is Ghost. (Analyze_Object_Declaration): Mark the object as Ghost when its enclosing context is Ghost. Verify the Ghost policy between initial declaration and completion of a deferred constant. (Analyze_Object_Contract): A Ghost variable cannot be effectively volatile, imported or exported. (Build_Derived_Record_Type): Mark a type extension as Ghost when it implements a Ghost interface. (Build_Record_Type): Inherit volatility and "ghostness" from the parent type. (Check_Completion): A Ghost entity declared in a non-Ghost package does not require completion in a body. (Implements_Ghost_Interface): New routine. (Process_Full_View): Inherit "ghostness" from the partial view. Verify the Ghost policy between the partial and full views. Verify the completion of a Ghost type extension. * sem_ch4.adb (Check_Ghost_Subprogram_Call): Removed. * sem_ch5.adb (Analyze_Assignment): Analyze the left hand side first. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Mark the subprogram as Ghost when its enclosing context is Ghost. (Analyze_Generic_Subprogram_Body): Mark the generic body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Analyze_Subprogram_Body_Helper): Mark the body as Ghost when its enclosing context is Ghost. Verify the Ghost policy between the spec and body. (Check_Conformance): A Ghost subprogram profile and a non-Ghost subprogram profile are not subtype conformant. (Convention_Of): Removed. * sem_ch7.adb (Analyze_Package_Body_Helper): Inherit the "ghostness" from the spec. Verify the Ghost policy between the spec and body. (Analyze_Private_Type_Declaration): Mark the type as Ghost when its enclosing context is Ghost. (Requires_Completion_In_Body): New routine. (Unit_Requires_Body): Use Requires_Completion_In_Body. (Unit_Requires_Body_Info): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. Use Requires_Completion_In_Body. * sem_ch7.ads (Unit_Requires_Body): Rename formal parameter P to Pack_Id, update comment on usage and all uses of P in the body. * sem_ch8.adb (Analyze_Exception_Renaming): Inherit the "ghostness" from the renamed excention. (Analyze_Generic_Renaming): Inherit the "ghostness" from the renamed generic subprogram. (Analyze_Object_Renaming): Inherit the "ghostness" from the renamed object. (Analyze_Package_Renaming): Inherit the "ghostness" from the renamed package. (Analyze_Subprogram_Renaming): Inherit the "ghostness" from the renamed subprogram. * sem_ch11.adb (Analyze_Exception_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. * sem_ch12.adb (Analyze_Generic_Package_Declaration, Analyze_Generic_Subprogram_Declaration): Mark an exception as Ghost when its enclosing context is Ghost. (Preanalyze_Actuals): Remove obsolete check. * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for aspect Ghost. (Check_Aspect_At_Freeze_Point): Aspects Depends and Global do no need special checking at freeze point. (Insert_After_SPARK_Mode): Update comment on usage. * sem_mech.adb (Set_Mechanisms): Remove the entry for convention Ghost. * sem_prag.adb Add an entry for pragma Ghost in table Sig_Flags. (Analyze_Abstract_State): Update the grammar of the pragma. Add formal parameter Pack_Id along with comment on usage. Mark an abstract state as Ghost when its enclosing context is Ghost. Add processing for option Ghost. (Analyze_Constituent): Verify that a Ghost abstract state is refined by Ghost constituents. (Analyze_Pragma): "Ghost" is now a valid policy. Add checks related to the use and placement of Check_Policy Ghost. Add processing for pragma Ghost. (Check_Ghost_Constituent): New routine. (Is_Valid_Assertion_Kind): "Ghost" is now a valid assertion. (Process_Convention): Remove obsolete check. (Set_Convention_From_Pragma): Remove the processing for convention Ghost. * sem_res.adb (Check_Ghost_Context): New routine. (Resolve_Call): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. (Resolve_Entity_Name): Verify that a reference to a Ghost entity appears in a suitable context. Verify the Ghost polity between point of declaration and point of use. * sem_util.adb (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * sem_util.ads (Check_Ghost_Completion): New routine. (Check_Ghost_Derivation): New routine. (Incomplete_Or_Partial_View): New routine. (Incomplete_Or_Private_View): Removed. (Is_Ghost_Entity): New routine. (Is_Ghost_Statement_Or_Pragma): New routine. (Is_Subject_To_Ghost): New routine. (Policy_In_Effect): New routine. (Set_Is_Ghost_Entity): New routine. (Within_Ghost_Scope): New routine. * snames.adb-tmpl (Get_Convention_Id): Remove the entry for convention Ghost. (Get_Convention_Name): Remove the entry for convention Ghost. * snames.ads-tmpl Remove the convention id for Ghost. Add a pragma id for Ghost. 2014-10-31 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi: Add description of --RTS option for ASIS tools. From-SVN: r216981
2014-10-31Makefile.in (arm-vxworks): Update target pairs.Olivier Hainque2-1/+7
2014-10-31 Olivier Hainque <hainque@adacore.com> * gcc-interface/Makefile.in (arm-vxworks): Update target pairs. From-SVN: r216980
2014-10-31[multiple changes]Arnaud Charlet8-49/+131
2014-10-31 Vincent Celier <celier@adacore.com> * prj-part.adb (Parse_Single_Project): Call Set_Display_Name_Of. * prj-proc.adb (Recursive_Process): Call Display_Name_Of to get the project Display_Name. * prj-tree.adb (Display_Name_Of): New function (Set_Display_Name_Of): New procedure. (Create_Project): Call Set_Display_Name_Of. * prj-tree.ads (Display_Name_Of): New function. (Set_Display_Name_Of): New procedure. (Project_Node_Record): New component Display_Name. (Project_Name_And_Node): Remove component Display_Name. * prj-conf.adb (Parse_Project_And_Apply_Config): Use the full Config_File_Path as the Config_File_Name, not just its simple name. 2014-10-31 Thomas Quinot <quinot@adacore.com> * get_scos.adb: Minor reformatting. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Expand_Formal_Container_Loop): Create block to capture declaration for cursor to prevent spurious errors when several formal iterators that use the same cursoe name appear in the same context. From-SVN: r216978
2014-10-31genmatch.c (expr::gen_transform): Use NOP_EXPRs instead of CONVERT_EXPRs in ↵Richard Biener2-8/+22
generated code. 2014-10-31 Richard Biener <rguenther@suse.de> * genmatch.c (expr::gen_transform): Use NOP_EXPRs instead of CONVERT_EXPRs in generated code. (dt_simplify::gen): Likewise. From-SVN: r216977
2014-10-31re PR target/63534 (Bootstrap failure on x86_64/i686-linux)Evgeny Stupachenko4-10/+93
gcc/ PR target/63534 * config/i386/i386.c (ix86_init_pic_reg): Emit SET_GOT to REAL_PIC_OFFSET_TABLE_REGNUM for mcount profiling. (ix86_save_reg): Save REAL_PIC_OFFSET_TABLE_REGNUM when profiling using mcount in 32bit PIC mode. (ix86_elim_entry_set_got): New. (ix86_expand_prologue): For the mcount profiling emit new SET_GOT in PROLOGUE, delete initial if possible. gcc/testsuite/ PR target/63534 * gcc.target/i386/mcount_pic.c: New. From-SVN: r216975
2014-10-31* gcc.target/i386/pr23098.c: Remove xfail.Evgeny Stupachenko2-1/+5
From-SVN: r216974
2014-10-31ipa-inline.c (want_inline_small_function_p): Fix typo and formatting.Eric Botcazou2-27/+33
* ipa-inline.c (want_inline_small_function_p): Fix typo and formatting. (want_inline_function_to_all_callers_p): Fix formatting and simplify. From-SVN: r216973
2014-10-31* gnat.dg/opt42.ad[sb]: New test.Eric Botcazou3-0/+35
From-SVN: r216972
2014-10-31re PR tree-optimization/63259 (Detecting byteswap sequence)Thomas Preud'homme5-15/+68
2014-10-31 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR tree-optimization/63259 * tree-ssa-math-opts.c (bswap_replace): Replace expression by a rotation left if it is a 16 bit byte swap. (pass_optimize_bswap::execute): Also consider bswap in LROTATE_EXPR and RROTATE_EXPR statements if it is a byte rotation. gcc/testsuite/ PR tree-optimization/63259 * optimize-bswapsi-1.c (swap32_f): New bswap pass test. * optimize-bswaphi-1.c: Drop useless SIType definition and fix typo in following comment. From-SVN: r216971
2014-10-31prj-proc.adb (Recursive_Process): Make sure that the project display name is ↵Vincent Celier2-1/+14
never No_Name. 2014-10-31 Vincent Celier <celier@adacore.com> * prj-proc.adb (Recursive_Process): Make sure that the project display name is never No_Name. From-SVN: r216970
2014-10-31[multiple changes]Arnaud Charlet9-7/+69
2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Access_Attribute): Do not emit error message if reference does not come from source, as in the case for the controlling argument of a dispatching call. Error is diagnosed when call is resolved. * sem_ch4.adb (Complete_Object_Operation); Fix incorrect RM reference in error message. * sem_res.adb (Check_Prefixed_Call): ditto. 2014-10-31 Yannick Moy <moy@adacore.com> * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Do not suppress checks when pragma Restrictions (No_Exception) is used in CodePeer or GNATprove mode. 2014-10-31 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Explicitly mark language checks as not suppressed in GNATprove mode. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_elab.adb (Check_Elab_Call): Nothing to check if call is being pre-analyzed. * sem_ch3.adb (Complete_Private_Subtype): If all rep items of full view are those of the base, use rep_item chain of partial view, which may include aspects. * sem_cat.adb (Is_non_Remote_Access_Type): Use underlying type of base type, to handle properly declared subtypes. From-SVN: r216969
2014-10-31[multiple changes]Arnaud Charlet5-4/+137
2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Generic_Package_Declaration): If there is a default storage pool, add a corresponding aspect to the generic unit, to be used at the point of instantiation. (Analyze_Package_Instantiation): If generic unit has aspect specifications, propagate them to instance. If instance has a Default_Storage_Pool aspect, make sure that it overrides the one that may be inherited from the generic. 2014-10-31 Vincent Celier <celier@adacore.com> * prj-attr.adb: Minor removal of attributes of package Linker that have never been used and never been documented. * projects.texi: Add documentation for attribute Runtime. * prj-nmsc.adb (Check_Configuration): Do not report a warning for unknown compilers when the project is externally built. From-SVN: r216968
2014-10-31[multiple changes]Arnaud Charlet11-1414/+1003
2014-10-31 Vasiliy Fofanov <fofanov@adacore.com> * prj-conf.adb (Do_Autoconf): Refactor the code so that empty Normalized_Pathname doesn't inhibit the custom Selected_Target value. * prj-conf.adb (Parse_Project_And_Apply_Config): Make sure that Automatically_Generated is correctly set after the first call to Process_Project_And_Apply_Config and not modified after the second call, if any. 2014-10-31 Yannick Moy <moy@adacore.com> * Makefile.rtl, gnat_rm.texi, impunit.adb: Add mention of new library files. * a-cfinve.adb, a-cfinve.ads: New unit for formal indefinite vectors, suitable for use in client SPARK code, also more efficient than the standard vectors. * a-coboho.adb, a-coboho.ads New unit for bounded holders, that are used to define formal indefinite vectors in terms of formal definite ones. * a-cofove.adb, a-cofove.ads: Simplification of the API of formal definite vectors, similar to the API of the new indefinite ones. A new formal parameter of the generic unit called Bounded allows to define growable vectors that use dynamic allocation. From-SVN: r216967
2014-10-31[multiple changes]Arnaud Charlet14-18/+558
2014-10-31 Vincent Celier <celier@adacore.com> * prj-conf.adb (Look_For_Project_Paths): New procedure (Parse_Project_And_Apply_Config): Initially, parse the project files ignoring missing withs. If there are missing withs, extend the project path with directories rooted at the compiler roots, including directories rooted at the runtime roots, if there are non default runtimes, in the PATH orser. * prj-env.adb (Initialize_Default_Project_Path): Do not add any directory from the prefix if the target is "-". * prj-part.adb (Parse): Initialize the tables, as Parse may be call several times by gprbuild. * prj.adb (Update_Ignore_Missing_With): New procedure. 2014-10-31 Ed Schonberg <schonberg@adacore.com> * sem_aux.adb (First_Stored_Discriminant, Has_Completely_Hidden_Discriminant): When scanning the list of discriminants to locate possibly hidden (inherited) discriminants, ignore itypes that may appear in the entity list, when an access discriminants is constrained by an access attribute reference. 2014-10-31 Javier Miranda <miranda@adacore.com> * freeze.adb (Freeze_Record_Type): Add missing check to verify that all the primitives of an interface type are abstract or null procedures. 2014-10-31 Vincent Celier <celier@adacore.com> * s-os_lib.adb, s-os_lib.ads: New function Non_Blocking_Spawn that redirects standard output and standard error to two different files. 2014-10-31 Bob Duff <duff@adacore.com> * makeutl.ads: Minor comment fix. 2014-10-31 Arnaud Charlet <charlet@adacore.com> * system-linux-x86_64.ads, system-mingw-x86_64.ads (Word_Size, Memory_Size): Use Standard'Word_Size so that the value can be changed via a target configuration file. From-SVN: r216965
2014-10-31Makefile.def (libcc1): Remove bootstrap=true;.Jakub Jelinek3-542/+21
* Makefile.def (libcc1): Remove bootstrap=true;. * Makefile.in: Regenerated. From-SVN: r216964