gcc.git
9 years agogo-test.exp: In +build lines, require whitespace around expected strings, fix check...
Ian Lance Taylor [Wed, 5 Nov 2014 04:04:24 +0000 (04:04 +0000)]
go-test.exp: In +build lines, require whitespace around expected strings, fix check for negation.

* go.test/go-test.exp: In +build lines, require whitespace around
expected strings, fix check for negation.

From-SVN: r217111

9 years agosync/atomic: fix data races in tests
Ian Lance Taylor [Wed, 5 Nov 2014 03:39:49 +0000 (03:39 +0000)]
sync/atomic: fix data races in tests

Backport https://codereview.appspot.com/111320044 from Go
master library.

From-SVN: r217110

9 years agoDaily bump.
GCC Administrator [Wed, 5 Nov 2014 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217109

9 years agolibgo: add s390 support
Ian Lance Taylor [Tue, 4 Nov 2014 22:39:30 +0000 (22:39 +0000)]
libgo: add s390 support

From Dominik Vogt.

* libgo/go/syscall/libcall_linux_s390.go: New file for s390 support.
* libgo/go/syscall/syscall_linux_s390.go: Ditto.
* libgo/go/syscall/libcall_linux_s390x.go: New file for s390x support.
* libgo/go/syscall/syscall_linux_s390x.go: Ditto.
* libgo/go/runtime/pprof/pprof.go (printStackRecord): Support s390 and
s390x.
* libgo/runtime/runtime.c (runtime_cputicks): Add support for s390 and
s390x
* libgo/mksysinfo.sh: Ditto.
(upcase_fields): New helper function

* libgo/go/debug/elf/file.go (applyRelocations): Implement relocations
on s390x.
(applyRelocationsS390x): Ditto.
(DWARF): Ditto.
* libgo/go/debug/elf/elf.go (R_390): New constants for S390 relocations.
(r390Strings): Ditto.
(String): Helper function for S390 relocations.
(GoString): Ditto.

* libgo/go/reflect/makefuncgo_s390.go: New file.
(S390MakeFuncStubGo): Implementation of s390 abi.
* libgo/go/reflect/makefuncgo_s390x.go: New file.
(S390xMakeFuncStubGo): Implementation of s390x abi.
* libgo/go/reflect/makefunc_s390.c: New file.
(makeFuncStub): s390 and s390x specific implementation of function.
* libgo/go/reflect/makefunc.go
(MakeFunc): Add support for s390 and s390x.
(makeMethodValue): Ditto.
(makeValueMethod): Ditto.
* libgo/Makefile.am (go_reflect_makefunc_s_file): Ditto.
(go_reflect_makefunc_file): Ditto.
* libgo/go/reflect/makefunc_dummy.c: Ditto.
* libgo/runtime/runtime.h (__go_makefunc_can_recover): Export prototype
for use in makefunc_s390.c.
(__go_makefunc_returning): Ditto.

* libgo/go/syscall/exec_linux.go (forkAndExecInChild): Fix order of the
arguments of the clone system call for s390[x].

* libgo/configure.ac (is_s390): New variable.
(is_s390x): Ditto
(LIBGO_IS_S390): Ditto.
(LIBGO_IS_S390X): Ditto.
(GOARCH): Support s390 and s390x.
* libgo/go/go/build/build.go (cgoEnabled): Ditto.
* libgo/go/go/build/syslist.go (goarchList): Ditto.

From-SVN: r217106

9 years agors6000.c (atomic_hold_decl, [...]): Guard declaration with #ifdef.
Pat Haugen [Tue, 4 Nov 2014 22:34:43 +0000 (22:34 +0000)]
rs6000.c (atomic_hold_decl, [...]): Guard declaration with #ifdef.

* config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl,
atomic_update_decl): Guard declaration with #ifdef.

From-SVN: r217105

9 years agoc-common.c (shorten_compare): Do not shorten mixed DFP and non-DFP compares.
Richard Biener [Tue, 4 Nov 2014 20:46:52 +0000 (20:46 +0000)]
c-common.c (shorten_compare): Do not shorten mixed DFP and non-DFP compares.

2014-11-04  Richard Biener  <rguenther@suse.de>

* c-common.c (shorten_compare): Do not shorten mixed
DFP and non-DFP compares.

From-SVN: r217101

9 years ago* sanopt.c (sanopt_optimize_walker): Remove unused variables.
Marek Polacek [Tue, 4 Nov 2014 19:59:35 +0000 (19:59 +0000)]
* sanopt.c (sanopt_optimize_walker): Remove unused variables.

From-SVN: r217100

9 years agoMakefile.in (OBJS): Add sanopt.o.
Marek Polacek [Tue, 4 Nov 2014 19:43:01 +0000 (19:43 +0000)]
Makefile.in (OBJS): Add sanopt.o.

* Makefile.in (OBJS): Add sanopt.o.
(GTFILES): Add sanopt.c.
* asan.h (asan_expand_check_ifn): Declare.
* asan.c (asan_expand_check_ifn): No longer static.
(class pass_sanopt, pass_sanopt::execute, make_pass_sanopt): Move...
* sanopt.c: ...here.  New file.
testsuite/
* c-c++-common/ubsan/align-2.c: Remove dg-output.
* c-c++-common/ubsan/align-4.c: Likewise.
* g++.dg/ubsan/null-1.C: Likewise.
* g++.dg/ubsan/null-2.C: Likewise.

From-SVN: r217099

9 years agogodump-1.c (dg-skip-if): Add alpha*-*-*.
Uros Bizjak [Tue, 4 Nov 2014 18:30:32 +0000 (19:30 +0100)]
godump-1.c (dg-skip-if): Add alpha*-*-*.

* gcc.misc-tests/godump-1.c (dg-skip-if): Add alpha*-*-*.

From-SVN: r217098

9 years agodevirt-44.C (dg-options): Remove -fdump-tree-optimized.
Uros Bizjak [Tue, 4 Nov 2014 18:21:34 +0000 (19:21 +0100)]
devirt-44.C (dg-options): Remove -fdump-tree-optimized.

* g++.dg/ipa/devirt-44.C (dg-options): Remove -fdump-tree-optimized.
* g++.dg/ipa/devirt-45.C (dg-options): Ditto.
* g++.dg/tree-prof/morefunc.C (dg-final-use): Cleanup profile ipa dump.
* g++.dg/tree-prof/reorder.C (dg-final-use): Ditto.
* g++.dg/tree-prof/pr35545.C (dg-fina-use): Cleanup profile_estimate
ipa dump.
* gcc.dg/fold-reassoc-3.c (dg-final): Fix scan string.
Cleanup original tree dump.
* gcc.dg/tree-prof/20050826-2.c (dg-final-use): Cleanup dom1 tree dump.
* gcc.dg/tree-prof/cmpsf-1.c (dg-final-use): Ditto.
* gcc.dg/tree-ssa/pr61144.c (dg-final): Cleanup optimized tree dump.

From-SVN: r217097

9 years agocompiler: Logical operators should yield untyped bool for untyped operands.
Ian Lance Taylor [Tue, 4 Nov 2014 17:49:01 +0000 (17:49 +0000)]
compiler: Logical operators should yield untyped bool for untyped operands.

Fixes issue 6671 for gccgo.

From-SVN: r217094

9 years agodevirt-40.C: Changed dump to not matching OBJ_TYPE_REF in function body.
Martin Jambor [Tue, 4 Nov 2014 17:39:06 +0000 (18:39 +0100)]
devirt-40.C: Changed dump to not matching OBJ_TYPE_REF in function body.

gcc/testsuite/

2014-11-04  Martin Jambor  <mjambor@suse.cz>

* g++/dg/ipa/devirt-40.C: Changed dump to not matching OBJ_TYPE_REF in
function body.

From-SVN: r217092

9 years ago[AArch64] fix unsafe access to deallocated stack
Jiong Wang [Tue, 4 Nov 2014 17:13:25 +0000 (17:13 +0000)]
[AArch64] fix unsafe access to deallocated stack

2014-11-04  Jiong Wang  <jiong.wang@arm.com>
2014-11-04  Wilco Dijkstra  <wilco.dijkstra@arm.com>

  gcc/
    PR target/63293
    * config/aarch64/aarch64.c (aarch64_expand_epiloue): Add barriers before
    stack adjustment.

From-SVN: r217091

9 years ago* testsuite/util/testsuite_allocator.h (operator==): Fix recursion.
Jonathan Wakely [Tue, 4 Nov 2014 16:54:49 +0000 (16:54 +0000)]
* testsuite/util/testsuite_allocator.h (operator==): Fix recursion.

From-SVN: r217090

9 years agoFix up mode confusion in combine_simplify_rtx.
Bernd Schmidt [Tue, 4 Nov 2014 15:25:45 +0000 (15:25 +0000)]
Fix up mode confusion in combine_simplify_rtx.

The surrounding code was already fixed back when BImode was added.

* combine.c (combine_simplify_rtx): In STORE_FLAG_VALUE == -1 case,
also verify that mode is equal to the mode of op0.

From-SVN: r217089

9 years agoMake a temporary sequence for a jump emitted only to examine its length.
Bernd Schmidt [Tue, 4 Nov 2014 15:25:37 +0000 (15:25 +0000)]
Make a temporary sequence for a jump emitted only to examine its length.

* bb-reorder.c (get_uncond_jump_length): Avoid using delete_insn,
emit into a sequence instead.

From-SVN: r217088

9 years agoFix type mismatches in intrinsic functions.
Bernd Schmidt [Tue, 4 Nov 2014 15:25:28 +0000 (15:25 +0000)]
Fix type mismatches in intrinsic functions.

* f95-lang.c (gfc_init_builtin_functions): Use type index 2 for
scalbn, scalbnl and scalbnf.
* mathbuiltins.def (JN, YN): Use type index 5.

From-SVN: r217087

9 years agog++-dg.exp (g++-dg-runtest): Change -std=c++1y to -std=c++14.
Jason Merrill [Tue, 4 Nov 2014 14:55:32 +0000 (09:55 -0500)]
g++-dg.exp (g++-dg-runtest): Change -std=c++1y to -std=c++14.

* lib/g++-dg.exp (g++-dg-runtest): Change -std=c++1y to -std=c++14.
* lib/target-supports.exp (check_effective_target_c++14_only): Likewise.

From-SVN: r217085

9 years agosh.c (emit_fpu_switch): Drop unused automatic variable.
Jan-Benedict Glaw [Tue, 4 Nov 2014 12:41:23 +0000 (12:41 +0000)]
sh.c (emit_fpu_switch): Drop unused automatic variable.

2014-11-04  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/sh/sh.c (emit_fpu_switch): Drop unused automatic variable.

From-SVN: r217082

9 years agopr60102.c: Move dg-skip-if after dg-options.
Andrew Stubbs [Tue, 4 Nov 2014 12:09:50 +0000 (12:09 +0000)]
pr60102.c: Move dg-skip-if after dg-options.

gcc/testsuite/
* gcc.target/powerpc/pr60102.c: Move dg-skip-if after dg-options.
* gcc.target/powerpc/swaps-p8-12.c: Skip test if there would be
conflicting -mcpu options.
* gcc.target/powerpc/ppc-target-2.c: Likewise.
* gcc.target/powerpc/cell_builtin-7.c: Likewise.
* gcc.target/powerpc/dfp-builtin-1.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-1.c: Likewise.
* gcc.target/powerpc/pr48053-3.c: Likewise.
* gcc.target/powerpc/vsx-builtin-6.c: Likewise.
* gcc.target/powerpc/440-nmaclhw-1.c: Likewise.
* gcc.target/powerpc/pr57744.c: Likewise.
* gcc.target/powerpc/pr47862.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-8.c: Likewise.
* gcc.target/powerpc/recip-1.c: Likewise.
* gcc.target/powerpc/darwin-longlong.c: Likewise.
* gcc.target/powerpc/bool2-p8.c: Likewise.
* gcc.target/powerpc/mmfpgpr.c: Likewise.
* gcc.target/powerpc/pr60203.c: Likewise.
* gcc.target/powerpc/direct-move-vint1.c: Likewise.
* gcc.target/powerpc/bool2-av.c: Likewise.
* gcc.target/powerpc/pr43154.c: Likewise.
* gcc.target/powerpc/ppc-fma-2.c: Likewise.
* gcc.target/powerpc/swaps-p8-5.c: Likewise.
* gcc.target/powerpc/pr59054.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
* gcc.target/powerpc/440-mullhwu-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-13.c: Likewise.
* gcc.target/powerpc/ppc-target-3.c: Likewise.
* gcc.target/powerpc/cell_builtin-8.c: Likewise.
* gcc.target/powerpc/dfp-builtin-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
* gcc.target/powerpc/p8vector-vbpermq.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-1.c: Likewise.
* gcc.target/powerpc/bswap64-3.c: Likewise.
* gcc.target/powerpc/bcd-1.c: Likewise.
* gcc.target/powerpc/440-mulchwu-1.c: Likewise.
* gcc.target/powerpc/extend-divide-1.c: Likewise.
* gcc.target/powerpc/vsx-builtin-7.c: Likewise.
* gcc.target/powerpc/pr48192.c: Likewise.
* gcc.target/powerpc/pr52775.c: Likewise.
* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
* gcc.target/powerpc/pr58673-1.c: Likewise.
* gcc.target/powerpc/pr53487.c: Likewise.
* gcc.target/powerpc/440-nmaclhw-2.c: Likewise.
* gcc.target/powerpc/recip-2.c: Likewise.
* gcc.target/powerpc/p8vector-fp.c: Likewise.
* gcc.target/powerpc/direct-move-vint2.c: Likewise.
* gcc.target/powerpc/ppc-fma-3.c: Likewise.
* gcc.target/powerpc/pr57150.c: Likewise.
* gcc.target/powerpc/pr47251.c: Likewise.
* gcc.target/powerpc/swaps-p8-6.c: Likewise.
* gcc.target/powerpc/440-mullhwu-2.c: Likewise.
* gcc.target/powerpc/bool3-p7.c: Likewise.
* gcc.target/powerpc/cell_builtin-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-14.c: Likewise.
* gcc.target/powerpc/ppc-target-4.c: Likewise.
* gcc.target/powerpc/440-mulhhw-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-1.c: Likewise.
* gcc.target/powerpc/440-machhw-1.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
* gcc.target/powerpc/vsx-mass-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
* gcc.target/powerpc/loop_align.c: Likewise.
* gcc.target/powerpc/lhs-1.c: Likewise.
* gcc.target/powerpc/sd-vsx.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-2.c: Likewise.
* gcc.target/powerpc/bcd-2.c: Likewise.
* gcc.target/powerpc/20040121-1.c: Likewise.
* gcc.target/powerpc/pr52457.c: Likewise.
* gcc.target/powerpc/440-mulchwu-2.c: Likewise.
* gcc.target/powerpc/extend-divide-2.c: Likewise.
* gcc.target/powerpc/vsx-builtin-8.c: Likewise.
* gcc.target/powerpc/p8vector-int128-2.c: Likewise.
* gcc.target/powerpc/pr58673-2.c: Likewise.
* gcc.target/powerpc/atomic-p7.c: Likewise.
* gcc.target/powerpc/recip-3.c: Likewise.
* gcc.target/powerpc/440-maclhwu-1.c: Likewise.
* gcc.target/powerpc/optimize-bswapsi-2.c: Likewise.
* gcc.target/powerpc/popcount-1.c: Likewise.
* gcc.target/powerpc/altivec-32.c: Likewise.
* gcc.target/powerpc/timode_off.c: Likewise.
* gcc.target/powerpc/p8vector-ldst.c: Likewise.
* gcc.target/powerpc/pack01.c: Likewise.
* gcc.target/powerpc/pr55033.c: Likewise.
* gcc.target/powerpc/ppc-fma-4.c: Likewise.
* gcc.target/powerpc/swaps-p8-7.c: Likewise.
* gcc.target/powerpc/ppu-intrinsics.c: Likewise.
* gcc.target/powerpc/440-macchwu-1.c: Likewise.
* gcc.target/powerpc/440-mulhhwu-1.c: Likewise.
* gcc.target/powerpc/440-mulchw-1.c: Likewise.
* gcc.target/powerpc/bool3-p8.c: Likewise.
* gcc.target/powerpc/cell_builtin-2.c: Likewise.
* gcc.target/powerpc/swaps-p8-15.c: Likewise.
* gcc.target/powerpc/440-macchw-1.c: Likewise.
* gcc.target/powerpc/440-mulhhw-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-2.c: Likewise.
* gcc.target/powerpc/440-machhw-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
* gcc.target/powerpc/pr46728-16.c: Likewise.
* gcc.target/powerpc/vsx-builtin-1.c: Likewise.
* gcc.target/powerpc/bool3-av.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
* gcc.target/powerpc/ppc-pow.c: Likewise.
* gcc.target/powerpc/lhs-2.c: Likewise.
* gcc.target/powerpc/pr39902-2.c: Likewise.
* gcc.target/powerpc/20041111-1.c: Likewise.
* gcc.target/powerpc/builtins-1.c: Likewise.
* gcc.target/powerpc/bcd-3.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-3.c: Likewise.
* gcc.target/powerpc/pr57949-1.c: Likewise.
* gcc.target/powerpc/atomic-p8.c: Likewise.
* gcc.target/powerpc/sd-pwr6.c: Likewise.
* gcc.target/powerpc/recip-4.c: Likewise.
* gcc.target/powerpc/440-maclhwu-2.c: Likewise.
* gcc.target/powerpc/warn-2.c: Likewise.
* gcc.target/powerpc/parity-1.c: Likewise.
* gcc.target/powerpc/popcount-2.c: Likewise.
* gcc.target/powerpc/crypto-builtin-1.c: Likewise.
* gcc.target/powerpc/ppc-fma-5.c: Likewise.
* gcc.target/powerpc/swaps-p8-8.c: Likewise.
* gcc.target/powerpc/pr42747.c: Likewise.
* gcc.target/powerpc/440-macchwu-2.c: Likewise.
* gcc.target/powerpc/440-mulhhwu-2.c: Likewise.
* gcc.target/powerpc/dfp-dd-2.c: Likewise.
* gcc.target/powerpc/direct-move-float1.c: Likewise.
* gcc.target/powerpc/440-mulchw-2.c: Likewise.
* gcc.target/powerpc/cell_builtin-3.c: Likewise.
* gcc.target/powerpc/swaps-p8-16.c: Likewise.
* gcc.target/powerpc/440-macchw-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
* gcc.target/powerpc/dfp-td-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
* gcc.target/powerpc/vsx-builtin-2.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.
* gcc.target/powerpc/lhs-3.c: Likewise.
* gcc.target/powerpc/440-nmachhw-1.c: Likewise.
* gcc.target/powerpc/builtins-2.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
* gcc.target/powerpc/pr52199.c: Likewise.
* gcc.target/powerpc/440-machhwu-1.c: Likewise.
* gcc.target/powerpc/pr57949-2.c: Likewise.
* gcc.target/powerpc/recip-5.c: Likewise.
* gcc.target/powerpc/popcount-3.c: Likewise.
* gcc.target/powerpc/vsx-vector-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-1.c: Likewise.
* gcc.target/powerpc/optimize-bswapdi-2.c: Likewise.
* gcc.target/powerpc/ppc-fma-6.c: Likewise.
* gcc.target/powerpc/vsx-extract-1.c: Likewise.
* gcc.target/powerpc/pr48226.c: Likewise.
* gcc.target/powerpc/swaps-p8-9.c: Likewise.
* gcc.target/powerpc/pr47755-2.c: Likewise.
* gcc.target/powerpc/direct-move-float2.c: Likewise.
* gcc.target/powerpc/cell_builtin-4.c: Likewise.
* gcc.target/powerpc/direct-move-double1.c: Likewise.
* gcc.target/powerpc/swaps-p8-17.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-4.c: Likewise.
* gcc.target/powerpc/dfp-td-3.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-6.c: Likewise.
* gcc.target/powerpc/440-nmacchw-1.c: Likewise.
* gcc.target/powerpc/vsx-builtin-3.c: Likewise.
* gcc.target/powerpc/440-nmachhw-2.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-5.c: Likewise.
* gcc.target/powerpc/bool2-p5.c: Likewise.
* gcc.target/powerpc/440-machhwu-2.c: Likewise.
* gcc.target/powerpc/fusion.c: Likewise.
* gcc.target/powerpc/recip-6.c: Likewise.
* gcc.target/powerpc/altivec-cell-6.c: Likewise.
* gcc.target/powerpc/vsx-vector-2.c: Likewise.
* gcc.target/powerpc/swaps-p8-2.c: Likewise.
* gcc.target/powerpc/optimize-bswapdi-3.c: Likewise.
* gcc.target/powerpc/ppc-fma-7.c: Likewise.
* gcc.target/powerpc/vsx-extract-2.c: Likewise.
* gcc.target/powerpc/direct-move-long1.c: Likewise.
* gcc.target/powerpc/dfp-dd.c: Likewise.
* gcc.target/powerpc/swaps-p8-10.c: Likewise.
* gcc.target/powerpc/cell_builtin-5.c: Likewise.
* gcc.target/powerpc/direct-move-double2.c: Likewise.
* gcc.target/powerpc/440-mullhw-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
* gcc.target/powerpc/440-maclhw-1.c: Likewise.
* gcc.target/powerpc/dfp-td.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-7.c: Likewise.
* gcc.target/powerpc/pr48053-1.c: Likewise.
* gcc.target/powerpc/440-nmacchw-2.c: Likewise.
* gcc.target/powerpc/vsx-builtin-4.c: Likewise.
* gcc.target/powerpc/pr60676.c: Likewise.
* gcc.target/powerpc/pr48258-1.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
* gcc.target/powerpc/pr48857.c: Likewise.
* gcc.target/powerpc/quad-atomic.c: Likewise.
* gcc.target/powerpc/altivec-cell-7.c: Likewise.
* gcc.target/powerpc/atomic_load_store-p8.c: Likewise.
* gcc.target/powerpc/vsx-vector-3.c: Likewise.
* gcc.target/powerpc/swaps-p8-3.c: Likewise.
* gcc.target/powerpc/pr56605.c: Likewise.
* gcc.target/powerpc/vsx-extract-3.c: Likewise.
* gcc.target/powerpc/pr53199.c: Likewise.
* gcc.target/powerpc/direct-move-long2.c: Likewise.
* gcc.target/powerpc/swaps-p8-11.c: Likewise.
* gcc.target/powerpc/vsx-float0.c: Likewise.
* gcc.target/powerpc/ppc-target-1.c: Likewise.
* gcc.target/powerpc/altivec-20.c: Likewise.
* gcc.target/powerpc/cell_builtin-6.c: Likewise.
* gcc.target/powerpc/440-mullhw-2.c: Likewise.
* gcc.target/powerpc/darwin-ehreturn-1.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-6.c: Likewise.
* gcc.target/powerpc/440-maclhw-2.c: Likewise.
* gcc.target/powerpc/440-dlmzb-strlen-1.c: Likewise.
* gcc.target/powerpc/pr60137.c: Likewise.
* gcc.target/powerpc/bswap64-1.c: Likewise.
* gcc.target/powerpc/pr48053-2.c: Likewise.
* gcc.target/powerpc/vsx-builtin-5.c: Likewise.
* gcc.target/powerpc/pr48258-2.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
* gcc.target/powerpc/vsx-sfminmax.c: Likewise.
* gcc.target/powerpc/bool2-p7.c: Likewise.
* gcc.target/powerpc/ppc-round.c: Likewise.
* gcc.target/powerpc/altivec-cell-8.c: Likewise.
* gcc.target/powerpc/vsx-vector-4.c: Likewise.
* gcc.target/powerpc/ppc-fma-1.c: Likewise.
* gcc.target/powerpc/swaps-p8-4.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
* gcc.target/powerpc/pr47755.c: Likewise.

From-SVN: r217081

9 years ago[ARM] Migrate to new reduc_[us](min|max)_scal_optab
Alan Lawrence [Tue, 4 Nov 2014 12:09:38 +0000 (12:09 +0000)]
[ARM] Migrate to new reduc_[us](min|max)_scal_optab

config/arm/neon.md (reduc_smin_<mode> *2): Rename to...
(reduc_smin_scal_<mode> *2): ...this; extract scalar result.
(reduc_smax_<mode> *2): Rename to...
(reduc_smax_scal_<mode> *2): ...this; extract scalar result.
(reduc_umin_<mode> *2): Rename to...
(reduc_umin_scal_<mode> *2): ...this; extract scalar result.
(reduc_umax_<mode> *2): Rename to...
(reduc_umax_scal_<mode> *2): ...this; extract scalar result.

From-SVN: r217080

9 years ago[ARM] Migrate to new reduc_plus_scal_optab
Alan Lawrence [Tue, 4 Nov 2014 12:05:52 +0000 (12:05 +0000)]
[ARM] Migrate to new reduc_plus_scal_optab

config/arm/neon.md (reduc_plus_*): Rename to...
(reduc_plus_scal_*): ...this; reduce to temp and extract scalar result.

From-SVN: r217079

9 years ago[AArch64] Fix predicate and constraint mismatch in logical atomic operations
Michael Collison [Tue, 4 Nov 2014 11:23:10 +0000 (11:23 +0000)]
[AArch64] Fix predicate and constraint mismatch in logical atomic operations

2014-11-04  Michael Collison <michael.collison@linaro.org>

* config/aarch64/iterators.md (lconst_atomic): New mode attribute
to support constraints for CONST_INT in atomic operations.
* config/aarch64/atomics.md
(atomic_<atomic_optab><mode>): Use lconst_atomic constraint.
(atomic_nand<mode>): Likewise.
(atomic_fetch_<atomic_optab><mode>): Likewise.
(atomic_fetch_nand<mode>): Likewise.
(atomic_<atomic_optab>_fetch<mode>): Likewise.
(atomic_nand_fetch<mode>): Likewise.

From-SVN: r217076

9 years agoFix typo in definition of __ARM_FEATURE_IDIV
Ramana Radhakrishnan [Tue, 4 Nov 2014 09:45:22 +0000 (09:45 +0000)]
Fix typo in definition of __ARM_FEATURE_IDIV

From-SVN: r217073

9 years agoFix typo in definition of __ARM_FEATURE_IDIV
Ramana Radhakrishnan [Tue, 4 Nov 2014 09:45:06 +0000 (09:45 +0000)]
Fix typo in definition of __ARM_FEATURE_IDIV

From-SVN: r217072

9 years agoubsan.c (instrument_object_size): Optimize [x & CST] array accesses.
Marek Polacek [Tue, 4 Nov 2014 09:30:47 +0000 (09:30 +0000)]
ubsan.c (instrument_object_size): Optimize [x & CST] array accesses.

* ubsan.c (instrument_object_size): Optimize [x & CST] array accesses.
testsuite/
* c-c++-common/ubsan/object-size-10.c: New test.

From-SVN: r217071

9 years agorx.c (rx_handle_func_attribute): Mark unused argument.
Jan-Benedict Glaw [Tue, 4 Nov 2014 09:22:51 +0000 (09:22 +0000)]
rx.c (rx_handle_func_attribute): Mark unused argument.

2014-11-03  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/rx/rx.c (rx_handle_func_attribute): Mark unused argument.

From-SVN: r217070

9 years agonumeric.h: Do not use default arguments in function template redeclarations (definiti...
Jonathan Wakely [Tue, 4 Nov 2014 03:41:16 +0000 (03:41 +0000)]
numeric.h: Do not use default arguments in function template redeclarations (definitions).

* include/parallel/numeric.h: Do not use default arguments in function
template redeclarations (definitions).

From-SVN: r217069

9 years agoDo not assume allocator is assignable.
Jonathan Wakely [Tue, 4 Nov 2014 03:41:12 +0000 (03:41 +0000)]
Do not assume allocator is assignable.

* include/bits/stl_deque.h (_Deque_base(_Deque_base&&)): Copy
allocator instead of moving.
* testsuite/23_containers/deque/allocator/move-2.cc: New.

From-SVN: r217068

9 years agoMake reference_wrapper trivially copyable.
Jonathan Wakely [Tue, 4 Nov 2014 02:49:33 +0000 (02:49 +0000)]
Make reference_wrapper trivially copyable.

* include/std/functional (reference_wrapper): Define copy constructor
and copy assignment as defaulted.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error.
* testsuite/20_util/reference_wrapper/requirements.cc: New.

From-SVN: r217067

9 years agoUse ctype_base::blank in regex_traits.
Jonathan Wakely [Tue, 4 Nov 2014 02:49:30 +0000 (02:49 +0000)]
Use ctype_base::blank in regex_traits.

* include/bits/regex.h (regex_traits::_RegexMask): Remove _S_blank and
adjust _S_valid_mask.
* include/bits/regex.tcc (regex_traits::lookup_classname): Use
ctype_base::blank.

From-SVN: r217066

9 years ago* include/std/functional (_Bind_simple): Simplify construction.
Jonathan Wakely [Tue, 4 Nov 2014 02:49:27 +0000 (02:49 +0000)]
* include/std/functional (_Bind_simple): Simplify construction.

From-SVN: r217065

9 years agoUse aliases for type traits in C++14 mode.
Jonathan Wakely [Tue, 4 Nov 2014 02:49:20 +0000 (02:49 +0000)]
Use aliases for type traits in C++14 mode.

* include/bits/unique_ptr.h (make_unique): Use alias for trait.
* include/experimental/optional (__constexpr_addressof): Likewise.
(_Optional_base, optional, make_optional): Likewise.

From-SVN: r217064

9 years agorevert: ifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4.
Zhenqiang Chen [Tue, 4 Nov 2014 02:21:51 +0000 (02:21 +0000)]
revert: ifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4.

2014-11-04  Zhenqiang Chen  <zhenqiang.chen@arm.com>

Revert:
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: r217062

9 years agoDaily bump.
GCC Administrator [Tue, 4 Nov 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217061

9 years agogodump.c (go_format_type): Rewrite RECORD_TYPE nad UNION_TYPE support with -fdump...
Dominik Vogt [Tue, 4 Nov 2014 00:00:14 +0000 (00:00 +0000)]
godump.c (go_format_type): Rewrite RECORD_TYPE nad UNION_TYPE support with -fdump-go-spec.

gcc/:
* godump.c (go_format_type): Rewrite RECORD_TYPE nad UNION_TYPE support
with -fdump-go-spec.  Anonymous substructures are now flattened and
replaced by their fields (record) or the first named, non-bitfield
field (union).
gcc/testsuite/:
* build-go/gcc/testsuite/gcc/godump-1.out: Update godump tests.

From-SVN: r217058

9 years agoinput.c (expand_location_to_spelling_point): Fix typo.
Manuel López-Ibáñez [Mon, 3 Nov 2014 22:57:33 +0000 (22:57 +0000)]
input.c (expand_location_to_spelling_point): Fix typo.

2014-11-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* input.c (expand_location_to_spelling_point): Fix typo.
(expansion_point_location_if_in_system_header): Fix comment.

From-SVN: r217057

9 years agocoarray_collectives_14.f90: Fix testcase.
Tobias Burnus [Mon, 3 Nov 2014 20:14:48 +0000 (21:14 +0100)]
coarray_collectives_14.f90: Fix testcase.

2014-11-03  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_collectives_14.f90: Fix testcase.

From-SVN: r217053

9 years ago* config/avr/gen-avr-mmcu-specs.c: Remove unnecessary format specifier.
Pitchumani Sivanupandi [Mon, 3 Nov 2014 19:03:34 +0000 (19:03 +0000)]
* config/avr/gen-avr-mmcu-specs.c: Remove unnecessary format specifier.

From-SVN: r217051

9 years agoalgo.h: Do not use default arguments in function template redeclarations (definitions).
Paolo Carlini [Mon, 3 Nov 2014 17:54:59 +0000 (17:54 +0000)]
algo.h: Do not use default arguments in function template redeclarations (definitions).

2014-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

* include/parallel/algo.h: Do not use default arguments in function
template redeclarations (definitions).

From-SVN: r217050

9 years agoruntime: use "$GOC -dumpversion" instead of BASE-VER to discover compiler version
Ian Lance Taylor [Mon, 3 Nov 2014 16:30:51 +0000 (16:30 +0000)]
runtime: use "$GOC -dumpversion" instead of BASE-VER to discover compiler version

From-SVN: r217049

9 years agotree-eh.c (operation_could_trap_helper_p): Handle conversions like ordinary operations.
Richard Biener [Mon, 3 Nov 2014 15:49:43 +0000 (15:49 +0000)]
tree-eh.c (operation_could_trap_helper_p): Handle conversions like ordinary operations.

2014-11-03  Richard Biener  <rguenther@suse.de>

* tree-eh.c (operation_could_trap_helper_p): Handle conversions
like ordinary operations.
* gimplify.c (gimplify_conversion): Gimplify CONVERT_EXPR
as NOP_EXPR.

From-SVN: r217048

9 years agoImplement TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and e500.
Joseph Myers [Mon, 3 Nov 2014 13:40:50 +0000 (13:40 +0000)]
Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV for powerpc*-*-linux* soft-float and e500.

This patch implements support for TARGET_ATOMIC_ASSIGN_EXPAND_FENV for
powerpc*-*-linux* soft-float and e500, provided GCC is configured for
glibc 2.19 or later on the target.

New functions __atomic_feholdexcept, __atomic_feclearexcept and
__atomic_feupdateenv were added (to libc) in that glibc version (for
powerpc soft-float / e500 only) in order to support this part of C11.
For soft-float, libc functions are needed because the floating-point
exception state is in TLS variables in libc that aren't directly
accessible outside of glibc.  For e500, they are also needed because
of the prctl syscalls involved in controlling trapping for exceptions
and informing the kernel when certain exception flags have been
cleared.  The actual implementation in GCC is a straightforward matter
of calling those functions.

Tested with no regressions for cross to powerpc-linux-gnu
(soft-float); the c11-atomic-exec-5.c results go from FAIL to PASS.

* configure.ac (TARGET_GLIBC_MAJOR, TARGET_GLIBC_MINOR): Define
macros.
* configure, config.h.in: Regenerate.
* config/rs6000/linux.h [TARGET_GLIBC_MAJOR > 2 ||
(TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)]
(RS6000_GLIBC_ATOMIC_FENV): New macro.
* config/rs6000/linux64.h [TARGET_GLIBC_MAJOR > 2 ||
(TARGET_GLIBC_MAJOR == 2 && TARGET_GLIBC_MINOR >= 19)]
(RS6000_GLIBC_ATOMIC_FENV): New macro.
* config/rs6000/rs6000.c (atomic_hold_decl, atomic_clear_decl)
(atomic_update_decl): New static variables.
(rs6000_atomic_assign_expand_fenv) [RS6000_GLIBC_ATOMIC_FENV]:
Generate calls to __atomic_feholdexcept, __atomic_feclearexcept
and __atomic_feupdateenv for soft-float and no-FPRs.

From-SVN: r217040

9 years agomatch.pd: Add two abs patterns.
Richard Biener [Mon, 3 Nov 2014 12:59:47 +0000 (12:59 +0000)]
match.pd: Add two abs patterns.

2014-11-03  Richard Biener  <rguenther@suse.de>

* match.pd: Add two abs patterns.  Announce tree_expr_nonnegative_p.
Also drop bogus FLOAT_EXPR and FIX_TRUNC_EXPR.
* fold-const.c (fold_unary_loc): Remove them here.
(tree_unary_nonnegative_warnv_p): Use CASE_CONVERT.
* gimple-fold.c (fold_gimple_assign): Remove now obsolete
GIMPLE_UNARY_RHS case.
(gimple_fold_stmt_to_constant_1): Likewise.
(replace_stmt_with_simplification): Fix inverted comparison.

From-SVN: r217039

9 years agore PR c/52769 (Unspecified designated initializer might not set to zero in some cases)
Marek Polacek [Mon, 3 Nov 2014 12:35:35 +0000 (12:35 +0000)]
re PR c/52769 (Unspecified designated initializer might not set to zero in some cases)

PR c/52769
* gcc.dg/pr52769.c: New test.

From-SVN: r217036

9 years agore PR c++/57820 ([DR 253] NSDMI and const objects)
Paolo Carlini [Mon, 3 Nov 2014 10:49:05 +0000 (10:49 +0000)]
re PR c++/57820 ([DR 253] NSDMI and const objects)

2014-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57820
* g++.dg/cpp0x/constexpr-ctor16.C: New.
* g++.dg/cpp0x/constexpr-ctor17.C: Likewise.

From-SVN: r217035

9 years agore PR tree-optimization/60770 (disappearing clobbers)
Marc Glisse [Mon, 3 Nov 2014 10:47:04 +0000 (11:47 +0100)]
re PR tree-optimization/60770 (disappearing clobbers)

2014-11-03  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/60770
gcc/
* tree-into-ssa.c (rewrite_update_stmt): Return whether the
statement should be removed.
(maybe_register_def): Likewise. Replace clobbers with default
definitions.
(rewrite_dom_walker::before_dom_children): Remove statement if
rewrite_update_stmt says so.
* tree-ssa-live.c: Include tree-ssa.h.
(set_var_live_on_entry): Do not mark undefined variables as live.
(verify_live_on_entry): Do not check undefined variables.
* tree-ssa.h (ssa_undefined_value_p): New parameter for the case
of partially undefined variables.
* tree-ssa.c (ssa_undefined_value_p): Likewise.
(execute_update_addresses_taken): Do not drop clobbers.

gcc/testsuite/
* gcc.dg/tree-ssa/pr60770-1.c: New file.

From-SVN: r217034

9 years agore PR tree-optimization/63666 (FAIL: gcc.dg/vect/pr45752.c (internal compiler error))
Marc Glisse [Mon, 3 Nov 2014 10:36:35 +0000 (11:36 +0100)]
re PR tree-optimization/63666 (FAIL: gcc.dg/vect/pr45752.c (internal 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

9 years agox86: extend vect-args testcase to AVX flavors
Jan Beulich [Mon, 3 Nov 2014 09:18:51 +0000 (09:18 +0000)]
x86: extend vect-args testcase to AVX flavors

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

9 years ago20010129-1.c: Compile with -mtune=i686 for ia32 targets only.
Uros Bizjak [Mon, 3 Nov 2014 08:30:21 +0000 (09:30 +0100)]
20010129-1.c: Compile with -mtune=i686 for ia32 targets only.

* 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

9 years agoifcvt.c (noce_try_store_flag_mask): Check rtx cost.
Zhenqiang Chen [Mon, 3 Nov 2014 06:36:11 +0000 (06:36 +0000)]
ifcvt.c (noce_try_store_flag_mask): Check rtx cost.

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

9 years ago[multiple changes]
Naveen H.S [Mon, 3 Nov 2014 05:13:43 +0000 (05:13 +0000)]
[multiple changes]

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

9 years agoifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4.
Zhenqiang Chen [Mon, 3 Nov 2014 03:20:30 +0000 (03:20 +0000)]
ifcvt.c (noce_emit_cmove, [...]): Allow CC mode if HAVE_cbranchcc4.

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

9 years agoCheck number of arguments in bind expressions.
Jonathan Wakely [Mon, 3 Nov 2014 02:55:36 +0000 (02:55 +0000)]
Check number of arguments in bind expressions.

* 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

9 years agoAdd support for ref-qualified functions to std::mem_fn
Jonathan Wakely [Mon, 3 Nov 2014 02:55:32 +0000 (02:55 +0000)]
Add support for ref-qualified functions to std::mem_fn

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

9 years agoDaily bump.
GCC Administrator [Mon, 3 Nov 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217023

9 years agogen-attrs-42.C: Add x86_64-*-* target.
Uros Bizjak [Sun, 2 Nov 2014 21:32:54 +0000 (22:32 +0100)]
gen-attrs-42.C: Add x86_64-*-* target.

* 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

9 years agoarc.c (write_ext_corereg_1): Delete.
Richard Sandiford [Sun, 2 Nov 2014 20:00:25 +0000 (20:00 +0000)]
arc.c (write_ext_corereg_1): Delete.

gcc/
* config/arc/arc.c (write_ext_corereg_1): Delete.
(arc_write_ext_corereg): Use FOR_EACH_SUBRTX.

From-SVN: r217019

9 years agoarc.c (arc600_corereg_hazard_1): Delete.
Richard Sandiford [Sun, 2 Nov 2014 20:00:19 +0000 (20:00 +0000)]
arc.c (arc600_corereg_hazard_1): Delete.

gcc/
* config/arc/arc.c (arc600_corereg_hazard_1): Delete.
(arc600_corereg_hazard): Use FOR_EACH_SUBRTX.

From-SVN: r217018

9 years agoarc.c (arc_rewrite_small_data_p): Constify argument.
Richard Sandiford [Sun, 2 Nov 2014 20:00:12 +0000 (20:00 +0000)]
arc.c (arc_rewrite_small_data_p): Constify argument.

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

9 years agoarc.c: Include rtl-iter.h.
Richard Sandiford [Sun, 2 Nov 2014 20:00:05 +0000 (20:00 +0000)]
arc.c: Include rtl-iter.h.

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

9 years agore PR target/24188 (WRITE(6,*) causes an ICE with -mcmodel=medium)
Uros Bizjak [Sun, 2 Nov 2014 19:27:06 +0000 (20:27 +0100)]
re PR target/24188 (WRITE(6,*) causes an ICE with -mcmodel=medium)

* 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

9 years ago[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes
Michael Collison [Sun, 2 Nov 2014 18:00:59 +0000 (18:00 +0000)]
[ARM] Fix CLZ_DEFINED_VALUE_AT_ZERO for vector modes

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

9 years agore PR c++/57694 ([c++11] constexpr constructor does not work with const address of...
Paolo Carlini [Sun, 2 Nov 2014 09:31:12 +0000 (09:31 +0000)]
re PR c++/57694 ([c++11] constexpr constructor does not work with const 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

9 years agofeat-cxx11.C: Commentary and rearrangement of tests.
Edward Smith-Rowland [Sun, 2 Nov 2014 02:51:41 +0000 (02:51 +0000)]
feat-cxx11.C: Commentary and rearrangement of tests.

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

9 years agoDaily bump.
GCC Administrator [Sun, 2 Nov 2014 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217010

9 years ago2014-11-01 Andrew MacLeod <amacleod@redhat,com>
Andrew MacLeod [Sat, 1 Nov 2014 13:34:15 +0000 (13:34 +0000)]
2014-11-01  Andrew MacLeod  <amacleod@redhat,com>

* 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

9 years ago[Patch 7/7] Remove *_BY_PIECES_P
James Greenhalgh [Sat, 1 Nov 2014 10:38:42 +0000 (10:38 +0000)]
[Patch 7/7] Remove *_BY_PIECES_P

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

9 years ago[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized version
James Greenhalgh [Sat, 1 Nov 2014 10:15:51 +0000 (10:15 +0000)]
[Patch 6/7 AArch64] Deprecate *_BY_PIECES_P, move to hookized version

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

9 years ago[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized version
James Greenhalgh [Sat, 1 Nov 2014 10:14:08 +0000 (10:14 +0000)]
[Patch 5/7 mips] Deprecate *_BY_PIECES_P, move to hookized version

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

9 years ago[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized version
James Greenhalgh [Sat, 1 Nov 2014 10:12:24 +0000 (10:12 +0000)]
[Patch 4/7 sh] Deprecate *_BY_PIECES_P, move to hookized version

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

9 years ago[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized version
James Greenhalgh [Sat, 1 Nov 2014 08:44:39 +0000 (08:44 +0000)]
[Patch 3/7 arc] Deprecate *_BY_PIECES_P, move to hookized version

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

9 years ago[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized version
James Greenhalgh [Sat, 1 Nov 2014 08:38:36 +0000 (08:38 +0000)]
[Patch 2/7 s390] Deprecate *_BY_PIECES_P, move to hookized version

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

9 years ago[Patch 1/7] Hookize *_BY_PIECES_P
James Greenhalgh [Sat, 1 Nov 2014 08:13:09 +0000 (08:13 +0000)]
[Patch 1/7] Hookize *_BY_PIECES_P

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

9 years agoDaily bump.
GCC Administrator [Sat, 1 Nov 2014 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216994

9 years agore PR target/63702 (i386.c:36276: possible missing break ?)
Uros Bizjak [Fri, 31 Oct 2014 21:56:05 +0000 (22:56 +0100)]
re PR target/63702 (i386.c:36276: possible missing break ?)

PR target/63702
* config/i386/i386.c (ix86_expand_args_builtin): Remove extra
assignment to 'nargs' variable.

From-SVN: r216991

9 years agore PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)
Uros Bizjak [Fri, 31 Oct 2014 21:52:22 +0000 (22:52 +0100)]
re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)

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

9 years agoMake std::vector<bool> meet C++11 allocator requirements.
Jonathan Wakely [Fri, 31 Oct 2014 20:49:40 +0000 (20:49 +0000)]
Make std::vector<bool> meet C++11 allocator requirements.

* 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

9 years agore PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)
Uros Bizjak [Fri, 31 Oct 2014 19:47:36 +0000 (20:47 +0100)]
re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)

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

9 years agore PR rtl-optimization/63659 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
Jakub Jelinek [Fri, 31 Oct 2014 19:42:39 +0000 (20:42 +0100)]
re PR rtl-optimization/63659 (wrong code at -O2 and -O3 on x86_64-linux-gnu)

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

9 years agocontrib.texi: Add contribution notes for Balaji Iyer (Cilk+) and Jonny Grant (collect2).
Jeff Law [Fri, 31 Oct 2014 19:34:18 +0000 (13:34 -0600)]
contrib.texi: Add contribution notes for Balaji Iyer (Cilk+) and Jonny Grant (collect2).

       * doc/contrib.texi: Add contribution notes for Balaji Iyer (Cilk+)
        and Jonny Grant (collect2).

From-SVN: r216984

9 years agobuiltins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P, CONVERT_EXPR_C...
Richard Biener [Fri, 31 Oct 2014 16:26:43 +0000 (16:26 +0000)]
builtins.c (fold_builtin_atomic_always_lock_free): Use CONVERT_EXPR_P, 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

9 years ago2014-10-31 Hristian Kirtchev <kirtchev@adacore.com>
Arnaud Charlet [Fri, 31 Oct 2014 14:49:31 +0000 (15:49 +0100)]
2014-10-31  Hristian Kirtchev  <kirtchev@adacore.com>

* 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

9 years agoMakefile.in (arm-vxworks): Update target pairs.
Olivier Hainque [Fri, 31 Oct 2014 14:33:16 +0000 (14:33 +0000)]
Makefile.in (arm-vxworks): Update target pairs.

2014-10-31  Olivier Hainque  <hainque@adacore.com>

* gcc-interface/Makefile.in (arm-vxworks): Update target pairs.

From-SVN: r216980

9 years ago[multiple changes]
Arnaud Charlet [Fri, 31 Oct 2014 14:28:08 +0000 (15:28 +0100)]
[multiple changes]

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

9 years agogenmatch.c (expr::gen_transform): Use NOP_EXPRs instead of CONVERT_EXPRs in generated...
Richard Biener [Fri, 31 Oct 2014 13:43:53 +0000 (13:43 +0000)]
genmatch.c (expr::gen_transform): Use NOP_EXPRs instead of CONVERT_EXPRs in 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

9 years agore PR target/63534 (Bootstrap failure on x86_64/i686-linux)
Evgeny Stupachenko [Fri, 31 Oct 2014 13:30:06 +0000 (13:30 +0000)]
re PR target/63534 (Bootstrap failure on x86_64/i686-linux)

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

9 years ago* gcc.target/i386/pr23098.c: Remove xfail.
Evgeny Stupachenko [Fri, 31 Oct 2014 13:23:46 +0000 (13:23 +0000)]
* gcc.target/i386/pr23098.c: Remove xfail.

From-SVN: r216974

9 years agoipa-inline.c (want_inline_small_function_p): Fix typo and formatting.
Eric Botcazou [Fri, 31 Oct 2014 12:32:05 +0000 (12:32 +0000)]
ipa-inline.c (want_inline_small_function_p): Fix typo and formatting.

* 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

9 years ago* gnat.dg/opt42.ad[sb]: New test.
Eric Botcazou [Fri, 31 Oct 2014 12:18:30 +0000 (12:18 +0000)]
* gnat.dg/opt42.ad[sb]: New test.

From-SVN: r216972

9 years agore PR tree-optimization/63259 (Detecting byteswap sequence)
Thomas Preud'homme [Fri, 31 Oct 2014 11:55:07 +0000 (11:55 +0000)]
re PR tree-optimization/63259 (Detecting byteswap sequence)

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

9 years agoprj-proc.adb (Recursive_Process): Make sure that the project display name is never...
Vincent Celier [Fri, 31 Oct 2014 11:47:11 +0000 (11:47 +0000)]
prj-proc.adb (Recursive_Process): Make sure that the project display name is 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

9 years ago[multiple changes]
Arnaud Charlet [Fri, 31 Oct 2014 11:43:09 +0000 (12:43 +0100)]
[multiple changes]

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

9 years ago[multiple changes]
Arnaud Charlet [Fri, 31 Oct 2014 11:39:37 +0000 (12:39 +0100)]
[multiple changes]

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

9 years ago[multiple changes]
Arnaud Charlet [Fri, 31 Oct 2014 11:37:44 +0000 (12:37 +0100)]
[multiple changes]

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

9 years ago[multiple changes]
Arnaud Charlet [Fri, 31 Oct 2014 11:22:19 +0000 (12:22 +0100)]
[multiple changes]

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

9 years agoMakefile.def (libcc1): Remove bootstrap=true;.
Jakub Jelinek [Fri, 31 Oct 2014 11:19:13 +0000 (12:19 +0100)]
Makefile.def (libcc1): Remove bootstrap=true;.

* Makefile.def (libcc1): Remove bootstrap=true;.
* Makefile.in: Regenerated.

From-SVN: r216964

9 years ago[multiple changes]
Arnaud Charlet [Fri, 31 Oct 2014 11:18:47 +0000 (12:18 +0100)]
[multiple changes]

2014-10-31  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch4.adb: Minor tweak.

2014-10-31  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch12.adb (Analyze_Package_Instantiation): Do not inline with
back-end inlining.
(Must_Inline_Subp): Delete.
* sem_util.ads, sem_util.adb (Must_Inline): Likewise.

2014-10-31  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb (Freeze_Entity): A default_pool does not apply to
internal access types generated for 'access references.
* sem_prag (Analyze_Pragma, case Default_Pool): If the name is
not null it must designate a variable.

2014-10-31  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb: Minor reformatting.

2014-10-31  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Build_Derived_Private_Type): If the derived
type has access discriminants, create itype references for their
anonymous types, so that they are elaborated before the generated
bodies for the primitive operations of the type.

2014-10-31  Tristan Gingold  <gingold@adacore.com>

* prj-conf.adb (Locate_Runtime): Remove procedure.

From-SVN: r216963

9 years agore PR sanitizer/63697 (-fsanitize=undefined doesn't detect some subtraction overflows)
Jakub Jelinek [Fri, 31 Oct 2014 11:18:13 +0000 (12:18 +0100)]
re PR sanitizer/63697 (-fsanitize=undefined doesn't detect some subtraction overflows)

PR sanitizer/63697
* tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
instead of vr0.min - vr1.min and vr0.max - vr1.max.

* c-c++-common/ubsan/overflow-sub-3.c: New test.

From-SVN: r216962

9 years ago[multiple changes]
Arnaud Charlet [Fri, 31 Oct 2014 11:15:51 +0000 (12:15 +0100)]
[multiple changes]

2014-10-31  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Has_Excluded_Declaration): With back-end inlining,
only return true for nested packages.
(Cannot_Inline): Issue errors/warnings whatever the optimization level
for back-end inlining and remove assertion.

2014-10-31  Sergey Rybin  <rybin@adacore.com frybin>

* table.adb (Tree_Read, Tree_Write): Use parentheses to specify
the desired order of '*' and '/' operations to avoid overflow.

2014-10-31  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Do_Inline): Remove unreachable code.
(Do_Inline_Always): Likewise.

2014-10-31  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Stand_Alone_Library): Change error message
when library has no Ada interfaces and Library_Standalone is
declared.

From-SVN: r216961