gcc.git
8 years ago[MIPS] Scheduler fix for the 74k & 24k.
Simon Dardis [Wed, 12 Aug 2015 10:44:56 +0000 (11:44 +0100)]
[MIPS] Scheduler fix for the 74k & 24k.

2015-08-12  Simon Dardis  <simon.dardis@imgtec.com>

gcc/
* config/mips/mips.c (mips_store_data_bypass_p): Bring code into
line with comments.
* config/mips/sb1.md: Update usage of mips_store_data_bypass_p.

From-SVN: r226805

8 years agogimple.h (remove_pointer): New trait.
Richard Biener [Wed, 12 Aug 2015 07:42:31 +0000 (07:42 +0000)]
gimple.h (remove_pointer): New trait.

2015-08-12  Richard Biener  <rguenther@suse.de>

* gimple.h (remove_pointer): New trait.
(GIMPLE_CHECK2): New inline template function.
(gassign::code_): New constant static member.
(is_a_helper<const gassign *>): Add.
(gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
and forward to a new gassign overload with less checking and a
cheaper way to access the operand.
(gimple_assign_lhs_ptr): Likewise.
(gimple_assign_set_lhs): Likewise.
(gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
Likewise.
(gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
Likewise.
(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
Likewise.
(gimple_assign_rhs_code): Likewise.
* gimple.c (gassign::code_): Define.

From-SVN: r226802

8 years agotree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Eliminate edges marked...
Richard Biener [Wed, 12 Aug 2015 07:34:07 +0000 (07:34 +0000)]
tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Eliminate edges marked as not executable by SCCVN.

2015-08-12  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Eliminate edges marked as not executable by SCCVN.
* tree-ssa-sccvn.c: Include gimple-iterator.h.
(cond_dom_walker): Rename to sccvn_dom_walker.
(sccvn_dom_walker::before_dom_children): Value-number defs
of all stmts.
(run_scc_vn): Remove loop value-numbering all SSA names.
Drop not visited SSA names to varying.

* gcc.dg/tree-ssa/ssa-fre-43.c: Adjust.

From-SVN: r226801

8 years agoFix vect/trapv-vect-reduc-4.c for sparc
Tom de Vries [Wed, 12 Aug 2015 05:50:55 +0000 (05:50 +0000)]
Fix vect/trapv-vect-reduc-4.c for sparc

2015-08-12  Tom de Vries  <tom@codesourcery.com>

PR testsuite/67175
* gcc.dg/vect/trapv-vect-reduc-4.c: Add reduction detection scan.
Handle absence of vector min/max for sparc.

From-SVN: r226800

8 years agoDaily bump.
GCC Administrator [Wed, 12 Aug 2015 00:16:10 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226798

8 years agocompiler: Check for EOF in malformed signatures.
Ian Lance Taylor [Tue, 11 Aug 2015 23:11:36 +0000 (23:11 +0000)]
compiler: Check for EOF in malformed signatures.

    When parsing a malformed function declaration with invalid parameters,
    gccgo would infinitely loop looking for the end of the function
    declaration.

    Fixes golang/go#11530, golang/go#11531.

    Reviewed-on: https://go-review.googlesource.com/13065

From-SVN: r226795

8 years agocompiler: Handle newlines in general comments.
Ian Lance Taylor [Tue, 11 Aug 2015 22:45:32 +0000 (22:45 +0000)]
compiler: Handle newlines in general comments.

    On comments, the specification says
    (http://golang.org/ref/spec#Comments): General comments start with the
    character sequence /* and continue through the character sequence */.
    A general comment containing one or more newlines acts like a newline,
    otherwise it acts like a space.

    Fixes golang/go#11528.

    Reviewed-on: https://go-review.googlesource.com/13064

From-SVN: r226794

8 years agoreplace several uses of the anon namespace with GCC_FINAL
Trevor Saunders [Tue, 11 Aug 2015 22:39:37 +0000 (22:39 +0000)]
replace several uses of the anon namespace with GCC_FINAL

gcc/ChangeLog:

2015-08-11  Trevor Saunders  <tbsaunde@tbsaunde.org>

* compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
namespace.

From-SVN: r226793

8 years agoadd GCC_FINAL to ansidecl.h
Trevor Saunders [Tue, 11 Aug 2015 22:39:31 +0000 (22:39 +0000)]
add GCC_FINAL to ansidecl.h

include/ChangeLog:

2015-08-11  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ansidecl.h (GCC_FINAL): New macro.

From-SVN: r226792

8 years agocompiler: Don't make void-typed temporaries.
Ian Lance Taylor [Tue, 11 Aug 2015 21:37:26 +0000 (21:37 +0000)]
compiler: Don't make void-typed temporaries.

    Fixes golang/go#11568.

    Reviewed-on: https://go-review.googlesource.com/12653

From-SVN: r226788

8 years ago* gcc.target/i386/avx2-vect-shift.c: Remove unneeded dg directives.
Uros Bizjak [Tue, 11 Aug 2015 18:27:46 +0000 (20:27 +0200)]
* gcc.target/i386/avx2-vect-shift.c: Remove unneeded dg directives.

From-SVN: r226787

8 years agoconfigure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
Uros Bizjak [Tue, 11 Aug 2015 17:59:25 +0000 (19:59 +0200)]
configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.

* configure.ac (tools/gjdoc): Depend on CREATE_WRAPPERS.
* configure: Regenerate.
* tools/Makefile.am: Remove unneeded dependencies for Automake 1.11.
* tools/Makefile.in: Regenerate.

From-SVN: r226785

8 years agore PR target/66954 (function multiversioning fails for target "aes")
Uros Bizjak [Tue, 11 Aug 2015 17:53:41 +0000 (19:53 +0200)]
re PR target/66954 (function multiversioning fails for target "aes")

libgcc/ChangeLog:

PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
(get_available_features): Handle FEATURE_PCLMUL.

gcc/ChangeLog:

PR target/66954
* config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
to enum feature_priority and feature_list.
(fold_builtin_cpu): Add F_PCLMUL to enum processor_features
and isa_names_table.

gcc/testsuite/ChangeLog:

PR target/66954
* g++.dg/ext/mv25.C: New test.

From-SVN: r226784

8 years agotree-vect-stmts.c (vectorizable_shift): Add missed test on vect_induction_def.
Yuri Rumyantsev [Tue, 11 Aug 2015 13:52:17 +0000 (13:52 +0000)]
tree-vect-stmts.c (vectorizable_shift): Add missed test on vect_induction_def.

gcc/

* tree-vect-stmts.c (vectorizable_shift): Add missed test on
vect_induction_def.

gcc/testsuite:

* gcc.target/i386/avx2-vect-shift.c: New test.

From-SVN: r226781

8 years agore PR c/66098 (#pragma diagnostic 'ignored' not fully undone by pop for strict-overflow)
Manuel López-Ibáñez [Tue, 11 Aug 2015 13:34:00 +0000 (13:34 +0000)]
re PR c/66098 (#pragma diagnostic 'ignored' not fully undone by pop for strict-overflow)

gcc/ChangeLog:

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

PR c/66098
PR c/66711
* diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
account when deciding what was the command-line status.

gcc/testsuite/ChangeLog:

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

PR c/66098
PR c/66711
* gcc.dg/pragma-diag-3.c: New test.
* gcc.dg/pragma-diag-4.c: New test.

From-SVN: r226780

8 years ago* tree-vrp.c (simplify_abs_using_ranges): Simplify.
Nathan Sidwell [Tue, 11 Aug 2015 12:34:43 +0000 (12:34 +0000)]
* tree-vrp.c (simplify_abs_using_ranges): Simplify.

From-SVN: r226779

8 years agotree-ssa-phiopt.c (minmax_replacement): Create new ssa name if we're not the only...
Nathan Sidwell [Tue, 11 Aug 2015 12:34:06 +0000 (12:34 +0000)]
tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if we're not the only contributor to target phi.

* tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
we're not the only contributor to target phi.

testsuite/
* c-c++-common/dfp/operator-comma.c: Call init function.
* c-c++-common/dfp/convert-dfp-2.c: New test.

From-SVN: r226778

8 years ago[AArch64][Obivious] Add the missing ',' for enumeration element
Jiong Wang [Tue, 11 Aug 2015 11:17:28 +0000 (11:17 +0000)]
[AArch64][Obivious] Add the missing ',' for enumeration element

2015-08-11  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
  FIXED_REG0.

From-SVN: r226777

8 years agoAdd todo comment for move_sese_region_to_fn
Tom de Vries [Tue, 11 Aug 2015 09:15:19 +0000 (09:15 +0000)]
Add todo comment for move_sese_region_to_fn

2015-08-11  Tom de Vries  <tom@codesourcery.com>

* tree-cfg.c (move_sese_region_to_fn): Add todo comment.

From-SVN: r226776

8 years agoFix test failure on Solaris 9 where strtod() does not accept hexadecimals
Iain Buclaw [Tue, 11 Aug 2015 07:12:19 +0000 (07:12 +0000)]
Fix test failure on Solaris 9 where strtod() does not accept hexadecimals

2015-08-11  Iain Buclaw  <ibuclaw@gdcproject.org>

libiberty/

* d-demangle.c (dlang_parse_real): Remove call to strtod.
(strtod): Remove declaration.
* testsuite/d-demangle-expected: Update float and complex literal
tests to check correct hexadecimal demangling.

From-SVN: r226774

8 years agoDaily bump.
GCC Administrator [Tue, 11 Aug 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226773

8 years agore PR libfortran/67140 (undefined reference to _gfortran_mvbits_i16)
Steven G. Kargl [Mon, 10 Aug 2015 21:45:01 +0000 (21:45 +0000)]
re PR libfortran/67140 (undefined reference to _gfortran_mvbits_i16)

2015-08-10  Steven G. Kargl  <kargl@gcc.gnu.org>

PR libfortran/67140
* intrinsics/mvbits.c: Fix build for paltforms without c_int128_t.

From-SVN: r226769

8 years agoTreat model == 0x4f as Broadwell
H.J. Lu [Mon, 10 Aug 2015 19:19:05 +0000 (19:19 +0000)]
Treat model == 0x4f as Broadwell

gcc/testsuite/

* gcc.target/i386/builtin_target.c (check_intel_cpu_model):
Treat model == 0x4f as Broadwell.

libgcc/

* config/i386/cpuinfo.c (get_intel_cpu): Treat model == 0x4f as
Broadwell.

From-SVN: r226766

8 years agoUpdate -mtune=knl for Knights Landing
H.J. Lu [Mon, 10 Aug 2015 18:59:35 +0000 (18:59 +0000)]
Update -mtune=knl for Knights Landing

From:

https://software.intel.com/sites/default/files/managed/e9/b5/Knights-Corner-is-your-path-to-Knights-Landing.pdf

Knights Landing is “Based on Intel Atom core (based on Silvermont
microarchitecture) with many HPC enhancements.”

This patch replaces CPU_KNL with CPU_SLM to tune for Knights Landing.

* config/i386/i386.c (processor_alias_table): Replace CPU_KNL
with CPU_SLM.
* config/i386/i386.md (cpu): Remove knl.

From-SVN: r226765

8 years ago[multiple changes]
Steven G. Kargl [Mon, 10 Aug 2015 17:42:00 +0000 (17:42 +0000)]
[multiple changes]

2015-08-10  Steven G. Kargl  <kargl@gcc.gnu.org>

PR libfortran/67140
* gfortran.map: Add _gfortran_mvbits_i16.
* intrinsics/mvbits.c: Generate mvbits for c_int128_t.

2015-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

PR libfortran/67140
* gfortran.dg/pr67140.f90: New test.

From-SVN: r226764

8 years ago[PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory...
Thomas Schwinge [Mon, 10 Aug 2015 16:48:26 +0000 (18:48 +0200)]
[PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution

gcc/
* builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
open-coded sequence.
* omp-low.c (oacc_process_reduction_data): Remove handline of
GOMP_DEVICE_HOST_NONSHM.
gcc/testsuite/
* c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C.
include/
* gomp-constants.c (GOMP_DEVICE_HOST_NONSHM): Remove.
libgomp/
* libgomp-plugin.h (enum offload_target_type): Remove
OFFLOAD_TARGET_TYPE_HOST_NONSHM.
* openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
* openacc.h (enum acc_device_t): Likewise.
* openacc_lib.h: Likewise.
* oacc-init.c (name_of_acc_device_t): Don't handle it.
(acc_on_device): Just use __builtin_acc_on_device.
* testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
of acc_on_device builtin.
* plugin/plugin-host.h: Remove file.
* plugin/plugin-host.c: Likewise, but salvage some content into...
* oacc-host.c: ... this file.
* plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
* plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
* Makefile.in: Regenerate.
* configure: Likewise.
* testsuite/lib/libgomp.exp
(check_effective_target_openacc_host_nonshm_selected): Remove.
* testsuite/libgomp.oacc-c++/c++.exp: Don't handle
ACC_DEVICE_TYPE=host_nonshm.
* testsuite/libgomp.oacc-c/c.exp: Likewise.
* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
* testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.

From-SVN: r226763

8 years agoEmpty libgomp for nvptx
Thomas Schwinge [Mon, 10 Aug 2015 15:53:33 +0000 (17:53 +0200)]
Empty libgomp for nvptx

* configure.ac (noconfigdirs): Don't add "target-libgomp" for target
nvptx*-*-*.
* configure: Regenerate.
libgomp/
* config/nvptx/affinity.c: New file.
* config/nvptx/alloc.c: Likewise.
* config/nvptx/bar.c: Likewise.
* config/nvptx/barrier.c: Likewise.
* config/nvptx/critical.c: Likewise.
* config/nvptx/env.c: Likewise.
* config/nvptx/error.c: Likewise.
* config/nvptx/fortran.c: Likewise.
* config/nvptx/iter.c: Likewise.
* config/nvptx/iter_ull.c: Likewise.
* config/nvptx/libgomp-plugin.c: Likewise.
* config/nvptx/lock.c: Likewise.
* config/nvptx/loop.c: Likewise.
* config/nvptx/loop_ull.c: Likewise.
* config/nvptx/mutex.c: Likewise.
* config/nvptx/oacc-async.c: Likewise.
* config/nvptx/oacc-cuda.c: Likewise.
* config/nvptx/oacc-host.c: Likewise.
* config/nvptx/oacc-init.c: Likewise.
* config/nvptx/oacc-mem.c: Likewise.
* config/nvptx/oacc-parallel.c: Likewise.
* config/nvptx/oacc-plugin.c: Likewise.
* config/nvptx/omp-lock.h: Likewise.
* config/nvptx/ordered.c: Likewise.
* config/nvptx/parallel.c: Likewise.
* config/nvptx/proc.c: Likewise.
* config/nvptx/ptrlock.c: Likewise.
* config/nvptx/sections.c: Likewise.
* config/nvptx/sem.c: Likewise.
* config/nvptx/single.c: Likewise.
* config/nvptx/splay-tree.c: Likewise.
* config/nvptx/target.c: Likewise.
* config/nvptx/task.c: Likewise.
* config/nvptx/team.c: Likewise.
* config/nvptx/time.c: Likewise.
* config/nvptx/work.c: Likewise.
* configure.ac: Don't probe pthreads support for host nvptx*-*-*.
* configure: Regenerate.
* configure.tgt (config_path): Set to "nvptx" for target
nvptx*-*-*.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r226760

8 years agoFix offloading machine mode stream reading
Thomas Schwinge [Mon, 10 Aug 2015 15:22:30 +0000 (17:22 +0200)]
Fix offloading machine mode stream reading

... in context of the GET_MODE_INNER changes applied in r226328.

gcc/
* lto-streamer-in.c (lto_input_mode_table): Adjust to
GET_MODE_INNER changes.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.

From-SVN: r226759

8 years agoCorrectly advance iterator in offloading machine mode stream reading
Thomas Schwinge [Mon, 10 Aug 2015 15:22:24 +0000 (17:22 +0200)]
Correctly advance iterator in offloading machine mode stream reading

gcc/
* lto-streamer-in.c (lto_input_mode_table): Correctly advance
iterator.

Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
From-SVN: r226758

8 years ago[AArch64] Recommit correct version for improving TLS descriptor pattern
Ramana Radhakrishnan [Mon, 10 Aug 2015 10:06:28 +0000 (10:06 +0000)]
[AArch64] Recommit correct version for improving TLS descriptor pattern

2015-08-06    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
  * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
  (REG_CLASS_NAMES): Likewise.
  (REG_CLASS_CONTENTS): Likewise.
  * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
  (aarch64_register_move_cost): Likewise.
  (aarch64_load_symref_appropriately): Invoke the new added pattern if
  possible.
  * config/aarch64/constraints.md (Uc0): New constraint.

gcc/testsuite/
  * gcc.target/aarch64/tlsdesc_hoist.c: New testcase.

From-SVN: r226757

8 years ago[AArch64] Revert wrong commit of "Improve TLS Descriptor pattern to release RTL loop...
Jiong Wang [Mon, 10 Aug 2015 10:00:56 +0000 (10:00 +0000)]
[AArch64] Revert wrong commit of "Improve TLS Descriptor pattern to release RTL loop IV opt"

Revert the wrong commit of

  2015-08-06    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      Jiong Wang  <jiong.wang@arm.com>

* config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
* config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
(aarch64_register_move_cost): Likewise.
(aarch64_load_symref_appropriately): Invoke the new added pattern if
possible.
* config/aarch64/constraints.md (Uc0): New constraint.

From-SVN: r226756

8 years agore PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and...
Uros Bizjak [Mon, 10 Aug 2015 05:13:01 +0000 (07:13 +0200)]
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)

PR fortran/64022
* gfortran.dg/ieee/large_4.f90: New test.

From-SVN: r226755

8 years agoDaily bump.
GCC Administrator [Mon, 10 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226754

8 years agooptions.texi (EnabledBy): Document that the argument must be a Common option.
Manuel López-Ibáñez [Sun, 9 Aug 2015 19:30:17 +0000 (19:30 +0000)]
options.texi (EnabledBy): Document that the argument must be a Common option.

gcc/ChangeLog:

2015-08-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* doc/options.texi (EnabledBy): Document that the argument must be
a Common option.
* doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
Not enabled by -Wall.
* optc-gen.awk: Give nicer error messages. Detect if the argument
of EnabledBy is not a Common option.
* common.opt (Wnull-dereference): Not enabled by -Wall.
* opt-functions.awk (lang_enabled_by): Nicer error messages.

gcc/c-family/ChangeLog:

2015-08-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.

From-SVN: r226751

8 years agore PR libfortran/66936 (io/unix.c gratuitously uses S_IRWXG and S_IRWXO on the basis...
Francois-Xavier Coudert [Sun, 9 Aug 2015 16:43:42 +0000 (16:43 +0000)]
re PR libfortran/66936 (io/unix.c gratuitously uses S_IRWXG and S_IRWXO on the basis that umask() is available)

PR libfortran/66936
* io/unix.c (__MINGW32__): Undefine HAVE_UMASK.

From-SVN: r226750

8 years agoTreat model == 0x4f as Broadwell
H.J. Lu [Sun, 9 Aug 2015 13:59:08 +0000 (13:59 +0000)]
Treat model == 0x4f as Broadwell

From Intel SDM Vol 3:

Table 35-29 lists MSRs that are common to processors based on the
Broadwell microarchitectures (including CPUID signatures 06_3DH,
06_47H, 06_4FH, and 06_56H).

* config/i386/driver-i386.c (host_detect_local_cpu): Treat
model == 0x4f as Broadwell.

From-SVN: r226749

8 years agoMakefile.am (libquadmath_la_SOURCES): Add math/logbq.c.
Francois-Xavier Coudert [Sun, 9 Aug 2015 08:46:52 +0000 (08:46 +0000)]
Makefile.am (libquadmath_la_SOURCES): Add math/logbq.c.

* Makefile.am (libquadmath_la_SOURCES): Add math/logbq.c.
* Makefile.in: Regenerate.
* libquadmath.texi: Document logbq.
* quadmath.h: Add logbq prototype.
* quadmath.map: Add logbq.
* quadmath_weak.h: Add logbq prototype.
* math/logbq.c: New file

From-SVN: r226748

8 years agoDaily bump.
GCC Administrator [Sun, 9 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226746

8 years agoImplement N4279, Improved insertion interface for unique-key maps.
Ville Voutilainen [Sat, 8 Aug 2015 22:57:13 +0000 (01:57 +0300)]
Implement N4279, Improved insertion interface for unique-key maps.

2015-08-09  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement N4279, Improved insertion interface for unique-key maps.
* include/bits/stl_map.h (try_emplace, insert_or_assign): New.
* include/bits/stl_tree.h (_M_get_insert_unique_pos,
_M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
_M_get_insert_hint_equal_pos): Make public.
* include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
Likewise.
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
Likewise.
* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
Likewise.

From-SVN: r226743

8 years agore PR c++/67144 ([C++1z] ICE; in get_constraints, at cp/pt.c:23346)
Jason Merrill [Sat, 8 Aug 2015 22:04:34 +0000 (18:04 -0400)]
re PR c++/67144 ([C++1z] ICE; in get_constraints, at cp/pt.c:23346)

PR c++/67144
* call.c (joust): Only call more_constrained on decls.

From-SVN: r226740

8 years agore PR c++/67152 ([concepts] bogus "partial specialization of ‘foo<T>’ after instantia...
Jason Merrill [Sat, 8 Aug 2015 22:01:39 +0000 (18:01 -0400)]
re PR c++/67152 ([concepts] bogus "partial specialization of ‘foo<T>’ after instantiation" error)

PR c++/67152
* pt.c (process_partial_specialization): Call
associate_classtype_constraints.

From-SVN: r226739

8 years agore PR c++/67159 ([c++concepts] Segfault while diagnosing constraint violation)
Jason Merrill [Sat, 8 Aug 2015 22:01:29 +0000 (18:01 -0400)]
re PR c++/67159 ([c++concepts] Segfault while diagnosing constraint violation)

PR c++/67159
* constraint.cc (finish_template_introduction):
SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.

From-SVN: r226738

8 years agore PR c++/67142 ([C++1z] ICE: tree check: expected template_decl, have field_decl...
Jason Merrill [Sat, 8 Aug 2015 22:01:21 +0000 (18:01 -0400)]
re PR c++/67142 ([C++1z] ICE: tree check: expected template_decl, have field_decl in equal, at cp/pt.c:1665)

PR c++/67142
* pt.c (equal): Make sure tmpl is actually a template.

From-SVN: r226737

8 years agore PR libstdc++/67114 ([MinGW64] build failure with POSIX threads enabled)
Jason Merrill [Sat, 8 Aug 2015 22:01:12 +0000 (18:01 -0400)]
re PR libstdc++/67114 ([MinGW64] build failure with POSIX threads enabled)

PR c++/67114
* call.c (joust): Only call more_constrained on decls.

From-SVN: r226736

8 years agore PR fortran/67059 (gfortran --version output is inconsistent with the rest of GCC)
Francois-Xavier Coudert [Sat, 8 Aug 2015 19:59:16 +0000 (19:59 +0000)]
re PR fortran/67059 (gfortran --version output is inconsistent with the rest of GCC)

PR fortran/67059
* gfortranspec.c (lang_specific_driver): Adjust --version output.

From-SVN: r226734

8 years agoImplement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228...
Ville Voutilainen [Sat, 8 Aug 2015 11:07:34 +0000 (14:07 +0300)]
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) and N4366 LWG 2228...

2015-08-08  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
templated assignment
* include/bits/unique_ptr.h
(__remove_cv, __is_derived_Tp): Remove.
(default_delete::default_delete(const default_delete<_Up[]>)):
Constrain with array convertibility.
(default_delete::operator(_Up*)): Turn into a template,
constrain with array convertibility.
(__safe_conversion_up): New, single object version.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
convertibility.
(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint.
(__safe_conversion_up): Array version, renamed from __safe_conversion,
updated to implement N4089.
(__safe_conversion_raw): New.
(unique_ptr(_Up)): Turn into a template, constrain with array
convertibility.
(unique_ptr(_Up,
        typename conditional<is_reference<deleter_type>::value,
        deleter_type, const deleter_type&>::type)): Likewise.
(unique_ptr(_Up, typename
  remove_reference<deleter_type>::type&&)): Likewise.
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
is_assignable as a constraint (array version).
(reset(_Up)): Turn into a template, constrain with array
convertibility.
(reset(nullptr_t)): New.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
* testsuite/20_util/unique_ptr/dr2228.cc: New.
* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.

From-SVN: r226733

8 years agoWhen undoing symbols, also restore common block lists
Bud Davis [Sat, 8 Aug 2015 10:40:06 +0000 (10:40 +0000)]
When undoing symbols, also restore common block lists

gcc/fortran/
2015-08-08  Bud Davis  <jmdavis@link.com>
    Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/59746
* symbol.c (gfc_restore_last_undo_checkpoint): Delete a common block
symbol if it was put in the list.

gcc/testsuite/
2015-08-08  Bud Davis  <jmdavis@link.com>

PR fortran/59746
* gfortran.dg/common_22.f90: New.

Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r226732

8 years agore PR rtl-optimization/67028 (combine bug. Different assumptions about subreg in...
Segher Boessenkool [Sat, 8 Aug 2015 01:51:27 +0000 (03:51 +0200)]
re PR rtl-optimization/67028 (combine bug. Different assumptions about subreg in different places.)

PR rtl-optimization/67028
* combine.c (simplify_comparison): Fix comment.  Rearrange code.
Add test to see if a const_int fits in the new mode.

gcc/testsuite/
PR rtl-optimization/67028
* gcc.dg/pr67028.c: New testcase.

From-SVN: r226731

8 years ago* config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
DJ Delorie [Sat, 8 Aug 2015 01:09:20 +0000 (21:09 -0400)]
* config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.

From-SVN: r226730

8 years agoDaily bump.
GCC Administrator [Sat, 8 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226729

8 years agore PR libfortran/66458 (Loading libgfortran.so changes the FPU exception flags)
Francois-Xavier Coudert [Fri, 7 Aug 2015 16:23:53 +0000 (16:23 +0000)]
re PR libfortran/66458 (Loading libgfortran.so changes the FPU exception flags)

PR libfortran/66458
* runtime/main.c (init): Only call set_fpu() if requested by user.

From-SVN: r226725

8 years agoAdd alternative_mask to ira_implicitly_set_insn_hard_regs
H.J. Lu [Fri, 7 Aug 2015 16:18:09 +0000 (16:18 +0000)]
Add alternative_mask to ira_implicitly_set_insn_hard_regs

Since ira_implicitly_set_insn_hard_regs may be called outside of
ira-lives.c, it can't use the local variable, preferred_alternatives.
This patch adds an alternative_mask argument to
ira_implicitly_set_insn_hard_regs.

gcc/

PR rtl-optimization/67029
* ira-color.c: Include "recog.h" before including "ira-int.h".
* target-globals.c: Likewise.
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
adds an alternative_mask argument and use it instead of
preferred_alternatives.
* ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
* ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
* sched-deps.c: Include "ira-int.h" after including "ira.h".
(sched_analyze_insn): Update call to
ira_implicitly_set_insn_hard_regs.
* sel-sched.c: Include "ira-int.h" after including "ira.h".
(implicit_clobber_conflict_p): Update call to
ira_implicitly_set_insn_hard_regs.

gcc/testsuite/

PR rtl-optimization/67029
* gcc.dg/pr67029.c: New test.

From-SVN: r226724

8 years agore PR fortran/64104 ([F2003][IEEE] Allow IEEE functions in specification expressions)
Francois-Xavier Coudert [Fri, 7 Aug 2015 15:02:15 +0000 (15:02 +0000)]
re PR fortran/64104 ([F2003][IEEE] Allow IEEE functions in specification expressions)

PR fortran/64104

* expr.c (gfc_check_init_expr): Allow some IEEE functions in
constant expressions.
(external_spec_function): Allow some IEEE functions in specification
expressions.
* simplify.c (gfc_simplify_ieee_selected_real_kind): Remove.
(simplify_ieee_selected_real_kind, simplify_ieee_support,
matches_ieee_function_name, gfc_simplify_ieee_functions): New
functions.
* gfortran.h (gfc_simplify_ieee_selected_real_kind): Remove
prototype.
(gfc_simplify_ieee_functions): Add prototype.

* gfortran.dg/ieee/ieee_8.f90: New test.

From-SVN: r226723

8 years ago[AArch64] Check branch types for noplt testcases
Jiong Wang [Fri, 7 Aug 2015 13:26:23 +0000 (13:26 +0000)]
[AArch64] Check branch types for noplt testcases

2015-08-07  Jiong Wang  <jiong.wang@arm.com>

gcc/testsuite/
  * gcc.target/aarch64/noplt_1.c: Check branch type instead of relocation
  modifers.
  * gcc.target/aarch64/noplt_2.c: Likewise.
  * gcc.target/aarch64/noplt_3.c: Likewise.

From-SVN: r226721

8 years agoMakefile.in (.INTERMEDIATE): Add gpl.pod.
Uros Bizjak [Fri, 7 Aug 2015 12:12:41 +0000 (14:12 +0200)]
Makefile.in (.INTERMEDIATE): Add gpl.pod.

* Makefile.in (.INTERMEDIATE): Add gpl.pod.

From-SVN: r226720

8 years agolibgo/testsuite: don't call kill without args
Ian Lance Taylor [Fri, 7 Aug 2015 10:10:00 +0000 (10:10 +0000)]
libgo/testsuite: don't call kill without args

    If the timeout subshell has no child processes,
    the "xargs | kill" will fail. Ensure there is
    some input for kill before calling it.

    Reviewed-on: https://go-review.googlesource.com/13295

From-SVN: r226719

8 years agoville
Jason Merrill [Fri, 7 Aug 2015 08:41:33 +0000 (04:41 -0400)]
ville

From-SVN: r226716

8 years agosh.c (sh_recog_treg_set_expr): Return false during expand phase to avoid codegen...
Kaz Kojima [Fri, 7 Aug 2015 08:11:45 +0000 (08:11 +0000)]
sh.c (sh_recog_treg_set_expr): Return false during expand phase to avoid codegen differences with -g.

* config/sh/sh.c (sh_recog_treg_set_expr): Return false during
expand phase to avoid codegen differences with -g.

From-SVN: r226715

8 years agotexi2pod.pl: Escape braces in regexp involving @strong{...}.
Uros Bizjak [Fri, 7 Aug 2015 06:38:07 +0000 (08:38 +0200)]
texi2pod.pl: Escape braces in regexp involving @strong{...}.

* doc/texi2pod.pl: Escape braces in regexp involving @strong{...}.

From-SVN: r226714

8 years agoAdd C++ Concepts TS support.
Andrew Sutton [Fri, 7 Aug 2015 05:44:49 +0000 (05:44 +0000)]
Add C++ Concepts TS support.

gcc/c-family/
* c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
* c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
(D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
* c-opts.c (set_std_cxx1z): Set flag_concepts.
* c.opt (fconcepts): New.
gcc/cp/
* constraint.cc, logic.cc: New files.
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Add constraint.o and logic.o.
(c++.tags): Also process .cc files.
* call.c (enum rejection_reason_code): Add rr_constraint_failure.
(print_z_candidate): Handle it.
(constraint_failure): New.
(add_function_candidate): Check constraints.
(build_new_function_call): Handle evaluating concepts.
(joust): Check more_constrained.
* class.c (add_method): Check equivalently_constrained.
(build_clone): Copy constraints.
(currently_open_class): Return tree.
(resolve_address_of_overloaded_function): Check constraints.
* constexpr.c (cxx_eval_constant_expression): Handle REQUIRES_EXPR.
(potential_constant_expression_1): Likewise.
* cp-objcp-common.c (cp_tree_size): Handle CONSTRAINT_INFO.
(cp_common_init_ts): Handle WILDCARD_DECL and REQUIRES_EXPR.
* cp-tree.def: Add CONSTRAINT_INFO, WILDCARD_DECL, REQUIRES_EXPR,
SIMPLE_REQ, TYPE_REQ, COMPOUND_REQ, NESTED_REQ, PRED_CONSTR,
EXPR_CONSTR, TYPE_CONSTR, ICONV_CONSTR, DEDUCT_CONSTR,
EXCEPT_CONSTR, PARM_CONSTR, CONJ_CONSTR, DISJ_CONSTR.
* cp-tree.h (struct tree_constraint_info, check_nonnull)
(check_constraint_info, CI_TEMPLATE_REQS, CI_DECLARATOR_REQS)
(CI_ASSOCIATED_CONSTRAINTS, CI_NORMALIZED_CONSTRAINTS)
(CI_ASSUMPTIONS, TEMPLATE_PARMS_CONSTRAINTS)
(TEMPLATE_PARM_CONSTRAINTS, COMPOUND_REQ_NOEXCEPT_P)
(PLACEHOLDER_TYPE_CONSTRAINTS, PRED_CONSTR_EXPR, EXPR_CONSTR_EXPR)
(TYPE_CONSTR_TYPE, ICONV_CONSTR_EXPR, ICONV_CONSTR_TYPE)
(DEDUCT_CONSTR_EXPR, DEDUCT_CONSTR_PATTERN)
(DEDUCT_CONSTR_PLACEHOLDER, EXCEPT_CONSTR_EXPR, PARM_CONSTR_PARMS)
(PARM_CONSTR_OPERAND, CONSTRAINT_VAR_P, CONSTRAINED_PARM_CONCEPT)
(CONSTRAINED_PARM_EXTRA_ARGS, CONSTRAINED_PARM_PROTOTYPE)
(DECL_DECLARED_CONCEPT_P, WILDCARD_PACK_P, struct cp_unevaluated)
(struct local_specialization_stack, enum auto_deduction_context)
(variable_concept_p, concept_template_p)
(struct deferring_access_check_sentinel): New.
(enum cp_tree_node_structure_enum): Add TS_CP_CONSTRAINT_INFO.
(union lang_tree_node): Add constraint_info field.
(struct lang_decl_base): Add concept_p flag.
(enum cp_decl_spec): Add ds_concept.
(struct cp_declarator): Add requires_clause.
* cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
(cxx_pretty_printer::expression): Handle REQUIRES_EXPR,
TRAIT_EXPR, *_CONSTR.
(pp_cxx_parameter_declaration_clause): Accept a chain of
PARM_DECLs.
(cxx_pretty_printer::declarator): Print requires-clause.
(pp_cxx_template_declaration): Likewise.
(pp_cxx_trait_expression): Handle CPTK_IS_SAME_AS.
(pp_cxx_requires_clause, pp_cxx_requirement)
(pp_cxx_requirement_list, pp_cxx_requirement_body)
(pp_cxx_requires_expr, pp_cxx_simple_requirement)
(pp_cxx_type_requirement, pp_cxx_compound_requirement)
(pp_cxx_nested_requirement, pp_cxx_predicate_constraint)
(pp_cxx_expression_constraint, pp_cxx_type_constraint)
(pp_cxx_implicit_conversion_constraint)
(pp_cxx_argument_deduction_constraint)
(pp_cxx_exception_constraint, pp_cxx_parameterized_constraint)
(pp_cxx_conjunction, pp_cxx_disjunction, pp_cxx_constraint): New.
* cxx-pretty-print.h: Declare them.
* decl.c (decls_match): Compare constraints.
(duplicate_decls): Likewise.  Remove constraints before freeing.
(cxx_init_decl_processing): Call init_constraint_processing.
(cp_finish_decl): Diagnose concept without initializer.
(grokfndecl, grokvardecl): Handle concepts and constraints.
(grokdeclarator): Handle concept, requires-clause.
(grokparms): No longer static.
(xref_tag_1): Check constraints.
(finish_function): Call check_function_concept.
(cp_tree_node_structure): Handle CONSTRAINT_INFO.
(check_concept_refinement, is_concept_var, check_concept_fn): New.
* decl2.c (check_classfn): Compare constraints.
(mark_used): Don't instantiate concepts.
* error.c (dump_template_decl): Print constraints.
(dump_function_decl): Likewise.
(dump_expr): Handle REQUIRES_EXPR, *_REQ, *_CONSTR.
* lex.c (init_reswords): Set D_CXX_CONCEPTS.
* method.c (implicitly_declare_fn): Copy constraints from
inherited ctor.
* parser.h (struct cp_parser): Add in_result_type_constraint_p and
prevent_constrained_type_specifiers fields.
* parser.c (make_call_declarator): Add requires_clause parm.
(cp_parser_new): Clear prevent_constrained_type_specifiers.
(cp_parser_primary_expression): Handle RID_IS_SAME_AS, RID_REQUIRES.
(cp_parser_postfix_expression): Set prevent_constrained_type_specifiers.
(cp_parser_trait_expr): Handle RID_IS_SAME_AS.
(cp_parser_declaration): Handle concept introduction.
(cp_parser_member_declaration): Likewise.
(cp_parser_template_parameter): Handle constrained parameter.
(cp_parser_type_parameter): Handle constraints.
(cp_parser_decl_specifier_seq): Handle RID_CONCEPT.
(cp_parser_template_id): Handle partial concept id.
(cp_parser_type_name): Add overload that takes typename_keyword_p.
Handle constrained parameter.
(cp_parser_nonclass_name): Handle concept names.
(cp_parser_alias_declaration): Handle constraints.
(cp_parser_late_return_type_opt): Also handle requires-clause.
(cp_parser_type_id_1): Handle deduction constraint.
(cp_parser_parameter_declaration): Handle constrained parameters.
(cp_parser_class_specifier_1): Handle constraints.
(cp_parser_template_declaration_after_parameters): Split out from
cp_parser_template_declaration_after_export.
(cp_parser_single_declaration): Handle constraints.
(synthesize_implicit_template_parm): Handle constraints.
(cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
(cp_parser_introduction_list, get_id_declarator)
(get_unqualified_id, is_constrained_parameter)
(cp_parser_check_constrained_type_parm)
(cp_parser_constrained_type_template_parm)
(cp_parser_constrained_template_template_parm)
(constrained_non_type_template_parm, finish_constrained_parameter)
(declares_constrained_type_template_parameter)
(declares_constrained_template_template_parameter)
(check_type_concept, cp_parser_maybe_constrained_type_specifier)
(cp_parser_maybe_concept_name, cp_parser_maybe_partial_concept_id)
(cp_parser_requires_clause, cp_parser_requires_clause_opt)
(cp_parser_requires_expression)
(cp_parser_requirement_parameter_list, cp_parser_requirement_body)
(cp_parser_requirement_list, cp_parser_requirement)
(cp_parser_simple_requirement, cp_parser_type_requirement)
(cp_parser_compound_requirement, cp_parser_nested_requirement)
(cp_parser_template_introduction)
(cp_parser_explicit_template_declaration)
(get_concept_from_constraint): New.
* pt.c (local_specialization_stack): Implement.
(maybe_new_partial_specialization): New.
(maybe_process_partial_specialization): Use it.
(retrieve_local_specialization, register_local_specialization)
(template_parm_to_arg, build_template_decl, extract_fnparm_pack)
(tsubst_expr): No longer static.
(spec_hasher::equal): Compare constraints.
(determine_specialization): Handle constraints.
(check_explicit_specialization): Handle concepts.
(process_template_parm): Handle constraints.
(end_template_parm_list): Add overload taking no arguments.
(process_partial_specialization): Handle concepts and constraints.
Register partial specializations of variable templates.
(redeclare_class_template): Handle constraints.
(convert_template_argument): Handle WILDCARD_DECL.  Check
is_compatible_template_arg.
(coerce_template_parameter_pack): Handle wildcard packs.
(coerce_template_parms): DR 1430 also applies to concepts.  Add
overloads taking fewer parameters.
(lookup_template_class_1): Handle constraints.
(lookup_template_variable): Concepts are always bool.
(finish_template_variable): Handle concepts and constraints.
(tsubst_friend_class): Handle constraints.
(gen_elem_of_pack_expansion_instantiation): Handle constraints.
(tsubst_pack_expansion): Handle local parameters.
(tsubst_decl) [FUNCTION_DECL]: Handle constraints.
(tsubst) [TEMPLATE_TYPE_PARM]: Handle deduction constraints.
(tsubst_copy_and_build): Handle REQUIRES_EXPR.
(more_specialized_fn, more_specialized_partial_spec): Check constraints.
(more_specialized_inst): Split out from most_specialized_instantiation.
(most_specialized_partial_spec): Check constraints.
(instantiate_decl): Never instantiate a concept.
(value_dependent_expression_p): Handle REQUIRES_EXPR, TYPE_REQ,
variable concepts.
(type_dependent_expression_p): Handle WILDCARD_DECL, REQUIRES_EXPR.
(instantiation_dependent_r): Handle REQUIRES_EXPR and concepts.
(do_auto_deduction): Add overload taking tsubst flags and context enum.
Handle constraints.
(get_template_for_ordering, most_constrained_function)
(is_compatible_template_arg, convert_wildcard_argument)
(struct constr_entry, struct constr_hasher, decl_constraints)
(valid_constraints_p, get_constraints, set_constraints)
(remove_constraints, init_constraint_processing): New.
* ptree.c (cxx_print_xnode): Handle CONSTRAINT_INFO.
* search.c (lookup_member): Do lookup in the open partial
instantiation.
* semantics.c (finish_template_template_parm): Handle constraints.
(fixup_template_type): New.
(finish_template_type): Call it.
(trait_expr_value, finish_trait_expr): Handle CPTK_IS_SAME_AS.
* tree.c (cp_tree_equal): Handle local parameters, CONSTRAINT_INFO.
(cp_walk_subtrees): Handle REQUIRES_EXPR.
* typeck.c (cp_build_function_call_vec): Check constraints.

Co-Authored-By: Braden Obrzut <admin@maniacsvault.net>
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r226713

8 years agoMakefile.def (libiconv): Define bootstrap=true.
Yaakov Selkowitz [Fri, 7 Aug 2015 05:13:52 +0000 (05:13 +0000)]
Makefile.def (libiconv): Define bootstrap=true.

2015-08-06  Yaakov Selkowitz  <yselkowi@redhat.com>

* Makefile.def (libiconv): Define bootstrap=true.
Mark pdf/html/info as missing.
(configure-gcc): Depend on all-libiconv.
(all-gcc): Ditto.
(configure-libcpp): Ditto.
(all-libcpp): Ditto.
(configure-intl): Ditto.
(all-intl): Ditto.
* Makefile.in: Regenerate.

intl/
* configure: Reflects renaming of configure.in to configure.ac

libcpp/
* configure: Regenerate.

gcc/
* configure.ac: Define LIBICONV_DEP with in-tree libiconv.
* configure: Regenerate.

From-SVN: r226712

8 years agoDaily bump.
GCC Administrator [Fri, 7 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226705

8 years agoMove one condition out of gfc_trans_scalar_assign
Mikael Morin [Thu, 6 Aug 2015 20:47:36 +0000 (20:47 +0000)]
Move one condition out of gfc_trans_scalar_assign

* trans.h (gfc_trans_scalar_assign): Remove fourth argument.
* trans-expr.c (gfc_trans_scalar_assign): Merge fourth into sixth
argument.
(gfc_conv_subref_array_arg, gfc_trans_subarray_assign,
 gfc_trans_subcomponent_assign, gfc_trans_assignment_1): Update callers.
* trans-array.c (gfc_conv_expr_descriptor): Ditto.
* trans-stmt.c (forall_make_variable_temp,
generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
gfc_trans_where_assign, gfc_trans_where_3): Ditto.

From-SVN: r226700

8 years agojit.dg/test-benchmark.c: add a summary of timings
David Malcolm [Thu, 6 Aug 2015 19:05:52 +0000 (19:05 +0000)]
jit.dg/test-benchmark.c: add a summary of timings

gcc/testsuite/ChangeLog:
* jit.dg/test-benchmark.c (main): Record all elapsed times at each
optimization level, and print a summary at the end.

From-SVN: r226697

8 years ago* runtime/compile_options.c (set_options): Fix typos.
Francois-Xavier Coudert [Thu, 6 Aug 2015 17:42:19 +0000 (17:42 +0000)]
* runtime/compile_options.c (set_options): Fix typos.

From-SVN: r226686

8 years agore PR c++/66533 ([C++14] ICE: in dependent_type_p, at cp/pt.c:21073)
Jason Merrill [Thu, 6 Aug 2015 16:33:14 +0000 (12:33 -0400)]
re PR c++/66533 ([C++14] ICE: in dependent_type_p, at cp/pt.c:21073)

PR c++/66533
* parser.c (cp_parser_primary_expression): Don't skip to the end
of the statement if we're parsing tentatively.

From-SVN: r226684

8 years ago[AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Jiong Wang [Thu, 6 Aug 2015 16:08:39 +0000 (16:08 +0000)]
[AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt

The instruction sequences for preparing argument for TLS descriptor
runtime resolver and the later function call to resolver can actually be
hoisted out of the loop.

Currently we can't because we have exposed the hard register X0 as
destination of "set".  While GCC's RTL data flow infrastructure will
skip or do very conservative assumption when hard register involved in
and thus some loop IV opportunities are missed.

This patch add another "tlsdesc_small_pseudo_<mode>" pattern, and avoid
expose x0 to gcc generic code.

Generally, we define a new register class FIXED_R0 which only contains register
0, so the instruction sequences generated from the new add pattern is the same
as tlsdesc_small_<mode>, while the operand 0 is wrapped as pseudo register that
RTL IV opt can handle it.

Ideally, we should allow operand 0 to be any pseudo register, but then
we can't model the override of x0 caused by the function call which is
hidded by the UNSPEC.

So here, we restricting operand 0 to be x0, the override of x0 can be
reflected to the gcc.

2015-08-06    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      Jiong Wang  <jiong.wang@arm.com>
gcc/
  * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
  * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
  (REG_CLASS_NAMES): Likewise.
  (REG_CLASS_CONTENTS): Likewise.
  * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
  (aarch64_register_move_cost): Likewise.
  (aarch64_load_symref_appropriately): Invoke the new added pattern if
  possible.
  * config/aarch64/constraints.md (Uc0): New constraint.

gcc/testsuite/
  * gcc.target/aarch64/tlsdesc_hoist.c: New testcase.

From-SVN: r226683

8 years ago[AArch64] Tighten direct call pattern for sibcall to repair -fno-plt
Jiong Wang [Thu, 6 Aug 2015 16:02:16 +0000 (16:02 +0000)]
[AArch64] Tighten direct call pattern for sibcall to repair -fno-plt

2015-08-06  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/constraints.md (Usf): Add the test of
  aarch64_is_noplt_call_p.

gcc/testsuite/
  * gcc.target/aarch64/noplt_3.c: New testcase.

From-SVN: r226682

8 years ago[AArch64] Tighten direct call pattern to repair -fno-plt
Jiong Wang [Thu, 6 Aug 2015 15:57:36 +0000 (15:57 +0000)]
[AArch64] Tighten direct call pattern to repair -fno-plt

2015-08-06  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New declaration.
  * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
  * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
  (call_symbol): Likewise.

gcc/testsuite/
  * gcc.target/aarch64/noplt_1.c: New testcase.
  * gcc.target/aarch64/noplt_2.c: Likewise.

From-SVN: r226681

8 years agore PR c++/67130 (ICE: tree check: expected identifier_node, have template_decl in...
Jason Merrill [Thu, 6 Aug 2015 14:26:18 +0000 (10:26 -0400)]
re PR c++/67130 (ICE: tree check: expected identifier_node, have template_decl in write_unqualified_id, at cp/mangle.c:1218)

PR c++/67130
PR c++/67131
PR c++/66260
* mangle.c (write_expression) [TEMPLATE_ID_EXPR]: Handle variable
templates.
* pt.c (tsubst_copy_and_build): Check for argument substitution
failure.

From-SVN: r226676

8 years agoVectorize mult expressions with power 2 constants via shift, for targets has no vecto...
Venkataramanan Kumar [Thu, 6 Aug 2015 12:00:57 +0000 (12:00 +0000)]
Vectorize mult expressions with power 2 constants via shift, for targets has no vector multiplication support.

2015-08-06  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

* tree-vect-patterns.c (vect_recog_mult_pattern): New function
for vectorizing multiplication patterns.
* tree-vectorizer.h: Adjust the number of patterns.

2015-08-06  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

* gcc.dg/vect/vect-mult-pattern-1.c: New test.
* gcc.dg/vect/vect-mult-pattern-2.c: New test.

From-SVN: r226675

8 years agosse.md (*vec_concatv2df): Declare added alternatives as sselog type.
Uros Bizjak [Thu, 6 Aug 2015 11:12:06 +0000 (13:12 +0200)]
sse.md (*vec_concatv2df): Declare added alternatives as sselog type.

* config/i386/sse.md (*vec_concatv2df): Declare added
alternatives as sselog type.

From-SVN: r226674

8 years agoS/390: Fix dwarf reg size table for -m31 -mzarch.
Andreas Krebbel [Thu, 6 Aug 2015 10:23:38 +0000 (10:23 +0000)]
S/390: Fix dwarf reg size table for -m31 -mzarch.

gcc/ChangeLog:
    * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
    all GPRs.

gcc/testsuite/ChangeLog:
    * gcc.target/s390/dwarfregtable-1.c: New test.
    * gcc.target/s390/dwarfregtable-2.c: New test.
    * gcc.target/s390/dwarfregtable-3.c: New test.

From-SVN: r226673

8 years agoS/390: Clobber VRs in __builtin_tbegin.
Andreas Krebbel [Thu, 6 Aug 2015 10:21:41 +0000 (10:21 +0000)]
S/390: Clobber VRs in __builtin_tbegin.

gcc/ChangeLog:
    * config/s390/s390.c (s390_expand_tbegin): Expand either
    tbegin_1_z13 or tbegin_1 depending on VX flag.
    * config/s390/s390.md ("tbegin_1_z13"): New expander.

gcc/testsuite/ChangeLog:
    * gcc.target/s390/htm-builtins-z13-1.c: New test.

From-SVN: r226672

8 years agoS/390: Doc: Add documentation for -mhtm, -mvx, and -mzvector.
Andreas Krebbel [Thu, 6 Aug 2015 10:18:20 +0000 (10:18 +0000)]
S/390: Doc: Add documentation for -mhtm, -mvx, and -mzvector.

gcc/ChangeLog:
    * config/s390/s390.opt: Clarify description for -mzvector
    * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
    -mzvector.

From-SVN: r226671

8 years agore PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and...
Francois-Xavier Coudert [Thu, 6 Aug 2015 09:22:30 +0000 (09:22 +0000)]
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)

PR fortran/64022
* gfortran.dg/ieee/large_2.f90: New test.
* gfortran.dg/ieee/large_3.F90: New test.

From-SVN: r226670

8 years agogimple.h (gimple_call_set_fn): Access op member directly.
Richard Biener [Thu, 6 Aug 2015 08:51:59 +0000 (08:51 +0000)]
gimple.h (gimple_call_set_fn): Access op member directly.

2015-08-06  Richard Biener  <rguenther@suse.de>

* gimple.h (gimple_call_set_fn): Access op member directly.
(gimple_call_chain_ptr): Likewise.
(gimple_call_set_chain): Likewise.
(gimple_cond_lhs_ptr): Likewise.
(gimple_cond_set_lhs): Likewise.
(gimple_cond_rhs_ptr): Likewise.
(gimple_cond_set_rhs): Likewise.
(gimple_cond_true_label): Likewise.
(gimple_cond_set_true_label): Likewise.
(gimple_cond_set_false_label): Likewise.
(gimple_cond_false_label): Likewise.
(gimple_label_label): Likewise.
(gimple_label_set_label): Likewise.
(gimple_goto_set_dest): Likewise.
(gimple_asm_input_op): Likewise.
(gimple_asm_input_op_ptr): Likewise.
(gimple_asm_set_input_op): Likewise.
(gimple_asm_output_op): Likewise.
(gimple_asm_output_op_ptr): Likewise.
(gimple_asm_set_output_op): Likewise.
(gimple_asm_clobber_op): Likewise.
(gimple_asm_set_clobber_op): Likewise.
(gimple_asm_label_op): Likewise.
(gimple_asm_set_label_op): Likewise.
(gimple_switch_index): Likewise.
(gimple_switch_index_ptr): Likewise.
(gimple_return_retval_ptr): Likewise.
(gimple_return_retval): Likewise.
(gimple_return_set_retval): Likewise.
(gimple_switch_set_index): Likewise.  Remove superfluous GIMPLE_CHECK.
(gimple_switch_label): Likewise.
(gimple_switch_set_label): Likewise.

From-SVN: r226669

8 years agogimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify bool comparison canonicaliza...
Richard Biener [Thu, 6 Aug 2015 08:45:52 +0000 (08:45 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify bool comparison canonicalization and restrict to integers.

2015-08-06  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
bool comparison canonicalization and restrict to integers.

From-SVN: r226668

8 years agore PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and...
Francois-Xavier Coudert [Thu, 6 Aug 2015 08:38:59 +0000 (08:38 +0000)]
re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables)

PR fortran/64022
* gfortran.dg/ieee/large_1.f90: Adjust test.

From-SVN: r226665

8 years agopt.c (determine_specialization): Print candidates after 'no match' error.
Jason Merrill [Thu, 6 Aug 2015 01:33:32 +0000 (21:33 -0400)]
pt.c (determine_specialization): Print candidates after 'no match' error.

* pt.c (determine_specialization): Print candidates after 'no
match' error.

From-SVN: r226653

8 years agodecl.c (cp_finish_decl): Tidy.
Jason Merrill [Thu, 6 Aug 2015 01:33:27 +0000 (21:33 -0400)]
decl.c (cp_finish_decl): Tidy.

* decl.c (cp_finish_decl): Tidy.
* typeck.c (finish_class_member_access_expr): Use
type_dependent_expression_p.
* semantics.c (finish_id_expression): Use
type_dependent_expression_p.  Don't build_qualified_name for a
decl in non-dependent scope.
* pt.c (type_dependent_expression_p): A TEMPLATE_ID_EXPR of an
identifier is dependent.  Remove variable_template_p check.

From-SVN: r226652

8 years agoDaily bump.
GCC Administrator [Thu, 6 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226651

8 years agocoretypes.h (enum symbol_visibility): Relocate here.
Andrew MacLeod [Wed, 5 Aug 2015 23:18:09 +0000 (23:18 +0000)]
coretypes.h (enum symbol_visibility): Relocate here.

2015-08-05  Andrew MacLeod  <amacleod@redhat.com>

* coretypes.h (enum symbol_visibility): Relocate here.
* flag-types.h (enum symbol_visibility): Remove.
* tree-core.h (enum symbol_visibility): Remove.

From-SVN: r226648

8 years agoconstexpr.cc: Remove redundant -save-temps option.
Nikolai Bozhenov [Wed, 5 Aug 2015 20:57:03 +0000 (20:57 +0000)]
constexpr.cc: Remove redundant -save-temps option.

2015-08-05  Nikolai Bozhenov  <n.bozhenov@samsung.com>

* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
redundant -save-temps option.
* testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
* testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
* testsuite/30_threads/future/cons/constexpr.cc: Likewise.
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.

From-SVN: r226647

8 years agore PR go/66870 (split stack issues on ppc64le and ppc64)
Lynn Boger [Wed, 5 Aug 2015 18:07:16 +0000 (13:07 -0500)]
re PR go/66870 (split stack issues on ppc64le and ppc64)

2015-08-15 Lynn Boger <laboger@linux.vnet.ibm.com>

PR target/66870
* gcc/config/rs6000/rs6000.c (rs6000_emit_prologue): Check
for no_split_stack function attribute along with
flag_split_stack.
(rs6000_expand_split_stack_prologue): Likewise.

From-SVN: r226643

8 years agore PR c++/66260 ([C++14] Failure to compile variable template with recursively define...
Jason Merrill [Wed, 5 Aug 2015 17:56:14 +0000 (13:56 -0400)]
re PR c++/66260 ([C++14] Failure to compile variable template with recursively defined partial specialization)

PR c++/66260
PR c++/66596
PR c++/66649
PR c++/66923
* pt.c (lookup_template_variable): Use NULL_TREE for type.
(instantiate_template_1): Also set DECL_TI_ARGS based on
the immediate parent.
(tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle variable templates.
(finish_template_variable): Add complain parm.
* cp-tree.h: Adjust.

From-SVN: r226642

8 years agore PR c++/65195 (Variable template cannot be used as a function)
Jason Merrill [Wed, 5 Aug 2015 17:51:29 +0000 (13:51 -0400)]
re PR c++/65195 (Variable template cannot be used as a function)

PR c++/65195
PR c++/66619
* semantics.c (finish_id_expression): Call convert_from_reference
for variable template.

From-SVN: r226641

8 years agore PR c/16351 (NULL dereference warnings)
Manuel López-Ibáñez [Wed, 5 Aug 2015 17:36:29 +0000 (17:36 +0000)]
re PR c/16351 (NULL dereference warnings)

gcc/ChangeLog:

2015-08-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Jeff Law  <law@redhat.com>

PR c/16351
* doc/invoke.texi (Wnull-dereference): New.
* tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
Warn for potential NULL dereferences.
(find_explicit_erroneous_behaviour): Warn for NULL dereferences.
* ubsan.c (instrument_nonnull_arg): Call
infer_nonnull_range_by_attribute.
(instrument_nonnull_return): Likewise.
* common.opt (Wnull-dereference); New.
* gimple.c (infer_nonnull_range): Remove bool arguments.
(infer_nonnull_range_by_dereference): New.
(infer_nonnull_range_by_attribute): New.
* gimple.h: Update declarations.

gcc/testsuite/ChangeLog:

2015-08-05  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Jeff Law  <law@redhat.com>

PR c/16351
* gcc.dg/tree-ssa/isolate-2.c: Close comment.
* gcc.dg/tree-ssa/isolate-4.c: Likewise.
* gcc.dg/tree-ssa/wnull-dereference.c: New test.
* gcc.dg/tree-ssa/isolate-1.c: Test warnings with -Wnull-dereference.
* gcc.dg/tree-ssa/isolate-3.c: Likewise.
* gcc.dg/tree-ssa/isolate-5.c: Likewise.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r226640

8 years agogensupport.c (sequence_num): Replace with...
Richard Sandiford [Wed, 5 Aug 2015 15:47:31 +0000 (15:47 +0000)]
gensupport.c (sequence_num): Replace with...

gcc/
* gensupport.c (sequence_num): Replace with...
(insn_sequence_num, split_sequence_num, peephole2_sequence_num):
...these new variables.
(init_rtx_reader_args_cb): Update accordingly.
(get_num_code_insns): Likewise.
(read_md_rtx): Rework to use a while loop and get_c_test.
Use the new counters.  Remove redundant DEFINE_SUBST case.
* genoutput.c (gen_split): Delete.
(main): Don't call it.

From-SVN: r226635

8 years agogensupport.h (get_c_test): Declare.
Richard Sandiford [Wed, 5 Aug 2015 15:46:02 +0000 (15:46 +0000)]
gensupport.h (get_c_test): Declare.

gcc/
* gensupport.h (get_c_test): Declare.
* gensupport.c (get_c_test): New function.
* genconditions.c (main): Use it.
* genrecog.c (validate_pattern): Likewise.
(match_pattern_1): Likewise.  Remove c_test argument.
(match_pattern): Update accordingly and remove c_test argument.
(main): Update accordingly.

From-SVN: r226634

8 years agogensupport.h (get_num_insn_codes): Declare.
Richard Sandiford [Wed, 5 Aug 2015 15:44:23 +0000 (15:44 +0000)]
gensupport.h (get_num_insn_codes): Declare.

gcc/
* gensupport.h (get_num_insn_codes): Declare.
* gensupport.c (get_num_insn_codes): New function.
* genattrtab.c (optimize_attrs): Rename max_insn_code to
num_insn_codes.
(main): Likewise.  Use get_num_insn_codes.
* gencodes.c (main): Remove "last" and use get_num_insn_codes.

From-SVN: r226633

8 years agore PR middle-end/66311 (Problems with some integer(16) values)
Richard Sandiford [Wed, 5 Aug 2015 14:23:42 +0000 (14:23 +0000)]
re PR middle-end/66311 (Problems with some integer(16) values)

gcc/
PR middle-end/66311
* wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
is zero- rather than sign-extended.

gcc/testsuite/
2015-08-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

PR middle-end/66311
* gfortran.dg/pr66311.f90: New file.

From-SVN: r226632

8 years agotarget-insns.def (can_extend): Delete.
Richard Sandiford [Wed, 5 Aug 2015 14:21:11 +0000 (14:21 +0000)]
target-insns.def (can_extend): Delete.

gcc/
* target-insns.def (can_extend): Delete.

From-SVN: r226631

8 years agore PR tree-optimization/67121 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Wed, 5 Aug 2015 14:16:51 +0000 (14:16 +0000)]
re PR tree-optimization/67121 (wrong code at -O3 on x86_64-linux-gnu)

2015-08-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/67121
* tree-if-conv.c (combine_blocks): Clear range-info produced
by stmts no longer executed conditionally.

* gcc.dg/torture/pr67121.c: New testcase.

From-SVN: r226630

8 years agogcc * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
Nick Clifton [Wed, 5 Aug 2015 13:09:43 +0000 (13:09 +0000)]
gcc * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
to allow identical far pointers to remain.

tests * gcc.target/rl78: New directory.
        * gcc.target/rl78/rl78.exp: New file: Test driver.
        * gcc.target/rl78/test_addm3.c: New file: Test adds.

From-SVN: r226624

8 years agore PR middle-end/67120 (wrong code for volatile pointers at -O1 and above on x86_64...
Richard Biener [Wed, 5 Aug 2015 12:47:59 +0000 (12:47 +0000)]
re PR middle-end/67120 (wrong code for volatile pointers at -O1 and above on x86_64-linux-gnu)

2015-08-05  Richard Biener  <rguenther@suse.de>

PR middle-end/67120
* match.pd: Compare address bases with == if they are decls
or SSA names, not operand_equal_p.  Otherwise fail.

* gcc.dg/torture/pr67120.c: New testcase.

From-SVN: r226623

8 years agore PR fortran/52846 ([F2008] Support submodules)
Paul Thomas [Wed, 5 Aug 2015 12:06:25 +0000 (12:06 +0000)]
re PR fortran/52846 ([F2008] Support submodules)

2015-08-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846
* module.c (check_access): Return true if new static flag
'dump_smod' is true..
(gfc_dump_module): Rename original 'dump_module' and call from
new version. Use 'dump_smod' rather than the stack state to
determine if a submodule is being processed. The new version of
this procedure sets 'dump_smod' depending on the stack state and
then writes both the mod and smod files if a module is being
processed or just the smod for a submodule.
(gfc_use_module): Eliminate the check for module_name and
submodule_name being the same.
* trans-decl.c (gfc_finish_var_decl, gfc_build_qualified_array,
get_proc_pointer_decl): Set TREE_PUBLIC unconditionally and use
the conditions to set DECL_VISIBILITY as hidden and to set as
true DECL_VISIBILITY_SPECIFIED.

2015-08-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/52846

* lib/fortran-modules.exp: Call cleanup-submodules from
cleanup-modules.
* gfortran.dg/public_private_module_2.f90: Add two XFAILS to
cover the cases where private entities are no longer optimized
away.
* gfortran.dg/public_private_module_6.f90: Add an XFAIL for the
same reason.
* gfortran.dg/submodule_1.f08: Change cleanup module names.
* gfortran.dg/submodule_5.f08: The same.
* gfortran.dg/submodule_9.f08: The same.
* gfortran.dg/submodule_10.f08: New test

From-SVN: r226622

8 years agore PR c++/66595 ([C++14] ICE in partial specialization template variables)
Paolo Carlini [Wed, 5 Aug 2015 10:07:57 +0000 (10:07 +0000)]
re PR c++/66595 ([C++14] ICE in partial specialization template variables)

2015-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/66595
* g++.dg/cpp1y/var-templ35.C: New.

From-SVN: r226617

8 years agore PR tree-optimization/67055 (Segmentation fault in fold_builtin_alloca_with_align...
Richard Biener [Wed, 5 Aug 2015 10:01:12 +0000 (10:01 +0000)]
re PR tree-optimization/67055 (Segmentation fault in fold_builtin_alloca_with_align in tree-ssa-ccp.c)

2015-08-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/67055
* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
NULL gimple_block.

* g++.dg/torture/pr67055.C: New testcase.

From-SVN: r226616

8 years agoDisable AVX-512VL insns for scalar mode operands on -march=knl.
Kirill Yukhin [Wed, 5 Aug 2015 08:01:19 +0000 (08:01 +0000)]
Disable AVX-512VL insns for scalar mode operands on -march=knl.

gcc/
* config/i386/i386.md (define_attr "isa"): Addd avx512vl and
noavx512vl.
(define_attr "enabled"): Handle avx521vl and noavx512vl.
* config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
AVX-512 alternative out of SSE.
(define_insn "*vec_concatv2df"): Ditto.

From-SVN: r226612