platform/upstream/linaro-gcc.git
8 years ago[PATCH 2/2] (header usage fix) include c++ headers in system.h
nsz [Fri, 22 Apr 2016 11:09:22 +0000 (11:09 +0000)]
[PATCH 2/2] (header usage fix) include c++ headers in system.h

cherry picked from trunk r235362

2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* system.h (list, map, set, vector): Include conditionally.
* auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
* graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
* ipa-icf.c (INCLUDE_LIST): Define.
* config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
* config/sh/sh.c (INCLUDE_VECTOR): Define.
* config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
(INCLUDE_LIST, INCLUDE_VECTOR): Define.
* cp/logic.cc (INCLUDE_LIST): Define.
* fortran/trans-common.c (INCLUDE_MAP): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235364 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH 1/2] (header usage fix) remove unused system header includes
nsz [Fri, 22 Apr 2016 11:08:16 +0000 (11:08 +0000)]
[PATCH 1/2] (header usage fix) remove unused system header includes

cherry picked from trunk r235361

2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* auto-profile.c: Remove <string.h> include.
* ipa-icf-gimple.c: Remove <list> include.
* diagnostic.c: Remove <new> include.
* genmatch.c: Likewise.
* pretty-print.c: Likewise.
* toplev.c: Likewise
* c/c-objc-common.c: Likewise.
* cp/error.c: Likewise.
* fortran/error.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235363 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 22 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235356 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * sv.po: Update.
jsm28 [Thu, 21 Apr 2016 20:59:21 +0000 (20:59 +0000)]
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235350 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRegenerate .pot files for GCC 6.
jsm28 [Thu, 21 Apr 2016 15:26:49 +0000 (15:26 +0000)]
Regenerate .pot files for GCC 6.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235343 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agolibgomp nvptx plugin: make cuMemFreeHost error non-fatal
amonakov [Thu, 21 Apr 2016 13:42:13 +0000 (13:42 +0000)]
libgomp nvptx plugin: make cuMemFreeHost error non-fatal

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235340 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCherry-pick r266868 from upstream.
chefmax [Thu, 21 Apr 2016 12:12:53 +0000 (12:12 +0000)]
Cherry-pick r266868 from upstream.

PR sanitizer/70624
* asan/asan_mac.cc: Cherry pick upstream r266868.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235337 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-21 Richard Biener <rguenther@suse.de>
rguenth [Thu, 21 Apr 2016 11:57:28 +0000 (11:57 +0000)]
2016-04-21  Richard Biener  <rguenther@suse.de>

PR middle-end/70747
* fold-const.c (fold_comparison): Return properly typed
constant boolean.

* gcc.dg/pr70747.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235336 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Thu, 21 Apr 2016 00:16:24 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235300 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Work around PR target/64971
ktkachov [Wed, 20 Apr 2016 13:38:31 +0000 (13:38 +0000)]
[AArch64] Work around PR target/64971

2016-04-20  Andrew Pinski  <apinski@cavium.com>
            Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/64971
* config/aarch64/aarch64.md (sibcall): Force call
address to be DImode for ILP32.
(sibcall_value): Likewise.

* gcc.c-torture/compile/pr37433-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235282 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
jason [Wed, 20 Apr 2016 13:24:29 +0000 (13:24 +0000)]
* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235280 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/66543 - -Wunused-but-set* false positives
jason [Wed, 20 Apr 2016 13:24:17 +0000 (13:24 +0000)]
PR c++/66543 - -Wunused-but-set* false positives

* expr.c (mark_exp_read): Handle NON_DEPENDENT_EXPR.
* pt.c (make_pack_expansion): Call mark_exp_read.
* semantics.c (finish_id_expression): Call mark_type_use in
unevaluated context.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235279 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * tree-if-conv.c (is_false_predicate): For NULL_TREE return false
mpolacek [Wed, 20 Apr 2016 12:48:37 +0000 (12:48 +0000)]
* tree-if-conv.c (is_false_predicate): For NULL_TREE return false
rather than true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235273 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/70725
mpolacek [Wed, 20 Apr 2016 10:08:31 +0000 (10:08 +0000)]
PR tree-optimization/70725
* tree-if-conv.c (is_false_predicate): New function.
(predicate_mem_writes): Use it.

* gcc.dg/pr70725.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235252 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-20 Richard Biener <rguenther@suse.de>
rguenth [Wed, 20 Apr 2016 07:21:42 +0000 (07:21 +0000)]
2016-04-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70726
* tree-vect-stmts.c (vectorizable_shift): Do not use scalar
shift amounts from a pattern stmt operand.

* g++.dg/vect/pr70726.cc: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235237 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR70674: S/390: Add memory barrier to stack pointer restore from fpr.
krebbel [Wed, 20 Apr 2016 07:16:03 +0000 (07:16 +0000)]
PR70674: S/390: Add memory barrier to stack pointer restore from fpr.

This patches fixes a problem with stack variable accesses being
scheduled after the stack pointer restore instructions.  In the
testcase this happened with the stack variable 'a' accessed through the
frame pointer.

The existing stack_tie we have in the backend is basically useless
when trying to block stack variable accesses from being scheduled
across an insn.  The alias set of stack variables and the frame alias
set usually differ and hence aren't in conflict with each other.  The
solution appears to be a magic MEM term with a scratch register which
is handled as a full memory barrier when analyzing scheduling
dependencies.

With the patch a (clobber (mem:BLK (scratch))) is being added to the
restore instruction in order to prevent any memory operations to be
scheduled across the insn.  The patch does that only for the one case
where the stack pointer is restored from an FPR.  Theoretically this
might happen also in the case where the stack pointer gets restored
using a load multiple.  However, triggering that problem with
load-multiple appears to be much harder since the load-multiple will
restore the frame pointer as well.  So in order to see the problem a
different call-clobbered register would need to be used as temporary
stack pointer.

Another case which needs to be handled some day is the stack pointer
allocation part.  It needs to be a memory barrier as well.

Bootstrapped and regression tested with --with-arch z196 and z13 on
s390 and s390x.

gcc/ChangeLog:

2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Backport from mainline
2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/70674
* config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
stack_restore_from_fpr pattern when restoring r15.
(s390_optimize_prologue): Strip away the memory barrier in the
parallel when trying to get rid of restore insns.
* config/s390/s390.md ("stack_restore_from_fpr"): New insn
definition for loading the stack pointer from an FPR.  Compared to
the normal move insn this pattern includes a full memory barrier.

gcc/testsuite/ChangeLog:

2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Backport from mainline
2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/70674
* gcc.target/s390/pr70674.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235235 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 20 Apr 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235229 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Apr 2016 13:17:46 +0000 (13:17 +0000)]
2016-04-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70724
* tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
restoring out from ...
(free_scc_vn): ... here.
* tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
* tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
tail merging.
(pass_fre::execute): Restore SSA info.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235201 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * include/bits/random.h: Fix filename in comment.
redi [Tue, 19 Apr 2016 13:06:30 +0000 (13:06 +0000)]
* include/bits/random.h: Fix filename in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235198 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 19 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235181 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70690
jason [Mon, 18 Apr 2016 19:43:26 +0000 (19:43 +0000)]
PR c++/70690

PR c++/70528
* class.c (type_maybe_constexpr_default_constructor): New.
(type_has_constexpr_default_constructor): Revert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235171 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70505
jason [Mon, 18 Apr 2016 19:43:19 +0000 (19:43 +0000)]
PR c++/70505

* pt.c (tsubst_baselink): Give the new TEMPLATE_ID_EXPR
unknown_type_node, too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235170 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUpdate install.texi for GCC 6 on Solaris
ro [Mon, 18 Apr 2016 18:42:41 +0000 (18:42 +0000)]
Update install.texi for GCC 6 on Solaris

* doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
gld requirements.
(Specific, *-*-solaris2*): Update Solaris 11 bundled gcc
versions.
Mention Solaris 11 packaging changes.
Update gas and gld requirements.
Remove reference to pre-Solaris 10 bug.
(Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
systems and bugs.
(Specific, sparc64-*-solaris2*): Remove reference to bootstrap
with cc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235163 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/70711
mwahab [Mon, 18 Apr 2016 12:18:10 +0000 (12:18 +0000)]
PR target/70711
* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
armv8.1-a and armv8.1-a+crc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235133 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agohsa: Fix bootstrap with older host compilers sandbox/jolfzverb/fsf-6-branch
segher [Mon, 18 Apr 2016 09:15:53 +0000 (09:15 +0000)]
hsa: Fix bootstrap with older host compilers

We didn't have __builtin_swap16 on all targets before GCC 4.8; hsa-brig
tries to use it if the host GCC is 4.6 or up though, breaking bootstrap.
This trivial patch fixes it.

Noticed on gcc22.

* has-brig.c (lendian16): Don't try to use __builtin_bswap16
unless compiling with at least GCC-4.8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235099 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 18 Apr 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235089 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 17 Apr 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235069 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 16 Apr 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235057 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70685
jason [Fri, 15 Apr 2016 19:53:03 +0000 (19:53 +0000)]
PR c++/70685
* constexpr.c (get_fundef_copy): Handle null *slot.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235046 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/70662
jakub [Fri, 15 Apr 2016 15:53:01 +0000 (15:53 +0000)]
PR target/70662
* config/i386/sse.md (define_insn "<avx512>_vec_dup<mode><mask_name>"):
Fix mode size check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235040 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * BASE-VER: Set to 6.0.1.
jakub [Fri, 15 Apr 2016 15:01:08 +0000 (15:01 +0000)]
* BASE-VER: Set to 6.0.1.
* DEV-PHASE: Set to prerelease.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235036 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCreate gcc-6-branch
jakub [Fri, 15 Apr 2016 14:52:49 +0000 (14:52 +0000)]
Create gcc-6-branch

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@235034 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70594
jakub [Fri, 15 Apr 2016 14:51:06 +0000 (14:51 +0000)]
PR c++/70594
* constexpr.c (constexpr_call_table): Preserve in GC.
(struct fundef_copy, struct fundef_copies_table_t): Delete.
(fundef_copies_table): Preserve in GC. Change to pointer to
tree->tree hash.
(maybe_initialize_fundef_copies_table): Adjust.
(get_fundef_copy): Return a TREE_LIST.  Use non-inserting search.
(save_fundef_copy): Adjust for a TREE_LIST.
(cxx_eval_call_expression): Adjust for a fundef_copy TREE_LIST.
(fini_constexpr): New.
* cp-tree.h (fini_constexpr): Declare.
* decl2.c (c_parse_final_cleanups): Call fini_constexpr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235033 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/70671
mpolacek [Fri, 15 Apr 2016 14:46:06 +0000 (14:46 +0000)]
PR c/70671
* c-typeck.c (build_unary_op): Pass location down to error and
warning call.

* gcc.dg/bitfld-22.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235032 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoconfig/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
amonakov [Fri, 15 Apr 2016 14:26:40 +0000 (14:26 +0000)]
config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235031 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM][doc] Document deprecation of pre-ARMv4T architecture revisions
ktkachov [Fri, 15 Apr 2016 13:42:16 +0000 (13:42 +0000)]
[ARM][doc] Document deprecation of pre-ARMv4T architecture revisions

* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
architecture revisions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235029 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoi386: Don't convert stack operations to pushes if using a redzone.
bernds [Fri, 15 Apr 2016 13:35:12 +0000 (13:35 +0000)]
i386: Don't convert stack operations to pushes if using a redzone.

* config/i386/i386-protos.h (ix86_using_red_zone): Declare.
* config/i386/i386.c (ix86_using_red_zone): No longer static.
* config/i386/i386.md (stack decrement to push peepholes): Guard
with !x86_using_red_zone ().

testsuite/
* gcc.target/i386/pr46470.c: Add -mno-red-zone to dg-options for
x86_64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235028 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/70651
mpolacek [Fri, 15 Apr 2016 13:15:23 +0000 (13:15 +0000)]
PR c/70651
* c-common.c (build_va_arg): Change two asserts into errors and return
error_mark_node.

* c-c++-common/pr70651.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235027 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70675
jakub [Fri, 15 Apr 2016 13:07:43 +0000 (13:07 +0000)]
PR c++/70675
* tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
to dump_generic_node.
(NIY): Pass also flags to do_niy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235025 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and pr10474...
ktkachov [Fri, 15 Apr 2016 12:45:20 +0000 (12:45 +0000)]
[testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and pr10474.c tests on arm, powerpc

PR rtl-optimization/70681
* gcc.dg/ira-shrinkwrap-prep-2.c: XFAIL shrinkwrapping
dump scan on arm and powerpc.
* gcc.dg/pr10474.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235024 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/69517
jakub [Fri, 15 Apr 2016 12:29:32 +0000 (12:29 +0000)]
PR c++/69517
PR c++/70019
PR c++/70588
* g++.dg/cpp1y/vla11.C: Revert for real.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235021 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/70436
jakub [Fri, 15 Apr 2016 12:24:18 +0000 (12:24 +0000)]
PR c/70436
c/
* c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
where needed.
(c_parser_external_declaration, c_parser_struct_or_union_specifier,
c_parser_parameter_declaration, c_parser_compound_statement_nostart,
c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
Adjust c_parser_pragma callers.
(c_parser_statement_after_labels): Likewise.  Adjust c_parser_cilk_for
caller.
(c_parser_omp_structured_block): Add IF_P argument, pass it down to
c_parser_statement.
(c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
c_parser_oacc_kernels_parallel, c_parser_omp_critical,
c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
down where needed.
(c_parser_omp_for_loop): Likewise.  Clear IF_P if nbraces.
(c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
calls.
cp/
* parser.c (cp_parser_pragma): Add IF_P argument, pass it down
where needed.
(cp_parser_declaration_seq_opt, cp_parser_member_specification_opt,
cp_parser_objc_interstitial_code, cp_parser_omp_declare_simd,
cp_parser_oacc_routine): Adjust cp_parser_pragma callers.
(cp_parser_statement): Likewise.  Adjust cp_parser_cilk_for caller.
(cp_parser_omp_structured_block): Add IF_P argument, pass it down to
cp_parser_statement.
(cp_parser_oacc_data, cp_parser_oacc_host_data, cp_parser_oacc_loop,
cp_parser_oacc_kernels_parallel, cp_parser_omp_critical,
cp_parser_omp_simd, cp_parser_omp_for, cp_parser_omp_master,
cp_parser_omp_ordered, cp_parser_omp_parallel, cp_parser_omp_single,
cp_parser_omp_task, cp_parser_omp_taskgroup, cp_parser_omp_distribute,
cp_parser_omp_teams, cp_parser_omp_target_data, cp_parser_omp_target,
cp_parser_omp_taskloop, cp_parser_omp_construct,
cp_parser_cilk_grainsize, cp_parser_cilk_simd, cp_parser_cilk_for):
Add IF_P argument, pass it down where needed.
(cp_parser_omp_for_loop): Likewise.  Clear IF_P if nbraces.
(cp_parser_omp_sections_scope): Adjust cp_parser_omp_structured_block
calls.
testsuite/
* c-c++-common/Wparentheses-1.c: New test.
* c-c++-common/gomp/Wparentheses-1.c: New test.
* c-c++-common/gomp/Wparentheses-2.c: New test.
* c-c++-common/gomp/Wparentheses-3.c: New test.
* c-c++-common/gomp/Wparentheses-4.c: New test.
* c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test.
* c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test.
* c-c++-common/goacc/Wparentheses-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235020 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSplit out OMP constructs' SIMD clone supporting code
tschwinge [Fri, 15 Apr 2016 11:49:39 +0000 (11:49 +0000)]
Split out OMP constructs' SIMD clone supporting code

gcc/
* omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
(simd_clone_vector_of_formal_parm_types)
(simd_clone_clauses_extract, simd_clone_compute_base_data_type)
(simd_clone_mangle, simd_clone_create)
(simd_clone_adjust_return_type, create_tmp_simd_array)
(simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
(struct modify_stmt_info, ipa_simd_modify_stmt_ops)
(ipa_simd_modify_function_body, simd_clone_linear_addend)
(simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
(pass_data_omp_simd_clone, class pass_omp_simd_clone)
(pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move
into...
* omp-simd-clone.c: ... this new file.
(simd_clone_vector_of_formal_parm_types): Make it static.
* Makefile.in (OBJS): Add omp-simd-clone.o.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235017 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAVX-512. Fix mem operand modifier for Intel syntax.
kyukhin [Fri, 15 Apr 2016 08:25:49 +0000 (08:25 +0000)]
AVX-512. Fix mem operand modifier for Intel syntax.

PR target/70662
gcc/
* config/i386/sse.md: Use proper memory operand
modifiers.
testsuite/gcc/
* gcc.target/i386/pr70662.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235008 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Apr 2016 07:28:44 +0000 (07:28 +0000)]
2016-04-15  Richard Biener  <rguenther@suse.de>
Alan Modra  <amodra@gmail.com>

PR tree-optimization/70130
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
when alignment stays not the same and no not use the realign
scheme then.

* gcc.dg/vect/O3-pr70130.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235006 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70494
jason [Fri, 15 Apr 2016 04:02:49 +0000 (04:02 +0000)]
PR c++/70494

* decl.c (cxx_maybe_build_cleanup): Handle non-decls.
* typeck2.c (split_nonconstant_init_1): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235003 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70528
jason [Fri, 15 Apr 2016 02:23:05 +0000 (02:23 +0000)]
PR c++/70528

* class.c (type_has_constexpr_default_constructor): Return true
for an implicitly declared constructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235002 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 15 Apr 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234999 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
meissner [Thu, 14 Apr 2016 23:21:30 +0000 (23:21 +0000)]
[gcc]
2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70669
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
direct move handlers for KFmode. Change TFmode handlers test from
FLOAT128_IEEE_P to FLOAT128_VECTOR_P.

[gcc/testsuite]
2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70669
* gcc.target/powerpc/pr70669.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234995 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgomp/
cesar [Thu, 14 Apr 2016 21:24:03 +0000 (21:24 +0000)]
libgomp/
* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
pass parameter variables to subroutines.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234992 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70622
jason [Thu, 14 Apr 2016 20:14:49 +0000 (20:14 +0000)]
PR c++/70622

* parser.c (cp_parser_init_declarator): Add auto_result parm.
(cp_parser_simple_declaration): Pass it.
(strip_declarator_types): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234991 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70543
jason [Thu, 14 Apr 2016 20:14:44 +0000 (20:14 +0000)]
PR c++/70543

* pt.c (value_dependent_expression_p) [VAR_DECL]: A type-dependent
initializer also makes the variable value-dependent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234990 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70648
jason [Thu, 14 Apr 2016 20:14:38 +0000 (20:14 +0000)]
PR c++/70648

* constexpr.c (cxx_eval_store_expression): Also copy
CONSTRUCTOR_NO_IMPLICIT_ZERO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234989 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Thu, 14 Apr 2016 20:05:58 +0000 (20:05 +0000)]
2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70640
* gcc.target/powerpc/pr70640.c: Fix test so it correctly works on
a power7 system that does not have an assembler that supports
power8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234988 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70594
jakub [Thu, 14 Apr 2016 19:21:31 +0000 (19:21 +0000)]
PR c++/70594
* ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
* ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
(inlined_polymorphic_ctor_dtor_block_p): Use it.
* tree-ssa-live.c (remove_unused_scope_block_p): When
in_ctor_dtor_block, avoid discarding not just BLOCKs with
BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
block_ultimate_origin is FUNCTION_DECL.
(remove_unused_locals): If current_function_decl is
polymorphic_ctor_dtor_p, pass initial true to
remove_unused_scope_block_p' is_ctor_dtor_block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234987 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c++/70652 - [6 Regression] r234966 causes bootstrap to fail
msebor [Thu, 14 Apr 2016 17:35:23 +0000 (17:35 +0000)]
PR c++/70652 - [6 Regression] r234966 causes bootstrap to fail
  Revert patch for c++/69517, c++/70019, and c++/70588.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234981 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70029
mpolacek [Thu, 14 Apr 2016 16:51:16 +0000 (16:51 +0000)]
PR c++/70029
* tree.c (verify_type): Disable the canonical type of main variant
check.

* g++.dg/torture/pr70029.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234979 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRevert empty class parameter passing ABI changes.
jason [Thu, 14 Apr 2016 16:23:06 +0000 (16:23 +0000)]
Revert empty class parameter passing ABI changes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234977 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agog++.dg/cpp1y/vla11.C: Avoid using attribute aligned to increase type
msebor [Thu, 14 Apr 2016 15:25:40 +0000 (15:25 +0000)]
g++.dg/cpp1y/vla11.C: Avoid using attribute aligned to increase type
  size to prevent failures on targets with very low maximum alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234976 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/70643
cesar [Thu, 14 Apr 2016 13:44:17 +0000 (13:44 +0000)]
PR middle-end/70643

gcc/
* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
when building a mem ref for the incoming reduction variable.

libgomp/
* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234973 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-14 Richard Biener <rguenther@suse.de>
rguenth [Thu, 14 Apr 2016 13:21:40 +0000 (13:21 +0000)]
2016-04-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70614
* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
loop if the evolution dropped to chrec_dont_know.
(interpret_condition_phi): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234972 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-14 Richard Biener <rguenther@suse.de>
rguenth [Thu, 14 Apr 2016 07:30:53 +0000 (07:30 +0000)]
2016-04-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70623
* tree-ssa-pre.c (changed_blocks): Make global ...
(compute_antic): ... local here.  Move and fix worklist
handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
(compute_antic_aux): Add dumping for MAX assumed succs.  Remove
worklist handling, dump when ANTIC_IN changed.
(compute_partial_antic_aux): Remove worklist handling.
(init_pre): Do not compute post dominators.  Add a comment about
the CFG order chosen.
(fini_pre): Do not free post dominators.

* gcc.dg/torture/pr70623.c: New testcase.
* gcc.dg/torture/pr70623-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234970 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Thu, 14 Apr 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234969 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements
msebor [Wed, 13 Apr 2016 23:26:41 +0000 (23:26 +0000)]
PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements
PR c++/70019 - VLA size overflow not detected
PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2

gcc/testsuite/ChangeLog:
2016-04-13  Martin Sebor  <msebor@redhat.com>

        PR c++/69517
        PR c++/70019
        PR c++/70588
        * c-c++-common/ubsan/vla-1.c (main): Catch exceptions.
        * g++.dg/cpp1y/vla11.C: New test.
        * g++.dg/cpp1y/vla12.C: New test.
        * g++.dg/cpp1y/vla13.C: New test.
        * g++.dg/cpp1y/vla14.C: New test.
        * g++.dg/cpp1y/vla3.C: Restore deleted test.
        * gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer.
        * g++.dg/ubsan/vla-1.C: Disable exceptions.

gcc/cp/ChangeLog:
2016-04-13  Martin Sebor  <msebor@redhat.com>

        PR c++/69517
        PR c++/70019
        PR c++/70588
        * cp-tree.h (throw_bad_array_length, build_vla_check): Declare new
        functions.
        * decl.c (check_initializer, cp_finish_decl): Call them.
        (reshape_init_r): Reject incompletely braced intializer-lists
        for VLAs.
        * init.c (throw_bad_array_length, build_vla_check)
        (build_vla_size_check, build_vla_init_check): Define new functions.
        * typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p()
        to detect a VLA.
        (store_init_value): Same.

gcc/doc/ChangeLog:
2016-04-13  Martin Sebor  <msebor@redhat.com>

        PR c++/69517
        PR c++/70019
        PR c++/70588
        * extend.texi (Variable Length): Document C++ specifics.

libstdc++-v3/ChangeLog:
2016-04-13  Martin Sebor  <msebor@redhat.com>

        PR c++/69517
        * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
       upper bound is positive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234966 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agocheck_GNU_style.sh: Avoid false posivies in trailing operator checks.
msebor [Wed, 13 Apr 2016 22:05:30 +0000 (22:05 +0000)]
check_GNU_style.sh: Avoid false posivies in trailing operator checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234965 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdjust for new empty class parameter passing ABI.
redi [Wed, 13 Apr 2016 22:00:50 +0000 (22:00 +0000)]
Adjust for new empty class parameter passing ABI.

* include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
_GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
* include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
of functions taking empty structs by value. Add a template parameter
to overloads without hints. Rename overloads with hints to
_M_emplace_hint.
(_Hashtable::_M_erase(true_type, const_iterator),
_Hashtable::_M_erase(false_type, const_iterator)): Change signatures
by reordering parameters.
* include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
_M_emplace_hint instead of _M_emplace.
* include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
* include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
__shared_ptr): Likewise.
* include/bits/stl_algo.h (replace_if): Likewise.
* include/bits/stl_pair.h (piecewise_construct_t,
piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
* include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
__uses_alloc0): Likewise.
* include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
* testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234964 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70641
jakub [Wed, 13 Apr 2016 20:43:10 +0000 (20:43 +0000)]
PR c++/70641
* ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
on all recursive call stmts.  Return TODO_cleanup_cfg if any dead
eh edges have been purged.

* g++.dg/opt/pr70641.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234962 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70594
jakub [Wed, 13 Apr 2016 20:35:59 +0000 (20:35 +0000)]
PR c++/70594
* tree-sra.c (create_access_replacement,
get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
gets fancy name.
* tree-pretty-print.c (dump_fancy_name): New function.
(dump_decl_name, dump_generic_node): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234961 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Warn about empty parameter ABI with -Wabi=9.
jason [Wed, 13 Apr 2016 20:11:29 +0000 (20:11 +0000)]
Warn about empty parameter ABI with -Wabi=9.

* call.c (empty_class_msg, mark_for_abi_warning)
(warn_empty_class_abi): New.
(build_call_a): Use them.
* decl.c (store_parm_decls): Use mark_for_abi_warning.
* error.c (pp_format_to_string): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234960 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Pass empty class parameters like C.
jason [Wed, 13 Apr 2016 20:11:20 +0000 (20:11 +0000)]
Pass empty class parameters like C.

* call.c (pass_as_empty_struct, empty_class_arg): New.
(type_passed_as, build_x_va_arg): Use pass_as_empty_struct.
(build_call_a): Use empty_class_arg.
* cp-tree.h (CPTI_EMPTY_STRUCT, empty_struct_type): New.
* decl.c (cxx_init_decl_processing): Create empty_struct_type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234959 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgo: update to Go 1.6.1 release
ian [Wed, 13 Apr 2016 19:11:16 +0000 (19:11 +0000)]
libgo: update to Go 1.6.1 release

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234958 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgomp/
cesar [Wed, 13 Apr 2016 18:54:41 +0000 (18:54 +0000)]
libgomp/
PR testsuite/68242
* testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
* testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234957 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70627
jason [Wed, 13 Apr 2016 18:32:11 +0000 (18:32 +0000)]
PR c++/70627

* decl.c (start_enum): Don't change an existing ENUM_UNDERLYING_TYPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234956 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix gcc.dg/ifcvt-4.c on 64-bit SPARC (PR rtl-optimization/68749)
ro [Wed, 13 Apr 2016 18:13:31 +0000 (18:13 +0000)]
Fix gcc.dg/ifcvt-4.c on 64-bit SPARC (PR rtl-optimization/68749)

PR rtl-optimization/68749
* gcc.dg/ifcvt-4.c: Use "word_mode" rather than "int" to limit the
effects of argument promotions.
Remove default args to dg-skip-if.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234955 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMake distclean clean up more (PR70173)
segher [Wed, 13 Apr 2016 18:02:08 +0000 (18:02 +0000)]
Make distclean clean up more (PR70173)

Currently, distclean does not remove the libcc1, gnattools, and gotools
directories, and not the stage_final file either.  Fix that.

PR bootstrap/70173
* Makefile.tpl (local-distclean): Delete the libcc1, gnattools,
and gotools directories.  Delete the stage_final file.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234954 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago/cp
paolo [Wed, 13 Apr 2016 17:11:03 +0000 (17:11 +0000)]
/cp
2016-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70635
* pt.c (resolve_typename_type): Fix typos in infinite recursion
avoidance mechanism.

/testsuite
2016-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70635
* g++.dg/parse/pr70635.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234953 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70639
mpolacek [Wed, 13 Apr 2016 16:28:46 +0000 (16:28 +0000)]
PR c++/70639
* c-indentation.c (should_warn_for_misleading_indentation): Bail out
for switch statements, too.

* c-c++-common/Wmisleading-indentation-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234952 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/70436
mpolacek [Wed, 13 Apr 2016 16:00:52 +0000 (16:00 +0000)]
PR c/70436
* c-parser.c (c_parser_statement_after_labels): Add IF_P argument and
adjust callers.
(c_parser_statement): Likewise.
(c_parser_c99_block_statement): Likewise.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.
(c_parser_if_body): Don't set IF_P here.
(c_parser_if_statement): Add IF_P argument.  Set IF_P here.  Warn
about dangling else here.
* c-tree.h (c_finish_if_stmt): Adjust declaration.
* c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter.  Don't
warn about dangling else here.

* testsuite/gcc.dg/Wparentheses-12.c: New test.
* testsuite/gcc.dg/Wparentheses-13.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234949 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Wed, 13 Apr 2016 15:04:57 +0000 (15:04 +0000)]
2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/67039
* intrinsic.texi: Correct the documentation of pseudorandom
number intrinsics.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234946 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70634
jason [Wed, 13 Apr 2016 15:02:23 +0000 (15:02 +0000)]
PR c++/70634

* pt.c (instantiation_dependent_uneval_expression_p): Split out
from instantiation_dependent_expression_p.
(value_dependent_expression_p): Use it for unevaluated operands.
(instantiation_dependent_r): Don't check value-dependence.
(instantiation_dependent_expression_p): Check
value-dependence of the expression as a whole.
* cp-tree.h: Declare instantiation_dependent_uneval_expression_p.
* semantics.c (finish_decltype_type): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234945 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * constexpr.c (potential_nondependent_constant_expression): New.
jason [Wed, 13 Apr 2016 15:02:17 +0000 (15:02 +0000)]
* constexpr.c (potential_nondependent_constant_expression): New.
(potential_nondependent_static_init_expression): New.
(maybe_constant_value_1, fold_non_dependent_expr)
(maybe_constant_init): Use them.
* pt.c (instantiate_non_dependent_expr_sfinae)
(instantiate_non_dependent_or_null, convert_nontype_argument): Use
them.
* cp-tree.h: Declare them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234944 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70594
jakub [Wed, 13 Apr 2016 14:45:46 +0000 (14:45 +0000)]
PR c++/70594
* decl.c (pop_labels_1): Removed.
(note_label, sort_labels): New functions.
(pop_labels): During named_labels traversal, just push the slot
pointers into a vector, then qsort it by DECL_UID and only then
call pop_label and chain it into BLOCK_VARS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234942 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70615
jason [Wed, 13 Apr 2016 14:33:53 +0000 (14:33 +0000)]
PR c++/70615
* cp-gimplify.c (cp_genericize_r): Expand PTRMEM_CST here.
(cp_gimplify_expr): Not here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234940 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Wed, 13 Apr 2016 14:00:42 +0000 (14:00 +0000)]
gcc/

* config/i386/i386.md (kunpckhi): Swap operands.
(kunpcksi): Likewise.
(kunpckdi): Likewise.
* config/i386/sse.md (vec_pack_trunc_qi): Likewise.
(vec_pack_trunc_<mode>): Likewise.

gcc/testsuite/

* gcc.target/i386/avx512bw-kunpckdq-2.c: New test.
* gcc.target/i386/avx512bw-kunpckwd-2.c: New test.
* gcc.target/i386/avx512f-kunpckbw-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234938 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR debug/70628
jakub [Wed, 13 Apr 2016 13:57:29 +0000 (13:57 +0000)]
PR debug/70628
* explow.c (convert_memory_address_addr_space_1): Formatting fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234937 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-13 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Wed, 13 Apr 2016 13:17:45 +0000 (13:17 +0000)]
2016-04-13  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/58000
* gfortran.texi: Document OPEN( ... NAME=) as not implemented
in GNU Fortran

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234936 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/70633
jakub [Wed, 13 Apr 2016 12:27:52 +0000 (12:27 +0000)]
PR middle-end/70633
* gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
gimplification turns some element into non-constant.

* gcc.c-torture/compile/pr70633.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234934 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR debug/70628
jakub [Wed, 13 Apr 2016 12:26:26 +0000 (12:26 +0000)]
PR debug/70628
* rtl.h (convert_memory_address_addr_space_1): New prototype.
* explow.c (convert_memory_address_addr_space_1): No longer static,
add NO_EMIT argument and don't call convert_modes if true, pass
it down recursively, remove break after return.
(convert_memory_address_addr_space): Adjust caller.
* simplify-rtx.c (simplify_unary_operation_1): Call
convert_memory_address_addr_space_1 instead of convert_memory_address,
if it returns NULL, don't simplify.

* gcc.dg/torture/pr70628.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234933 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Patch from Roger Orr <rogero@howzatt.demon.co.uk>
bernds [Wed, 13 Apr 2016 11:40:37 +0000 (11:40 +0000)]
Patch from Roger Orr <rogero@howzatt.demon.co.uk>
PR preprocessor/69650
* directives.c (do_linemarker): Reread map after calling
cpp_get_token.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234932 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 13 Apr 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234929 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR c++/70610 (wrong overload resolution during template processing)
ppalka [Wed, 13 Apr 2016 00:06:51 +0000 (00:06 +0000)]
Fix PR c++/70610 (wrong overload resolution during template processing)

gcc/cp/ChangeLog:

PR c++/70610
* tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Unconditionally
recurse into it.
* typeck.c (build_x_conditional_expr): Unconditionally remember
that the result is an lvalue or xvalue.

gcc/testsuite/ChangeLog:

PR c++/70610
* g++.dg/template/pr70610.C: New test.
* g++.dg/template/pr70610-2.C: New test.
* g++.dg/template/pr70610-3.C: New test.
* g++.dg/template/pr70610-4.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234926 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago reflect: change Value.Call results to not be addressable
ian [Tue, 12 Apr 2016 22:20:30 +0000 (22:20 +0000)]
reflect: change Value.Call results to not be addressable

    Leaving them incorrectly marked as addressable broke a use of the
    text/template package, because state.evalField checks CanAddr and takes
    the address if it is addressable.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234923 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix ChangeLog bug id to be 70640, not 70680
meissner [Tue, 12 Apr 2016 21:06:47 +0000 (21:06 +0000)]
Fix ChangeLog bug id to be 70640, not 70680

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234922 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
ebotcazou [Tue, 12 Apr 2016 20:55:05 +0000 (20:55 +0000)]
2016-04-12  Eric Botcazou  <ebotcazou@adacore.com>

PR target/70630
* config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234918 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * class.c (is_really_empty_class): A zero-length array is empty.
jason [Tue, 12 Apr 2016 20:28:40 +0000 (20:28 +0000)]
* class.c (is_really_empty_class): A zero-length array is empty.
An unnamed bit-field doesn't make a class non-empty.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234916 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
jakub [Tue, 12 Apr 2016 19:37:21 +0000 (19:37 +0000)]
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Bump the upper SIMDLEN limits, so that if the return type or
characteristic type if the return type is void can be passed in
all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
allowed.

* c-c++-common/cilk-plus/SE/ef_error2.c (func2): Use vectorlength
128 instead of 32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234913 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/70571
jakub [Tue, 12 Apr 2016 19:35:23 +0000 (19:35 +0000)]
PR c++/70571
* g++.dg/ext/pr70571.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234911 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
meissner [Tue, 12 Apr 2016 19:25:56 +0000 (19:25 +0000)]
[gcc]
2016-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70680
* config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
Do not use "=" constraint on an input constraint.
(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
(ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
generates (neg (abs ...)) instead of (abs ...).

[gcc/testsuite]
2016-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70680
* gcc.target/powerpc/pr70640.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234910 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago/cp
paolo [Tue, 12 Apr 2016 17:54:34 +0000 (17:54 +0000)]
/cp
2016-04-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/68722
* parser.c (cp_parser_cache_defarg): When file ends in default
argument simply return error_mark_node.

/testsuite
2016-04-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/68722
* g++.dg/parse/pr68722.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234909 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/70596
jakub [Tue, 12 Apr 2016 17:18:31 +0000 (17:18 +0000)]
PR rtl-optimization/70596
* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
just invalidate LRA data and reset them.  Adjust dump wording.

* gcc.target/i386/pr70596.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234906 138bc75d-0d04-0410-961f-82ee72b054a4