platform/upstream/gcc.git
7 years agodarwin-driver.c (darwin_driver_init): Const-correctness fixes for first_period and...
Jeff Law [Tue, 3 Jan 2017 05:36:40 +0000 (22:36 -0700)]
darwin-driver.c (darwin_driver_init): Const-correctness fixes for first_period and second_period variables.

* config/darwin-driver.c (darwin_driver_init): Const-correctness
fixes for first_period and second_period variables.

From-SVN: r244010

7 years agoDaily bump.
GCC Administrator [Tue, 3 Jan 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244009

7 years agore PR target/78967 (inserts are not effective)
Uros Bizjak [Mon, 2 Jan 2017 22:08:18 +0000 (23:08 +0100)]
re PR target/78967 (inserts are not effective)

 target/78967
* config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
(*insvqi_1): New insn pattern.
(*insvqi_1_mem_rex64): Ditto.
(*insvqi_2): Ditto.
(*insvqi_3): Rename from *insvqi.

(*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.

testsuite/ChangeLog:

PR target/78967
* gcc.target/i386/pr78967-1.c: New test.
* gcc.target/i386/pr78967-2.c: Ditto.
* gcc.target/i386/pr78967-3.c: Ditto.

* gcc.target/i386/pr78904-2.c: Tighten scan-asm patterns.
* gcc.target/i386/pr78904-4.c: Ditto.
* gcc.target/i386/pr78904-6.c: Ditto.

From-SVN: r244006

7 years ago* es.po: Update.
Joseph Myers [Mon, 2 Jan 2017 20:20:34 +0000 (20:20 +0000)]
* es.po: Update.

From-SVN: r244004

7 years agoPR 78534 Modify string copy to avoid -Wstringop-overflow warning
Janne Blomqvist [Mon, 2 Jan 2017 20:00:18 +0000 (22:00 +0200)]
PR 78534 Modify string copy to avoid -Wstringop-overflow warning

When the character length is changed from int to size_t the existing
algorithm causes a -Wstringop-overflow warning with -O1 on the
gfortran.dg/allocate_deferred_char_scalar_1.f03 testcase. This change
is committed separately from the character length size change in order
to make bisecting potential performance issues easier.

2017-01-02  Janne Blomqvist  <jb@gcc.gnu.org>

        PR fortran/78534
* trans-expr.c (gfc_trans_string_copy): Rework string copy
algorithm to avoid -Wstringop-overflow warning.

From-SVN: r244003

7 years agocfg.texi (Edges): Remove reference to Java.
Gerald Pfeifer [Mon, 2 Jan 2017 14:23:06 +0000 (14:23 +0000)]
cfg.texi (Edges): Remove reference to Java.

* doc/cfg.texi (Edges): Remove reference to Java.
(Maintaining the CFG): Ditto.

From-SVN: r244002

7 years agofaq.xml: Update address of C++ ABI link.
Gerald Pfeifer [Mon, 2 Jan 2017 00:33:17 +0000 (00:33 +0000)]
faq.xml: Update address of C++ ABI link.

* doc/xml/faq.xml: Update address of C++ ABI link.
* doc/xml/manual/abi.xml: Ditto.

From-SVN: r244001

7 years agoDaily bump.
GCC Administrator [Mon, 2 Jan 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244000

7 years agore PR ipa/77674 (ICE in binds_to_current_def_p with -fkeep-inline-functions)
Jan Hubicka [Sun, 1 Jan 2017 23:31:53 +0000 (00:31 +0100)]
re PR ipa/77674 (ICE in binds_to_current_def_p with -fkeep-inline-functions)

PR middle-end/77674
* symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
transparent aliases.

PR middle-end/77674
* g++.dg/torture/pr77674.C: New testcase.

From-SVN: r243997

7 years ago* gnatvsn.ads: Bump copyright year.
Eric Botcazou [Sun, 1 Jan 2017 18:08:36 +0000 (18:08 +0000)]
* gnatvsn.ads: Bump copyright year.

From-SVN: r243996

7 years agore PR middle-end/77484 (Static branch predictor causes ~6-8% regression of SPEC2000...
Jan Hubicka [Sun, 1 Jan 2017 15:40:29 +0000 (16:40 +0100)]
re PR middle-end/77484 (Static branch predictor causes ~6-8% regression of SPEC2000 GAP)

PR middle-end/77484
* predict.def (PRED_CALL): Update hitrate.
(PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
* predict.c (tree_estimate_probability_bb): Split CALL predictor
into direct/indirect/polymorphic variants.

From-SVN: r243995

7 years agoUpdate copyright years.
Jakub Jelinek [Sun, 1 Jan 2017 12:07:43 +0000 (13:07 +0100)]
Update copyright years.

From-SVN: r243994

7 years agoupdate-copyright.py (TestsuiteFilter): Skip params/README.
Jakub Jelinek [Sun, 1 Jan 2017 11:50:10 +0000 (12:50 +0100)]
update-copyright.py (TestsuiteFilter): Skip params/README.

* update-copyright.py (TestsuiteFilter): Skip params/README.
(GCCCmdLine): Remove libjava and libjava/testsuite add_dir.

From-SVN: r243993

7 years agogcc.c (process_command): Update copyright notice dates.
Jakub Jelinek [Sun, 1 Jan 2017 11:31:28 +0000 (12:31 +0100)]
gcc.c (process_command): Update copyright notice dates.

gcc/
* gcc.c (process_command): Update copyright notice dates.
* gcov-dump.c (print_version): Ditto.
* gcov.c (print_version): Ditto.
* gcov-tool.c (print_version): Ditto.
* gengtype.c (create_file): Ditto.
* doc/cpp.texi: Bump @copying's copyright year.
* doc/cppinternals.texi: Ditto.
* doc/gcc.texi: Ditto.
* doc/gccint.texi: Ditto.
* doc/gcov.texi: Ditto.
* doc/install.texi: Ditto.
* doc/invoke.texi: Ditto.
gcc/fortran/
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
* gfc-internals.texi: Bump @copying's copyright year.
* gfortran.texi: Ditto.
* intrinsic.texi: Ditto.
* invoke.texi: Ditto.
gcc/ada/
* gnat_ugn.texi: Bump @copying's copyright year.
* gnat_rm.texi: Likewise.
gcc/go/
* gccgo.texi: Bump @copyrights-go year.
libitm/
* libitm.texi: Bump @copying's copyright year.
libgomp/
* libgomp.texi: Bump @copying's copyright year.
libquadmath/
* libquadmath.texi: Bump @copying's copyright year.

From-SVN: r243992

7 years agoRegenerate .pot files.
Joseph Myers [Sun, 1 Jan 2017 00:55:25 +0000 (00:55 +0000)]
Regenerate .pot files.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r243991

7 years agoDaily bump.
GCC Administrator [Sun, 1 Jan 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243990

7 years agoDaily bump.
GCC Administrator [Sat, 31 Dec 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243987

7 years agocppopts.texi: Reorder table entries to put the most commonly-used options first and...
Sandra Loosemore [Fri, 30 Dec 2016 21:22:33 +0000 (16:22 -0500)]
cppopts.texi: Reorder table entries to put the most commonly-used options first and debug...

2016-12-30  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/cppopts.texi: Reorder table entries to put the most
commonly-used options first and debug options last.

From-SVN: r243984

7 years agore PR translation/78745 (Truncated messages in po file)
Jakub Jelinek [Fri, 30 Dec 2016 19:15:42 +0000 (20:15 +0100)]
re PR translation/78745 (Truncated messages in po file)

PR translation/78745
* exgettext: Handle multi-line help texts in *.opt files.
* gcc.pot: Regenerate.

From-SVN: r243981

7 years ago* es.po, fr.po: Update.
Joseph Myers [Fri, 30 Dec 2016 18:46:27 +0000 (18:46 +0000)]
* es.po, fr.po: Update.

From-SVN: r243979

7 years agocompile: add type conversion in Type::gc_symbol_pointer
Ian Lance Taylor [Fri, 30 Dec 2016 18:03:39 +0000 (18:03 +0000)]
compile: add type conversion in Type::gc_symbol_pointer

    Wrap the return from Type::gc_symbol_pointer with a type conversion to
    uintptr, since the values returned are stored into structure fields
    with that type.

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

From-SVN: r243978

7 years agoi386.md (*testqi_ext_3): Merge insn pattern and corresponding splitter to define_insn...
Uros Bizjak [Fri, 30 Dec 2016 17:14:16 +0000 (18:14 +0100)]
i386.md (*testqi_ext_3): Merge insn pattern and corresponding splitter to define_insn_and_split.

* config/i386/i386.md (*testqi_ext_3): Merge insn pattern and
corresponding splitter to define_insn_and_split.  Use wi::shifted_mask
helper function to calculate mask.

From-SVN: r243977

7 years agopredicates.md (ext_register_operand): Do not reject registers without upper parts...
Uros Bizjak [Fri, 30 Dec 2016 15:10:45 +0000 (16:10 +0100)]
predicates.md (ext_register_operand): Do not reject registers without upper parts here.

* config/i386/predicates.md (ext_register_operand): Do not reject
registers without upper parts here.
* config/i386/i386.md (extv<mode>): Copy registers without
upper parts in operand 1 to a pseudo.
(extzv<mode>): Ditto.
(insv<mode>): Ditto.

From-SVN: r243976

7 years agostandards.texi (Standards): Remove broken reference to objc.toodarkpark.net and avoid...
Gerald Pfeifer [Fri, 30 Dec 2016 15:07:15 +0000 (15:07 +0000)]
standards.texi (Standards): Remove broken reference to objc.toodarkpark.net and avoid list with now just...

* doc/standards.texi (Standards): Remove broken reference to
objc.toodarkpark.net and avoid list with now just one item.

From-SVN: r243975

7 years agocompiler: use more accurate array type in Gogo::register_gc_vars
Ian Lance Taylor [Fri, 30 Dec 2016 07:08:00 +0000 (07:08 +0000)]
compiler: use more accurate array type in Gogo::register_gc_vars

    The length of the roots array in Gogo::register_gc_vars was being
    computed incorrectly, potentially leading to type clashes in the back
    end. Compute an accurate length for this array ahead of time.

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

From-SVN: r243974

7 years agoc11-atomic-exec-5.c: Lower ITER_COUNT to 100 for AARCH64.
Andrew Pinski [Fri, 30 Dec 2016 04:24:40 +0000 (04:24 +0000)]
c11-atomic-exec-5.c: Lower ITER_COUNT to 100 for AARCH64.

2016-12-29  Andrew Pinski  <apinski@cavium.com>

        * gcc.dg/atomic/c11-atomic-exec-5.c: Lower ITER_COUNT to 100
        for AARCH64.

From-SVN: r243973

7 years agoDaily bump.
GCC Administrator [Fri, 30 Dec 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243972

7 years ago* config/i386/i386.md (divmodqi4): Use lowpart_subreg.
Uros Bizjak [Thu, 29 Dec 2016 23:19:32 +0000 (00:19 +0100)]
* config/i386/i386.md (divmodqi4): Use lowpart_subreg.

From-SVN: r243969

7 years agore PR target/78904 (zero-extracts are not effective)
Uros Bizjak [Thu, 29 Dec 2016 21:41:07 +0000 (22:41 +0100)]
re PR target/78904 (zero-extracts are not effective)

PR target/78904
* config/i386/i386.md (*extvqi): Remove insn pattern.
(divmodqi4): Update expander to generate QImode zero-extract from AH.

testsuite/ChangeLog:

PR target/78904
* gcc.target/i386/pr78904-6.c: New test.

From-SVN: r243968

7 years agoImplement LWG 2842, in_place_t check for optional::optional(U&&) should decay U.
Ville Voutilainen [Thu, 29 Dec 2016 19:19:59 +0000 (21:19 +0200)]
Implement LWG 2842, in_place_t check for optional::optional(U&&) should decay U.

Implement LWG 2842, in_place_t check for optional::optional(U&&)
should decay U.
* include/std/optional (_Optional_base(in_place_t, _Args&&...)):
Constrain.
(_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
Turn the int-pack constraint hack into a saner bool.
(_Optional_base<_Tp, false>::_Optional_base(in_place_t, _Args&&...)):
Constrain.
(_Optional_base<_Tp, false>::_Optional_base(in_place_t,
initializer_list<_Up>, _Args&&...)):
Turn the int-pack constraint hack into a saner bool.
(optional(_Up&&)): Constrain against in_place_t.
(optional(in_place_t, _Args&&...)): Constrain.
(constexpr optional(in_place_t, initializer_list<_Up>, _Args&&...)):
Turn the int-pack constraint hack into a saner bool.
* testsuite/20_util/optional/cons/value_neg.cc: Add a test for
a type that is constructible from in_place.

From-SVN: r243966

7 years agomemcpy-1.c: Include mpx-check.h.
Jakub Jelinek [Thu, 29 Dec 2016 18:51:29 +0000 (19:51 +0100)]
memcpy-1.c: Include mpx-check.h.

* gcc.target/i386/mpx/memcpy-1.c: Include mpx-check.h.
(main): Renamed to ...
(mpx_test): ... this.  Add argc and argv arguments.

From-SVN: r243965

7 years agors6000.c (altivec_expand_builtin): Fix typos in error messages.
Michael Meissner [Thu, 29 Dec 2016 17:19:28 +0000 (17:19 +0000)]
rs6000.c (altivec_expand_builtin): Fix typos in error messages.

2016-12-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (altivec_expand_builtin): Fix typos in
error messages.

From-SVN: r243963

7 years agoextend.texi (Cilk Plus Builtins): cilkplus.org now uses https by default.
Gerald Pfeifer [Thu, 29 Dec 2016 14:52:23 +0000 (14:52 +0000)]
extend.texi (Cilk Plus Builtins): cilkplus.org now uses https by default.

        * doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses
        https by default.
        * doc/passes.texi (Cilk Plus Transformation): Ditto.
        * doc/generic.texi (Statements for C++): Ditto, and use @uref.

From-SVN: r243962

7 years ago* config.sub: Import latest version.
Ben Elliston [Thu, 29 Dec 2016 11:04:53 +0000 (22:04 +1100)]
* config.sub: Import latest version.

From-SVN: r243961

7 years agoAdd RejectNegative for a c option.
Martin Liska [Thu, 29 Dec 2016 10:35:33 +0000 (11:35 +0100)]
Add RejectNegative for a c option.

PR c/78933
* g++.dg/pr78933.C: New test.
PR c/78933
* c.opt (strong-eval-order): Add RejectNegative keyword.

From-SVN: r243960

7 years agoDaily bump.
GCC Administrator [Thu, 29 Dec 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243959

7 years ago* gcc.target/i386/pr78904-5.c: Remove duplicate part.
Uros Bizjak [Wed, 28 Dec 2016 15:41:29 +0000 (16:41 +0100)]
* gcc.target/i386/pr78904-5.c: Remove duplicate part.

From-SVN: r243956

7 years agore PR target/78904 (zero-extracts are not effective)
Uros Bizjak [Wed, 28 Dec 2016 15:16:26 +0000 (16:16 +0100)]
re PR target/78904 (zero-extracts are not effective)

PR target/78904
* config/i386/constraints.md (Bn): New special memory constraint.
* config/i386/predicates.md (norex_memory_operand): New predicate.
* config/i386/i386.md (*extzvqi_mem_rex64): New insn pattern and
corresponding peephole2 pattern.

testsuite/ChangeLog:

PR target/78904
* gcc.target/i386/pr78904-4.c: New test.
* gcc.target/i386/pr78904-5.c: Ditto.

From-SVN: r243955

7 years agocppdiropts.texi, [...]: New files, split from...
Sandra Loosemore [Wed, 28 Dec 2016 02:34:29 +0000 (21:34 -0500)]
cppdiropts.texi, [...]: New files, split from...

2016-12-27  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/cppdiropts.texi, doc/cppwarnopts.texi:  New files, split from...
* doc/cppopts.texi: .... here.
* doc/cpp.texi (Invocation): Adjust includes.
* doc/invoke.texi (Option Summary): Add missing preprocesor-related
options.  Adjust sorting and formatting.
(Warning Options): Include cppwarnopts.texi.
(Preprocessor Options): Add pointers and list the specific
preprocessor options from cppopts.texi first instead of last.
(Directory Options): Move/merge documentation of -I, -iquote, and
-I- to cppdiropts.texi.  Include that file here.

From-SVN: r243954

7 years agoDaily bump.
GCC Administrator [Wed, 28 Dec 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243952

7 years agopredicates.md (const_0_to_12_operand): Rename predicate and change test from 0..11...
Michael Meissner [Tue, 27 Dec 2016 23:19:15 +0000 (23:19 +0000)]
predicates.md (const_0_to_12_operand): Rename predicate and change test from 0..11 to 0..12 to match the semantics of...

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

* config/rs6000/predicates.md (const_0_to_12_operand): Rename
predicate and change test from 0..11 to 0..12 to match the
semantics of the word extract/insert instructions.  Change all
callers.
(const_0_to_11_operand): Likewise.
* config/rs6000/rs6000.c (altivec_expand_builtin): Likewise.
* config/rs6000/vsx.md (vextract4b): Likewise.
(vextract4b_internal): Likewise.
(vinsert4b): Likewise.
(vinsert4b_internal): Likewise.
(vinsert4b_di): Likewise.
(vinsert4b_di_internal): Likewise.
* config/rs6000/rs6000.md (zero_extendsi<mode>2): Fix offset used
in xxextractuw to zero extend the word in the vector registers.
(lfiwzx): Likewise.

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

* gcc.target/powerpc/p9-vinsert4b-2.c: Update test to test for 13
being out of bounds instead of 12.

From-SVN: r243948

7 years ago* ChangeLog: Update my last entry.
Uros Bizjak [Tue, 27 Dec 2016 21:50:32 +0000 (22:50 +0100)]
* ChangeLog: Update my last entry.

From-SVN: r243946

7 years agoi386.c (ix86_secondary_reload): Require QImode intermediate for QImode mask register...
Uros Bizjak [Tue, 27 Dec 2016 21:25:09 +0000 (22:25 +0100)]
i386.c (ix86_secondary_reload): Require QImode intermediate for QImode mask register spill only for...

* config/i386/i386.c (ix86_secondary_reload): Require QImode
intermediate for QImode mask register spill only for !TARGET_AVX512DQ.
Always use true_regnum to determine operand regno.

From-SVN: r243945

7 years agocppopts.texi: Delete redundant documentation for -x.
Sandra Loosemore [Tue, 27 Dec 2016 20:37:05 +0000 (15:37 -0500)]
cppopts.texi: Delete redundant documentation for -x.

2016-12-27  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/cppopts.texi: Delete redundant documentation for -x.  Move
-fno-show-column documentation to...
* doc/invoke.texi (Diagnostic Message Formatting Options):  ...here.
Update the option summary.

From-SVN: r243944

7 years agoi386.md (VI_512): Remove.
Uros Bizjak [Tue, 27 Dec 2016 17:20:15 +0000 (18:20 +0100)]
i386.md (VI_512): Remove.

* config/i386/i386.md (VI_512): Remove.
(vcond<V_512:mode><VI_AVX512BW:mode>): Use VI_AVX512BW
mode iterator instead of VI_512.
(vcondu<V_512:mode><VI_AVX512BW:mode>): Ditto.

From-SVN: r243943

7 years agolibtool-version: New version.
Alexander Ivchenko [Tue, 27 Dec 2016 15:35:19 +0000 (15:35 +0000)]
libtool-version: New version.

libmpx/

2016-12-27  H.J. Lu  <hongjiu.lu@intel.com>
    Alexander Ivchenko  <alexander.ivchenko@intel.com>

* mpxwrap/libtool-version: New version.
* mpxwrap/mpx_wrappers.c (__mpx_wrapper_realloc): Make it
static with external alias.
(__mpx_wrapper_bzero): Ditto.
(mpx_wrapper_memcpy): Ditto.
(__mpx_wrapper_mempcpy): Ditto.

From-SVN: r243942

7 years agogfortran.h (gfc_error): Rename overload with OPT argument to...
Jakub Jelinek [Tue, 27 Dec 2016 15:17:19 +0000 (16:17 +0100)]
gfortran.h (gfc_error): Rename overload with OPT argument to...

* gfortran.h (gfc_error): Rename overload with OPT argument to...
(gfc_error_opt): ... this.
* error.c (gfc_error): Rename overloads with OPT argument to...
(gfc_error_opt): ... this.  Adjust callers.
(gfc_notify_std, gfc_error): Adjust callers.
* resolve.c (resolve_structure_cons, resolve_global_procedure): Use
gfc_error_opt instead of gfc_error.
* interface.c (argument_rank_mismatch, compare_parameter,
gfc_check_typebound_override): Likewise.  Fix up formatting.

From-SVN: r243941

7 years agore PR translation/78922 (Comment submitted for translation in stringop.opt)
Jakub Jelinek [Tue, 27 Dec 2016 14:41:04 +0000 (15:41 +0100)]
re PR translation/78922 (Comment submitted for translation in stringop.opt)

PR translation/78922
* config/i386/stringop.opt: Remove.

From-SVN: r243938

7 years agore PR target/78904 (zero-extracts are not effective)
Uros Bizjak [Tue, 27 Dec 2016 14:20:19 +0000 (15:20 +0100)]
re PR target/78904 (zero-extracts are not effective)

PR target/78904
* config/i386/constraints.md (Bc): New special memory constraint.
* config/i386/i386.md (*cmpqi_ext_1, *extvqi, *extzvqi): Use Bc
constraint with nonimmediate_operand to allow constant memory operands.
(*cmpqi_ext_3, insv<mode>_1, addqi_ext_1, *testqi_ext_1, andqi_ext_1)
(*<any_or:code>qi_ext_1, *xorqi_ext_1_cc): Use Bc constraint
with general_operand to allow constant memory operands.

testsuite/ChangeLog:

PR target/78904
* gcc.target/i386/pr78904-3.c: New test.

From-SVN: r243937

7 years agoc.opt (flag_chkp_flexible_struct_trailing_arrays): Add new option.
Alexander Ivchenko [Tue, 27 Dec 2016 13:31:43 +0000 (13:31 +0000)]
c.opt (flag_chkp_flexible_struct_trailing_arrays): Add new option.

2016-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>

* c-family/c.opt (flag_chkp_flexible_struct_trailing_arrays):
  Add new option.
  (fchkp-narrow-to-innermost-array): Fix typo.
* doc/cpp.texi (flag_chkp_flexible_struct_trailing_arrays): Ditto.
* tree-chkp.c (chkp_may_narrow_to_field ): Forbid
  narrowing when flag_chkp_flexible_struct_trailing_arrays is used
  and the field is the last array field in the structure.

2016-12-27  Alexander Ivchenko  <alexander.ivchenko@intel.com>

* gcc.target/i386/mpx/vla-trailing-1-lbv.c: New test.
* gcc.target/i386/mpx/vla-trailing-1-nov.c: Ditto.
* gcc.target/i386/mpx/vla-trailing-1-ubv.c: Ditto.

From-SVN: r243936

7 years ago* gcc.target/i386/pr78904-2.c: Fix testcase.
Uros Bizjak [Tue, 27 Dec 2016 11:12:32 +0000 (12:12 +0100)]
* gcc.target/i386/pr78904-2.c: Fix testcase.

From-SVN: r243935

7 years agoi386.md (andqi_ext_1): Use general_operand predicate for operand 2.
Uros Bizjak [Tue, 27 Dec 2016 11:00:15 +0000 (12:00 +0100)]
i386.md (andqi_ext_1): Use general_operand predicate for operand 2.

* config/i386/i386.md (andqi_ext_1): Use general_operand
predicate for operand 2.

From-SVN: r243934

7 years agore PR target/78904 (zero-extracts are not effective)
Uros Bizjak [Tue, 27 Dec 2016 08:59:04 +0000 (09:59 +0100)]
re PR target/78904 (zero-extracts are not effective)

PR target/78904
* config/i386/i386.md (*cmpqi_ext_1, *extvqi, *extzvqi): Use
nonimmediate_operand instead of nonimmediate_x64nomem_operand.
(*cmpqi_ext_3, insv<mode>_1, addqi_ext_1, *testqi_ext_1, andqi_ext_1)
(*<any_or:code>qi_ext_1, *xorqi_ext_1_cc): Use general_operand
instead of general_x64nomem_operand.
* config/i386/predicates.md (nonimmediate_x64nomem_operand): Remove.
(general_x64nomem_operand): Ditto.

testsuite/ChangeLog:

PR target/78904
* gcc.target/i386/pr78904-2.c: New test.

From-SVN: r243933

7 years agoDaily bump.
GCC Administrator [Tue, 27 Dec 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243932

7 years agore PR target/78904 (zero-extracts are not effective)
Uros Bizjak [Mon, 26 Dec 2016 19:00:47 +0000 (20:00 +0100)]
re PR target/78904 (zero-extracts are not effective)

PR target/78904
* config/i386/i386.md (addqi_ext_1): Canonicalize insn pattern w.r.t.
zero_extract RTXes.
(*addqi_ext_2): Ditto.
(testqi_ext_ccno_0): Canonicalize expander w.r.t. zero_extract RTXes.
(testqi_ext_1_ccno): Rename from testqi_ext_ccno_0.
(*testqi_ext_0): Merge with *testqi_ext_1.
(*testqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
Update corresponding splitter.
(*testqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes.
(*andqi_ext_0): Merge with *andqi_ext_1.
(andqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
Rename from *andqi_ext_1.  Update corresponding splitter and
peephole2 patterns.
(*andqi_ext_1_cc): Rename from *andqi_ext_0_cc.
(*andqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes.
(*<any_or:code>qi_ext_0): Merge with *andqi_ext_1.
(*<any_or:code>qi_ext_1): Canonicalize insn pattern w.r.t.
zero_extract RTXes.  Update corresponding splitter.
(*<any_or:code>qi_ext_2): Canonicalize insn pattern w.r.t.
zero_extract RTXes.
(xorqi_cc_ext_1): Canonicalize expander w.r.t. zero_extract RTXes.
(xorqi_ext_1_cc): Rename from xorqi_cc_ext_1.
(*xorqi_cc_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes.
Update corresponding splitter.
(*xorqi_ext_1_cc): Rename from *xorqi_cc_ext_1.
(isinfxf2): Update calls to renamed expanders.
(isinf<mode>2): Ditto.
* config/i386/i386.c (ix86_expand_fp_compare): Ditto.
(ix86_emit_fp_unordered_jump): Ditto.
(ix86_emit_i387_round): Ditto.

testsuite/ChangeLog:

PR target/78904
* gcc.target/i386/pr78904.c: New test.

From-SVN: r243929

7 years agolibtool-version: New version.
Alexander Ivchenko [Mon, 26 Dec 2016 15:14:06 +0000 (15:14 +0000)]
libtool-version: New version.

2016-12-26  Alexander Ivchenko  <alexander.ivchenko@intel.com>

    * mpxrt/libtool-version: New version.
    * mpxrt/mpxrt-utils.c (set_mpx_rt_stop_handler): New function.
    (print_help): Add help for CHKP_RT_STOP_HANDLER environment
    variable.
    (__mpxrt_init_env_vars): Add initialization of stop_handler.
    (__mpxrt_stop_handler): New function.
    (__mpxrt_stop): Ditto.
    * mpxrt/mpxrt-utils.h (mpx_rt_stop_mode_handler_t): New enum.
    * mpxrt/mpxrt.c (handler): Replace exit(255) with __mpxrt_stop
    function call.

From-SVN: r243928

7 years agoMAINTAINERS (Write After Approval): Add myself.
Alexander Ivchenko [Mon, 26 Dec 2016 10:28:02 +0000 (10:28 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2016-12-26  Alexander Ivchenko  <alexander.ivchenko@intel.com>

            * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r243927

7 years agoSummary: Whitespace cleanup
Andreas Schwab [Mon, 26 Dec 2016 10:16:15 +0000 (10:16 +0000)]
Summary: Whitespace cleanup

From-SVN: r243926

7 years ago* doc/cpp.texi (Invocation): Remove space in command.
Eric Botcazou [Mon, 26 Dec 2016 09:36:33 +0000 (09:36 +0000)]
* doc/cpp.texi (Invocation): Remove space in command.

From-SVN: r243925

7 years ago* doc/invoke.texi (SPARC options): Add missing documentation for -mlra.
Eric Botcazou [Mon, 26 Dec 2016 09:22:56 +0000 (09:22 +0000)]
* doc/invoke.texi (SPARC options): Add missing documentation for -mlra.

From-SVN: r243924

7 years agocpp.texi (Invocation): Revise to indicate that GCC driver options are only documented...
Sandra Loosemore [Mon, 26 Dec 2016 00:31:02 +0000 (19:31 -0500)]
cpp.texi (Invocation): Revise to indicate that GCC driver options are only documented in the GCC manual.

2016-12-25  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/cpp.texi (Invocation): Revise to indicate that GCC driver
options are only documented in the GCC manual.
* doc/cppopts.texi: Delete documentation of GCC driver options
-o, -Wall, -Wtraditional, -Werror, -Wsystem-headers, -w,
-pedantic, -pedantic-errors, -std=, -ansi, --help, --target-help,
-v, -version.  Update -Wcomment, -Wtrigraphs, -Wundef,
-Wexpansion-to-defined, -Wno-endif-labels, -traditional,
-traditional-cpp, -trigraphs to merge text previously in GCC manual.
* doc/invoke.texi (Option Summary): Move -trigraphs, -traditional,
and -traditional-cpp from C dialect options to preprocessor options.
(C Dialect Options): Likewise.
(Warning Options): Delete documentation of -Wcomment, -Wtrigraphs,
-Wexpansion-to-defined, -Wundef, and -Wno-endif-labels.

From-SVN: r243923

7 years agoDaily bump.
GCC Administrator [Mon, 26 Dec 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243922

7 years agoDaily bump.
GCC Administrator [Sun, 25 Dec 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243919

7 years agoMake it cheaper to test whether an SSA name is a virtual operand
Richard Sandiford [Sat, 24 Dec 2016 14:30:18 +0000 (14:30 +0000)]
Make it cheaper to test whether an SSA name is a virtual operand

virtual_operand_p handled SSA names by looking at the flags of the
underlying variable.  This seems to be a relatively common source
of cache misses, mainly because virtual_operand_p is the first thing
tested by is_gimple_reg.

This patch caches the information in the SSA name itself.  Several
flags seem to be free so the patch arbitrarily uses public_flag.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.  It improves
compile time by a small (<1%) but reproducable amount on the
tests I've tried.

gcc/
* tree-core.h (tree_base): Document the meaning of public_flag
for SSA names.
* tree.h (SSA_NAME_IS_VIRTUAL_OPERAND): New macro.
(SET_SSA_NAME_VAR_OR_IDENTIFIER): Record whether the variable
is a virtual operand.
* gimple-expr.h (virtual_operand_p): Use SSA_NAME_IS_VIRTUAL_OPERAND.

From-SVN: r243916

7 years agorandom.tcc: Fix usage of _OutputIteratorConcept.
François Dumont [Sat, 24 Dec 2016 14:13:58 +0000 (14:13 +0000)]
random.tcc: Fix usage of _OutputIteratorConcept.

2016-12-24  François Dumont  <fdumont@gcc.gnu.org>

* include/ext/random.tcc: Fix usage of _OutputIteratorConcept.

From-SVN: r243915

7 years agore PR middle-end/78901 (ICE: verify_gimple failed (error: statement marked for throw...
Jakub Jelinek [Sat, 24 Dec 2016 11:15:44 +0000 (12:15 +0100)]
re PR middle-end/78901 (ICE: verify_gimple failed (error: statement marked for throw in middle of block))

PR middle-end/78901
* except.c (nothrow_libfn_p): Expect libc_name_p to return
const struct libc_name_struct *, if it returns NULL, return 0,
otherwise check c_ver and use flag_isoc99 or flag_isoc11.
* cfns.gperf: Add %struct-type and libc_name_struct definition.
For all C89 C library functions add , 89 after the name, add
C99 C library functions with , 99 and C11 C library functions
with , 11 suffix.
* cfns.h: Regenerated.

From-SVN: r243914

7 years agoDaily bump.
GCC Administrator [Sat, 24 Dec 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243913

7 years agoclass_assign_1.f08: New test.
Andre Vehreschild [Fri, 23 Dec 2016 10:26:47 +0000 (11:26 +0100)]
class_assign_1.f08: New test.

gcc/testsuite/ChangeLog:

2016-12-23  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.dg/class_assign_1.f08: New test.

gcc/fortran/ChangeLog:

2016-12-23  Andre Vehreschild  <vehre@gcc.gnu.org>

* trans-expr.c (trans_class_assignment): Allocate memory of _vptr->size
        before assigning an allocatable class object.
(gfc_trans_assignment_1): Flag that (re-)alloc of the class object
shall be done.

From-SVN: r243909

7 years agoMIPS: Cleanup the forcing of assembly output in error tests.
Toma Tabacu [Fri, 23 Dec 2016 09:52:43 +0000 (09:52 +0000)]
MIPS: Cleanup the forcing of assembly output in error tests.

gcc/testsuite

* gcc.target/mips/oddspreg-2.c (dg-options): Remove dg-skip-if for
-fno-fat-lto-objects and add the -ffat-lto-objects option, along with
an explanation for its purpose.
* gcc.target/mips/oddspreg-3.c (dg-options): Likewise.
* gcc.target/mips/oddspreg-6.c (dg-options): Likewise.
* gcc.target/mips/no-dsp-1.c: Add an explanation for the purpose of
-ffat-lto-objects.
* gcc.target/mips/pr54240.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
* gcc.target/mips/soft-float-1.c: Likewise.

From-SVN: r243908

7 years agoDaily bump.
GCC Administrator [Fri, 23 Dec 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243904

7 years ago* es.po: Update.
Joseph Myers [Thu, 22 Dec 2016 23:55:31 +0000 (23:55 +0000)]
* es.po: Update.

From-SVN: r243900

7 years agocompiler: fix spurious redefinition error for anon struct
Ian Lance Taylor [Thu, 22 Dec 2016 23:05:02 +0000 (23:05 +0000)]
compiler: fix spurious redefinition error for anon struct

    Change Struct_type::do_mangled_name to incorporate the field
    names even for hidden symbols. This is needed in cases where
    a package imports a type "S" that has an anonymous struct, e.g.

      // imported from some other package
      type S struct {
        X struct{ _ struct{} }
      }

    and then defines a local type that uses a structurally identical
    anonymous struct, e.g.

      // defined locally
      type T struct {
        U struct{ _ struct{} }
      }

    In the case above both types triggered the creation of hash/equal
    methods, but the method names were clashing (since both structs
    had the same mangled name).

    Fixes golang/go#18414

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

From-SVN: r243899

7 years agotree-pretty-print.c (dump_generic_node): Change dump format for REALPART_EXPR and...
Prathamesh Kulkarni [Thu, 22 Dec 2016 20:30:33 +0000 (20:30 +0000)]
tree-pretty-print.c (dump_generic_node): Change dump format for REALPART_EXPR and IMAGPART_EXPR with TDF_GIMPLE.

2016-12-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* tree-pretty-print.c (dump_generic_node): Change dump format for
REALPART_EXPR and IMAGPART_EXPR with TDF_GIMPLE.

testsuite/
* gcc.dg/gimplefe-20.c: New test-case.

From-SVN: r243898

7 years agoPR c++/78906 - ICE with member variable template
Jason Merrill [Thu, 22 Dec 2016 20:29:07 +0000 (15:29 -0500)]
PR c++/78906 - ICE with member variable template

* pt.c (finish_template_variable): Use most_general_template.

From-SVN: r243897

7 years agoFeature-test macro for P0522R0, matching of template template arguments.
Jason Merrill [Thu, 22 Dec 2016 20:29:02 +0000 (15:29 -0500)]
Feature-test macro for P0522R0, matching of template template arguments.

* c-cppbuiltin.c (c_cpp_builtins): Define
__cpp_template_template_args.

From-SVN: r243896

7 years agoPR c++/78898 - ICE on constructor with TTP
Jason Merrill [Thu, 22 Dec 2016 15:19:54 +0000 (10:19 -0500)]
PR c++/78898 - ICE on constructor with TTP

PR c++/42329
* pt.c (unify): Don't look for a class template from a non-class.

From-SVN: r243890

7 years agore PR testsuite/52641 (Test cases fail for 16-bit int targets)
Georg-Johann Lay [Thu, 22 Dec 2016 15:02:43 +0000 (15:02 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)

gcc/testsuite/
PR testsuite/52641
* gcc.dg/fold-and-rshift-2.c [int <= 2]: Use 32-bit int as needed.

From-SVN: r243889

7 years agovarasm: Propagate litpool decl alignment to generated RTX.
Andreas Krebbel [Thu, 22 Dec 2016 14:50:29 +0000 (14:50 +0000)]
varasm: Propagate litpool decl alignment to generated RTX.

When pushing a value into the literal pool the resulting decl might
get a higher alignment than the original expression depending on how a
target defines CONSTANT_ALIGNMENT.  Generating an RTX for the constant
pool access we currently use the alignment from the original
expression.  Changed with the attached patch.

This fixes a GCC 6 regression for S/390.  For arrays of string
constants as in the attached testcase encode_section_info is not able
to figure out that the constant pool slot is already properly aligned
since the mem_align field in the rtx is not set properly.

gcc/ChangeLog:

2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* varasm.c (build_constant_desc): Use the alignment of the var
decl instead of the original expression.

gcc/testsuite/ChangeLog:

2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/litpool-str-1.c: New test.

From-SVN: r243888

7 years agoRun tests only if the machine supports the instruction set.
Dominik Vogt [Thu, 22 Dec 2016 14:46:46 +0000 (14:46 +0000)]
Run tests only if the machine supports the instruction set.

gcc/ChangeLog:

2016-12-22  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Define
__S390_ARCH_LEVEL__.

gcc/testsuite/ChangeLog:

2016-12-22  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/md/setmem_long-1.c: Use "s390_useable_hw".
* gcc.target/s390/md/rXsbg_mode_sXl.c: Likewise.
* gcc.target/s390/md/andc-splitter-1.c: Likewise.
* gcc.target/s390/md/andc-splitter-2.c: Likewise.
* lib/gcc-dg.exp (gcc-dg-runtest): Export torture_current_flags.
* gcc.target/s390/s390.exp: Import torture_current_flags.
(check_effective_target_s390_useable_hw): New.
(check_effective_target_s390_z900_hw): New.
(check_effective_target_s390_z990_hw): New.
(check_effective_target_s390_z9_ec_hw): New.
(check_effective_target_s390_z10_hw): New.
(check_effective_target_s390_z196_hw): New.
(check_effective_target_s390_zEC12_hw): New.
(check_effective_target_s390_z13_hw): New.
(check_effective_target_z10_instructions): Removed.
(torture tests): Add optimization level without -march=.
Reorder torture tests for good cache usage.

From-SVN: r243887

7 years agoFix tree-optimization/78886.
Martin Liska [Thu, 22 Dec 2016 13:09:11 +0000 (14:09 +0100)]
Fix tree-optimization/78886.

PR tree-optimization/78886
* gcc.dg/tree-ssa/pr78886.c: New test.
PR tree-optimization/78886
* tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS
is equal to NULL.

From-SVN: r243886

7 years agore PR testsuite/52641 (Test cases fail for 16-bit int targets)
Georg-Johann Lay [Thu, 22 Dec 2016 12:42:35 +0000 (12:42 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)

gcc/testsuite/
PR testsuite/52641
* gcc.dg/pr35258.c (main) <temp>: Use an integer value that has
at least a size of 4.
* gcc.dg/Walloca-1.c (foo1): Use alloca with 30000 (instead of 90000).
* gcc.dg/graphite/pr46185.c: Require int32plus, size32plus.
* gcc.dg/graphite/isl-ast-op-select.c: Same.
* gcc.dg/graphite/pr42205-1.c: Require int32plus.
* gcc.dg/graphite/pr42221.c: Same.
* gcc.dg/tree-ssa/pr65136.c: Same.
* gcc.dg/tree-ssa/sra-20.c: Same.
* gcc.dg/graphite/scop-0.c: Require size32plus.
* gcc.dg/graphite/scop-22.c: Same.
* gcc.dg/graphite/scop-3.c: Same.
* gcc.dg/graphite/scop-dsyr2k.c: Same.
* gcc.dg/graphite/scop-dsyrk.c: Same.
* gcc.dg/graphite/scop-mvt.c: Same.
* gcc.dg/graphite/scop-sor.c: Same.
* gcc.dg/tree-ssa/pr68529-3.c: Same.
* gcc.dg/tree-ssa/pr66449.c [long != pointer]: Use intptr_t if.
* gcc.dg/tree-ssa/pr70919.c [int <= 2]: Use 32-bit int as needed.
* gcc.dg/tree-ssa/pr71408.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-8.c (f2) [long != pointer]: Use
uintptr_t instead of long for int representation of address.
* gcc.dg/tree-ssa/tailcall-7-run.c: Require trampolines.

From-SVN: r243885

7 years agore PR middle-end/78858 (Bogus -Wnonnull warning involving strcmp with -fsanitize...
Jakub Jelinek [Thu, 22 Dec 2016 11:48:39 +0000 (12:48 +0100)]
re PR middle-end/78858 (Bogus -Wnonnull warning involving strcmp with -fsanitize=undefined)

PR middle-end/78858
* c-c++-common/ubsan/pr78858.c: New test.
* gcc.dg/nonnull-5.c: New test.

From-SVN: r243884

7 years agore PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument...
Jakub Jelinek [Thu, 22 Dec 2016 08:53:56 +0000 (09:53 +0100)]
re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661)

PR bootstrap/78817
* vec.h (vec<T, va_heap, vl_ptr>::safe_grow_cleared): Revert
2016-12-15 change.

From-SVN: r243883

7 years agoDaily bump.
GCC Administrator [Thu, 22 Dec 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243882

7 years agore PR c++/72707 (local anonymous union member hides names in the same scope)
Jakub Jelinek [Wed, 21 Dec 2016 22:49:59 +0000 (23:49 +0100)]
re PR c++/72707 (local anonymous union member hides names in the same scope)

PR c++/72707
* name-lookup.c (pushdecl_maybe_friend_1): Do check shadowing of
artificial x if it is an anonymous union variable.

* g++.dg/warn/Wshadow-12.C: New test.

From-SVN: r243877

7 years agodwarf2.def (DW_FORM_ref_sup): Renamed to ...
Jakub Jelinek [Wed, 21 Dec 2016 22:48:51 +0000 (23:48 +0100)]
dwarf2.def (DW_FORM_ref_sup): Renamed to ...

* dwarf2.def (DW_FORM_ref_sup): Renamed to ...
(DW_FORM_ref_sup4): ... this.  New form.
(DW_FORM_ref_sup8): New form.

From-SVN: r243876

7 years agore PR rtl-optimization/78580 (Segfault in gcc with multilib (-m32) and -ffixed-*)
Vladimir Makarov [Wed, 21 Dec 2016 22:20:11 +0000 (22:20 +0000)]
re PR rtl-optimization/78580 (Segfault in gcc with multilib (-m32) and -ffixed-*)

2016-12-21  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/78580
* ira-costs.c (find_costs_and_classes): Make regno_aclass
translated into an allocno class.

2016-12-21  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/78580
* gcc.target/i386/pr78580.c: New.

From-SVN: r243875

7 years agore PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument...
Jakub Jelinek [Wed, 21 Dec 2016 22:15:59 +0000 (23:15 +0100)]
re PR bootstrap/78817 (stage2 bootstrap failure in vec.h:1613:5: error: argument 1 null where non-null expected after r243661)

PR bootstrap/78817
* tree-pass.h (make_pass_post_ipa_warn): Declare.
* builtins.c (validate_arglist): Adjust get_nonnull_args call.
Check for NULL pointer argument to nonnull arg here.
(validate_arg): Revert 2016-12-14 changes.
* calls.h (get_nonnull_args): Remove declaration.
* tree-ssa-ccp.c: Include diagnostic-core.h.
(pass_data_post_ipa_warn): New variable.
(pass_post_ipa_warn): New class.
(pass_post_ipa_warn::execute): New method.
(make_pass_post_ipa_warn): New function.
* tree.h (get_nonnull_args): Declare.
* tree.c (get_nonnull_args): New function.
* calls.c (maybe_warn_null_arg): Removed.
(maybe_warn_null_arg): Removed.
(initialize_argument_information): Revert 2016-12-14 changes.
* passes.def: Add pass_post_ipa_warn after first ccp after IPA.
c-family/
* c-common.c (struct nonnull_arg_ctx): New type.
(check_function_nonnull): Return bool instead of void.  Use
nonnull_arg_ctx as context rather than just location_t.
(check_nonnull_arg): Adjust for the new context type, set
warned_p to true if a warning has been diagnosed.
(check_function_arguments): Return bool instead of void.
* c-common.h (check_function_arguments): Adjust prototype.
c/
* c-typeck.c (build_function_call_vec): If check_function_arguments
returns true, set TREE_NO_WARNING on CALL_EXPR.
cp/
* typeck.c (cp_build_function_call_vec): If check_function_arguments
returns true, set TREE_NO_WARNING on CALL_EXPR.
* call.c (build_over_call): Likewise.

From-SVN: r243874

7 years agore PR c++/77830 (internal compiler error: in output_constructor_regular_field, at...
Jakub Jelinek [Wed, 21 Dec 2016 21:58:23 +0000 (22:58 +0100)]
re PR c++/77830 (internal compiler error: in output_constructor_regular_field, at varasm.c:4968, when using constexpr (with testcase))

PR c++/77830
* constexpr.c (cxx_eval_array_reference): Perform out of bounds
verification even if lval is true, just allow one past the last
element in that case.
(cxx_eval_store_expression): Detect stores to out of bound
ARRAY_REF.

* g++.dg/cpp1y/pr77830.C: New test.
* g++.dg/cpp0x/pr65398.C: Adjust expected diagnostics.

From-SVN: r243873

7 years agoImplement P0522R0, matching of template template arguments.
Jason Merrill [Wed, 21 Dec 2016 19:39:04 +0000 (14:39 -0500)]
Implement P0522R0, matching of template template arguments.

gcc/c-family/
* c.opt (-fnew-ttp-matching): New flag.
* c-opts.c (c_common_post_options): Default on if -std=c++1z.
gcc/cp/
* pt.c (coerce_template_template_parms): Allow a template argument
that's less specialized than the parameter.
(unify_bound_ttp_args): Adjust parm's args to apply to arg's
template.
(coerce_template_args_for_ttp): Split out from
lookup_template_class_1.
(coerce_ttp_args_for_tta, store_defaulted_ttp)
(lookup_defaulted_ttp, add_defaults_to_ttp): New.
(process_partial_specialization): Set DECL_CONTEXT of
template template-parameters.
(coerce_template_parms): Only inform when complain.
(expand_template_argument_pack): Handle error_mark_node.
(convert_template_argument, template_args_equal, unify): Handle
any_targ_node.
* cp-tree.h (enum cp_tree_index): Add CPTI_ANY_TARG.
(any_targ_node): New.
* decl.c (cxx_init_decl_processing): Set it.
* name-lookup.c (consider_binding_level): Ignore names with embedded
spaces.

From-SVN: r243871

7 years agoPR c++/42329 - deducing base template for template template arg
Jason Merrill [Wed, 21 Dec 2016 19:38:50 +0000 (14:38 -0500)]
PR c++/42329 - deducing base template for template template arg

* pt.c (unify_bound_ttp_args): Split out from unify.
(try_class_unification): Handle BOUND_TEMPLATE_TEMPLATE_PARM.
(unify): Check for type/non-type mismatch early.
[BOUND_TEMPLATE_TEMPLATE_PARM]: Try get_template_base.

From-SVN: r243870

7 years agoFix handling of explicit function template arguments with TTPs.
Jason Merrill [Wed, 21 Dec 2016 19:38:44 +0000 (14:38 -0500)]
Fix handling of explicit function template arguments with TTPs.

gcc/cp/
* pt.c (coerce_template_parms): Consider variadic_args_p before
complaining about too many template arguments.
libstdc++-v3/
* testsuite/util/testsuite_tr1.h (test_property): Don't define both
variadic and non-variadic overloads.

From-SVN: r243869

7 years agoCheck that a partial specialization is more specialized.
Jason Merrill [Wed, 21 Dec 2016 19:38:35 +0000 (14:38 -0500)]
Check that a partial specialization is more specialized.

* pt.c (process_partial_specialization): Use
get_partial_spec_bindings to check that the partial specialization
is more specialized than the primary template.

From-SVN: r243868

7 years agoFixes for P0127R2 implementation.
Jason Merrill [Wed, 21 Dec 2016 19:38:29 +0000 (14:38 -0500)]
Fixes for P0127R2 implementation.

* pt.c (convert_template_argument): Pass args to do_auto_deduction.
(mark_template_parm): Handle deducibility from type of non-type
argument here.
(for_each_template_parm_r): Not here.

From-SVN: r243867

7 years agore PR rtl-optimization/11488 (Pre-regalloc scheduling severely worsens performance)
Pat Haugen [Wed, 21 Dec 2016 19:15:32 +0000 (19:15 +0000)]
re PR rtl-optimization/11488 (Pre-regalloc scheduling severely worsens performance)

PR rtl-optimization/11488
* common/config/rs6000/rs6000-common.c
(rs6000_option_optimization_table): Enable -fsched-pressure.
* config/rs6000/rs6000.c (TARGET_COMPUTE_PRESSURE_CLASSES): Define
target hook.
(rs6000_option_override_internal): Set default -fsched-pressure algorithm.
(rs6000_compute_pressure_classes): Implement target hook.

From-SVN: r243866

7 years agoImprove C++ debug_tree.
Jason Merrill [Wed, 21 Dec 2016 19:11:41 +0000 (14:11 -0500)]
Improve C++ debug_tree.

* ptree.c (cxx_print_type): Print args of
BOUND_TEMPLATE_TEMPLATE_PARM.
(cxx_print_decl): Print DECL_TEMPLATE_PARMS.

From-SVN: r243865

7 years agoPR c++/78767 - ICE with inherited constructor default argument
Jason Merrill [Wed, 21 Dec 2016 19:10:23 +0000 (14:10 -0500)]
PR c++/78767 - ICE with inherited constructor default argument

* method.c (strip_inheriting_ctors): Strip template as appropriate.

From-SVN: r243864

7 years ago[PATCH, v2, rs6000] pr65479 Add -fasynchronous-unwind-tables when the -fsanitize...
Bill Seurer [Wed, 21 Dec 2016 19:09:10 +0000 (19:09 +0000)]
[PATCH, v2, rs6000] pr65479 Add -fasynchronous-unwind-tables when the -fsanitize=address option is seen.

All feedback from the earlier version has been taken into account now.

This patch adds the -fasynchronous-unwind-tables option to compilations when
the -fsanitize=address option is seen but not if any
-fasynchronous-unwind-tables options were already specified.
-fasynchronous-unwind-tables causes a full strack trace to be produced when
the sanitizer detects an error.  Without the full trace several of the asan
test cases fail on powerpc.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65479 for more information.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu,
powerpc64be-unknown-linux-gnu, and x86_64-pc-linux-gnu with no regressions.
Is this ok for trunk?

[gcc]

2016-12-21  Bill Seurer  <seurer@linux.vnet.ibm.com>

PR sanitizer/65479
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
-fasynchronous-unwind-tables option when -fsanitize=address is
specified.

From-SVN: r243863

7 years agoPR c++/78749 - friend in anonymous namespace
Jason Merrill [Wed, 21 Dec 2016 18:28:54 +0000 (13:28 -0500)]
PR c++/78749 - friend in anonymous namespace

* decl.c (wrapup_globals_for_namespace): Don't complain about friend
pseudo-template instantiations.

From-SVN: r243862

7 years agore PR target/71321 (x86: worse code for uint8_t % 10 and / 10)
Bernd Schmidt [Wed, 21 Dec 2016 16:45:33 +0000 (16:45 +0000)]
re PR target/71321 (x86: worse code for uint8_t % 10 and / 10)

PR target/71321
* config/i386/i386.md (lea<mode>_general_2b, lea<mode>_general_3b): New
patterns.
* config/i386/predicates.md (const123_operand): New.

PR target/71321
* gcc.target/i386/pr71321.c: New test.

From-SVN: r243861