gcc.git
7 years agoextend.texi (Thread-Local): Change www.akkadia.org reference to https.
Gerald Pfeifer [Sat, 21 Jan 2017 21:53:32 +0000 (21:53 +0000)]
extend.texi (Thread-Local): Change akkadia.org reference to https.

* doc/extend.texi (Thread-Local): Change www.akkadia.org reference
to https.
* doc/invoke.texi (Code Gen Options): Ditto.

From-SVN: r244751

7 years agogfc-internals.texi (Symbol Versioning): Change references to www.akkadia.org to https.
Gerald Pfeifer [Sat, 21 Jan 2017 20:37:01 +0000 (20:37 +0000)]
gfc-internals.texi (Symbol Versioning): Change references to akkadia.org to https.

* gfc-internals.texi (Symbol Versioning): Change references
to www.akkadia.org to https.

From-SVN: r244750

7 years agore PR lto/78407 (LTO breaks separate overriding of symbol aliases)
Jan Hubicka [Sat, 21 Jan 2017 19:36:01 +0000 (20:36 +0100)]
re PR lto/78407 (LTO breaks separate overriding of symbol aliases)

PR lto/78407
* cfg.c (update_bb_profile_for_threading): Fix updating of probablity.

From-SVN: r244749

7 years agoMake poisoned hashes SFINAE away the call operator of the hash.
Ville Voutilainen [Sat, 21 Jan 2017 15:38:23 +0000 (17:38 +0200)]
Make poisoned hashes SFINAE away the call operator of the hash.

* include/bits/functional_hash.h
(__poison_hash::__enable_hash_call): New.
* include/std/optional (__optional_hash_call_base): New.
(hash<optional<_Tp>>): Derive from the new base,
move the hash function into that base.
* include/std/variant (__variant_hash_call_base_impl): New.
(__variant_hash_call_base): Likewise.
(hash<variant<_Types...>>): Derive from the new base,
move the hash function into that base.
* testsuite/20_util/optional/hash.cc: Add tests for is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.

From-SVN: r244748

7 years agore PR testsuite/79169 (g++.dg/warn/Wduplicated-branches1.C fails on powerpc since...
Marek Polacek [Sat, 21 Jan 2017 12:00:40 +0000 (12:00 +0000)]
re PR testsuite/79169 (g++.dg/warn/Wduplicated-branches1.C fails on powerpc since its introduction in r244705)

PR testsuite/79169
* g++.dg/warn/Wduplicated-branches1.C: Use signed char.

From-SVN: r244747

7 years ago* gcc.dg/tree-ssa/pr77445-2.c: Adjust template.
Jan Hubicka [Sat, 21 Jan 2017 11:33:44 +0000 (12:33 +0100)]
* gcc.dg/tree-ssa/pr77445-2.c: Adjust template.

From-SVN: r244746

7 years agosem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc) optimizations...
Eric Botcazou [Sat, 21 Jan 2017 11:10:00 +0000 (11:10 +0000)]
sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc) optimizations when...

* sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc)
optimizations when the type is modular and the offsets are equal.

From-SVN: r244745

7 years agogfortran.h (gfc_extract_int): Change return type to bool.
Jakub Jelinek [Sat, 21 Jan 2017 10:30:54 +0000 (11:30 +0100)]
gfortran.h (gfc_extract_int): Change return type to bool.

* gfortran.h (gfc_extract_int): Change return type to bool.  Add
int argument with = 0.
* decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass
1 as new last argument to it, don't emit gfc_error.
(match_char_kind): Likewise.
(gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of
gfc_get_string (x).
(gfc_match_derived_decl, match_binding_attributes): Likewise.
(gfc_match_structure_decl): Don't sprintf back to name, call
get_struct_decl directly with gfc_dt_upper_string (name) result.
* trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x)
instead of gfc_get_string (x).
* module.c (gfc_dt_lower_string, gfc_dt_upper_string,
gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string,
mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces,
load_omp_udrs, load_needed, read_module, dump_module,
create_intrinsic_function, import_iso_c_binding_module,
create_int_parameter, create_int_parameter_array, create_derived_type,
use_iso_fortran_env_module): Likewise.
* error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use
pp_verbatim (context->printer, "%s", x) instead of
pp_verbatim (context->printer, x).
* match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass
1 as new last argument to it, don't emit gfc_error.
(gfc_match_small_int_expr): Likewise.
* iresolve.c (gfc_get_string): Optimize format "%s" case.
(resolve_bound): Use gfc_get_string ("%s", x) instead of
gfc_get_string (x).
(resolve_transformational): Formatting fix.
(gfc_resolve_char_achar): Change name argument to bool is_achar,
use a single format string and if is_achar add "a" before "char".
(gfc_resolve_achar, gfc_resolve_char): Adjust callers.
* expr.c (gfc_extract_int): Change return type to bool, return true
if some error occurred.  Add REPORT_ERROR argument, if non-zero
call either gfc_error or gfc_error_now depending on its sign.
* arith.c (arith_power): Adjust gfc_extract_int caller.
* symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead
of gfc_get_string (x).
(gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol,
gfc_get_gsymbol, generate_isocbinding_symbol): Likewise.
* openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass
-1 as new last argument to it, don't emit gfc_error_now.
(gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x)
instead of gfc_get_string (x).
* check.c (kind_check): Adjust gfc_extract_int caller.
* intrinsic.c (add_sym, find_sym, make_alias): Use
gfc_get_string ("%s", x) instead of gfc_get_string (x).
* simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr,
gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat,
gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind):
Adjust gfc_extract_int callers.
* trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x)
instead of gfc_get_string (x).
* matchexp.c (expression_syntax): Add const.
* primary.c (match_kind_param, match_hollerith_constant,
match_string_constant): Adjust gfc_extract_int callers.
(match_keyword_arg): Use gfc_get_string ("%s", x) instead of
gfc_get_string (x).
* frontend-passes.c (optimize_minmaxloc): Likewise.

From-SVN: r244744

7 years ago* config/i386/cygming-crtbegin.c (LIBGCJ_SONAME): No longer #define.
Gerald Pfeifer [Sat, 21 Jan 2017 08:52:32 +0000 (08:52 +0000)]
* config/i386/cygming-crtbegin.c (LIBGCJ_SONAME): No longer #define.

From-SVN: r244743

7 years agore PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
Jakub Jelinek [Sat, 21 Jan 2017 08:47:11 +0000 (09:47 +0100)]
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)

PR other/79046
libatomic/
* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
of cat to get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
libffi/
* configure.ac: Add GCC_BASE_VER.
* include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
of cat to get version from BASE-VER file.
* configure: Regenerated.
* testsuite/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* Makefile.in: Regenerated.
* man/Makefile.in: Regenerated.
libgomp/
* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
of cat to get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
libitm/
* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
of cat to get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
libmpx/
* mpxrt/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
of cat to get version from BASE-VER file.
* mpxwrap/Makefile.am (gcc_version): Likewise.
* mpxrt/Makefile.in: Regenerated.
* mpxwrap/Makefile.in: Regenerated.
liboffloadmic/
* plugin/configure.ac: Add GCC_BASE_VER.
* plugin/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
of cat to get version from BASE-VER file.
* plugin/configure: Regenerated.
* plugin/aclocal.m4: Regenerated.
* plugin/Makefile.in: Regenerated.
libsanitizer/
* interception/Makefile.am (gcc_version): Use @get_gcc_base_ver@
instead of cat to get version from BASE-VER file.
* asan/Makefile.am (gcc_version): Likewise.
* ubsan/Makefile.am (gcc_version): Likewise.
* sanitizer_common/Makefile.am (gcc_version): Likewise.
* lsan/Makefile.am (gcc_version): Likewise.
* tsan/Makefile.am (gcc_version): Likewise.
* interception/Makefile.in: Regenerated.
* asan/Makefile.in: Regenerated.
* ubsan/Makefile.in: Regenerated.
* sanitizer_common/Makefile.in: Regenerated.
* lsan/Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.
libvtv/
* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
of cat to get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.

From-SVN: r244742

7 years agore PR rtl-optimization/79125 (ICE in rtl_verify_bb_insns, at cfgrtl.c:2661 (error...
Bernd Schmidt [Sat, 21 Jan 2017 07:23:47 +0000 (00:23 -0700)]
re PR rtl-optimization/79125 (ICE in rtl_verify_bb_insns, at cfgrtl.c:2661 (error: flow control insn inside a basic block))

2017-01-21  Bernd Schmidt  <bschmidt@redhat.com>

rtl-optimization/79125
* cprop.c (local_cprop_pass): Handle cases where we make an
unconditional trap.

PR rtl-optimization/79125
* gcc.dg/torture/pr79125.c: New test.

From-SVN: r244741

7 years agors6000: Small varargs for BE SVR4 (PR61729, PR77850)
Segher Boessenkool [Sat, 21 Jan 2017 03:11:49 +0000 (04:11 +0100)]
rs6000: Small varargs for BE SVR4 (PR61729, PR77850)

The varargs code for SVR4 puts all (integer) arguments in 4-byte slots.
When it then reads an item from there as something not a multiple of 4
bytes, it needs to adjust the address if big endian.  We didn't yet do
that.

This fixes the g++.dg/abi/scoped1.C, gcc.dg/compat/scalar-by-value-4,
and gcc.dg/compat/scalar-return-4 testcases.

PR target/61729
PR target/77850
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
read from, for big endian.

From-SVN: r244740

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

From-SVN: r244739

7 years agoruntime, testing/internal/testdeps: fixes for cgo
Ian Lance Taylor [Fri, 20 Jan 2017 21:18:37 +0000 (21:18 +0000)]
runtime, testing/internal/testdeps: fixes for cgo

    Some fixes that permit misc/cgo/test in the master gc repository to
    pass using the current gccgo.

    Install testing/internal/testdeps.gox; it is needed by `go test`.

    Export runtime.lockedOSThread to enable calling via go:linkname; it is
    used by misc/cgo/test.

    Loop on EAGAIN when creating a new thread; this is what the gc code
    does, and misc/cgo/test tests that it works.

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

From-SVN: r244733

7 years ago[AArch64] Only build & test pauth code for LP64
Jiong Wang [Fri, 20 Jan 2017 21:03:41 +0000 (21:03 +0000)]
[AArch64] Only build & test pauth code for LP64

gcc/
* config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
register pauth builtins for LP64 only.

libgcc/
* config/aarch64/aarch64-unwind.h: Empty this file on ILP32.
* unwind-dw2.c (execute_cfa_program):  Only multiplexing
DW_CFA_GNU_window_save for AArch64 and LP64.

gcc/testsuite/
* testsuite/gcc.target/aarch64/return_address_sign_1.c: Enable on LP64
only.
* testsuite/gcc.target/aarch64/return_address_sign_2.c: Likewise.
* testsuite/gcc.target/aarch64/return_address_sign_3.c: Likewise.

From-SVN: r244732

7 years agore PR go/79146 (Bootstrapping go on s390x fails; redefined symbols)
Ian Lance Taylor [Fri, 20 Jan 2017 20:39:10 +0000 (20:39 +0000)]
re PR go/79146 (Bootstrapping go on s390x fails; redefined symbols)

PR go/79146
    math/big: fix build on s390x

    Don't build arith_decl_s390x.go for gccgo; it is only for assembly
    code that has not yet been ported to gccgo.

    For GCC PR 79146.

From-SVN: r244731

7 years agoPR c++/78495 - wrong code inherited ctor and invisi-ref parm
Nathan Sidwell [Fri, 20 Jan 2017 17:53:44 +0000 (17:53 +0000)]
PR c++/78495 - wrong code inherited ctor and invisi-ref parm

PR c++/78495 - wrong code inherited ctor and invisi-ref parm
* cp-gimplify.c (cp_generize_r): Don't skip thunks.

PR c++/79495
* g++.dg/cpp1z/inh-ctor38.C: New.

From-SVN: r244728

7 years agoSupport unsigned __int20 in checks for size_t mangling
Joe Seymour [Fri, 20 Jan 2017 17:46:36 +0000 (17:46 +0000)]
Support unsigned __int20 in checks for size_t mangling

2017-01-20  Joe Seymour  <joe.s@somniumtech.com>

* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
* configure: Regenerate.

From-SVN: r244727

7 years agore PR c/79152 (-Wimplicit-fallthrough false positive triggered by goto statements)
Marek Polacek [Fri, 20 Jan 2017 16:28:16 +0000 (16:28 +0000)]
re PR c/79152 (-Wimplicit-fallthrough false positive triggered by goto statements)

PR c/79152
* gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
non-case labels.

* c-c++-common/Wimplicit-fallthrough-35.c: New test.

From-SVN: r244726

7 years agoRemove orphaned entries
Eric Botcazou [Fri, 20 Jan 2017 15:55:15 +0000 (15:55 +0000)]
Remove orphaned entries

From-SVN: r244725

7 years agoSkip optional_mthumb tests if GCC has a default mode
Thomas Preud'homme [Fri, 20 Jan 2017 15:29:21 +0000 (15:29 +0000)]
Skip optional_mthumb tests if GCC has a default mode

2017-01-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * lib/target-supports.exp (check_configured_with): New procedure.
    (check_effective_target_default_mode): new effective target.
    * gcc.target/arm/optional_thumb-1.c: Skip if GCC was configured with a
    default mode.  Fix dg-skip-if target selector syntax.
    * gcc.target/arm/optional_thumb-2.c: Likewise.
    * gcc.target/arm/optional_thumb-3.c: Fix dg-skip-if target selector
    syntax.

From-SVN: r244723

7 years agoPR69240 Define inequality operators for <random> param types
Jonathan Wakely [Fri, 20 Jan 2017 15:28:48 +0000 (15:28 +0000)]
PR69240 Define inequality operators for <random> param types

PR libstdc++/69240
* include/bits/random.h (uniform_real_distribution::param_type)
(normal_distribution::param_type, lognormal_distribution::param_type)
(gamma_distribution::param_type, chi_squared_distribution::param_type)
(cauchy_distribution::param_type, fisher_f_distribution::param_type)
(student_t_distribution::param_type)
(bernoulli_distribution::param_type, binomial_distribution::param_type)
(geometric_distribution::param_type)
(negative_binomial_distribution::param_type)
(poisson_distribution::param_type)
(exponential_distribution::param_type)
(weibull_distribution::param_type)
(extreme_value_distribution::param_type)
(discrete_distribution::param_type)
(piecewise_constant_distribution::param_type)
(piecewise_linear_distribution::param_type): Define operator!=.
* include/bits/uniform_int_dist.h
(uniform_int_distribution::param_type): Likewise.
* include/ext/random (beta_distribution::param_type)
(rice_distribution::param_type, nakagami_distribution::param_type)
(pareto_distribution::param_type, k_distribution::param_type)
(arcsine_distribution::param_type, hoyt_distribution::param_type)
(triangular_distribution::param_type)
(von_mises_distribution::param_type)
(hypergeometric_distribution::param_type)
(logistic_distribution::param_type)
(uniform_on_sphere_distribution::param_type)
(uniform_inside_sphere_distribution::param_type): Likewise.
* testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
Test construction with param_type.
* testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/
parms.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
* testsuite/ext/random/triangular_distribution/cons/parms.cc:
Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
parms.cc: Likewise.
* testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.

From-SVN: r244722

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 14:51:39 +0000 (15:51 +0100)]
[multiple changes]

2017-01-20  Thomas Quinot  <quinot@adacore.com>

* sem_warn.adb (Warn_On_Useless_Assignment): Adjust wording of warning
message.

2017-01-20  Nicolas Roche  <roche@adacore.com>

* terminals.c: Ignore failures on setpgid and tcsetpgrp commands.

2017-01-20  Bob Duff  <duff@adacore.com>

* sem_eval.adb (Compile_Time_Compare): Disable the expr+literal
(etc) optimizations when the type is modular.

2017-01-20  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Move_Pragmas): move some pragmas,
but copy the SPARK_Mode pragma instead of moving it.
(Build_Subprogram_Declaration): Ensure that the generated spec
and original body share the same SPARK_Pragma aspect/pragma.
* sem_util.adb, sem_util.ads (Copy_SPARK_Mode_Aspect): New
procedure to copy SPARK_Mode aspect.

2017-01-20  Bob Duff  <duff@adacore.com>

* sem_ch3.adb (Analyze_Declarations): Disable Resolve_Aspects
even in ASIS mode.
* sem_ch13.adb (Resolve_Name): Enable setting the entity to
Empty even in ASIS mode.

From-SVN: r244720

7 years ago* update-copyright.py (LibJavaFilter): Remove.
Gerald Pfeifer [Fri, 20 Jan 2017 14:50:19 +0000 (14:50 +0000)]
* update-copyright.py (LibJavaFilter): Remove.

From-SVN: r244719

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 14:49:28 +0000 (15:49 +0100)]
[multiple changes]

2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch9.adb: minor style fixes in comments.
* sem_ch9.adb (Analyze_Delay_Relative): in GNATprove mode a delay
relative statement introduces an implicit dependency on
Ada.Real_Time.Clock_Time.
* sem_util.adb: Minor reformatting.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Alignment
must be treated as delayed aspect even if the expression is
a literal, because the aspect affects the freezing and the
elaboration of the object to which it applies.

2017-01-20  Tristan Gingold  <gingold@adacore.com>

* s-osinte-vxworks.ads (Interrup_Range): New subtype.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* lib-xref.adb (Generate_Reference): Do not warn about the
presence of a pragma Unreferenced if the entity appears as the
actual in a procedure call that does not come from source.

2017-01-20  Pascal Obry  <obry@adacore.com>

* expect.c, terminals.c: Fix some warnings about unused variables.
* gsocket.h, adaint.c, adaint.h: Fix some more warnings in the C part
of the runtime.

2017-01-20  Bob Duff  <duff@adacore.com>

* exp_attr.adb (Constrained): Apply an access check (check that
the prefix is not null) when the prefix denotes an object of an
access type; that is, when there is an implicit dereference.

2017-01-20  Gary Dismukes  <dismukes@adacore.com>

* s-rident.ads (constant Profile_Info): Remove
No_Calendar from GNAT_Extended_Ravenscar restrictions.

2017-01-20  Tristan Gingold  <gingold@adacore.com>

*  s-maccod.ads: Add pragma No_Elaboration_Code_All

From-SVN: r244718

7 years agoomp-offload: use PROP_gimple_lomp_dev
Alexander Monakov [Fri, 20 Jan 2017 14:38:18 +0000 (17:38 +0300)]
omp-offload: use PROP_gimple_lomp_dev

* omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
of safelen status.
* omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
* passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
* tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.

From-SVN: r244717

7 years ago[ARM] PR target/71270 fix neon_valid_immediate for big-endian
Kyrylo Tkachov [Fri, 20 Jan 2017 14:36:57 +0000 (14:36 +0000)]
[ARM] PR target/71270 fix neon_valid_immediate for big-endian

PR target/71270
* config/arm/arm.c (neon_valid_immediate): Reject vector constants
in big-endian mode when they are not a single duplicated value.

From-SVN: r244716

7 years agoC++: fix fix-it hints for misspellings within explicit namespaces
David Malcolm [Fri, 20 Jan 2017 14:36:46 +0000 (14:36 +0000)]
C++: fix fix-it hints for misspellings within explicit namespaces

gcc/cp/ChangeLog:
PR c++/77829
PR c++/78656
* cp-tree.h (suggest_alternatives_for): Add bool param.
(suggest_alternative_in_explicit_scope): New decl.
* error.c (qualified_name_lookup_error): When SCOPE is a namespace
that isn't the global one, call new function
suggest_alternative_in_explicit_scope, only calling
suggest_alternatives_for if it fails, and disabling near match
searches fort that case.  When SCOPE is the global namespace,
pass true for new param to suggest_alternatives_for to allow for
fuzzy name lookups.
* lex.c (unqualified_name_lookup_error): Pass true for new param
to suggest_alternatives_for.
* name-lookup.c (consider_binding_level): Add forward decl.
(suggest_alternatives_for): Add "suggest_misspellings" param,
using it to conditionalize the fuzzy name-lookup code.
(suggest_alternative_in_explicit_scope): New function.
* parser.c (cp_parser_primary_expression): When calling
finish_id_expression, pass location of id_expression rather
than that of id_expr_token.
(cp_parser_id_expression): Convert local "unqualified_id" from
tree to cp_expr to avoid implicitly dropping location information.

gcc/testsuite/ChangeLog:
PR c++/77829
PR c++/78656
* g++.dg/spellcheck-pr77829.C: New test case.
* g++.dg/spellcheck-pr78656.C: New test case.

From-SVN: r244715

7 years agoBASE-VER: Bump to 7.0.1.
Richard Biener [Fri, 20 Jan 2017 14:05:48 +0000 (14:05 +0000)]
BASE-VER: Bump to 7.0.1.

2017-01-20  Richard Biener  <rguenther@suse.de>

* BASE-VER: Bump to 7.0.1.

From-SVN: r244714

7 years agoomp-low: introduce omplow_simd_context
Alexander Monakov [Fri, 20 Jan 2017 14:04:06 +0000 (17:04 +0300)]
omp-low: introduce omplow_simd_context

* omp-low.c (omplow_simd_context): New struct.  Use it...
(lower_rec_simd_input_clauses): ...here and...
(lower_rec_input_clauses): ...here to hold common data.  Adjust all
references to idx, lane, max_vf, is_simt.

From-SVN: r244713

7 years agoarc/nps: Use arclinux_nps linker emulation for nps
Graham Markall [Fri, 20 Jan 2017 13:37:28 +0000 (13:37 +0000)]
arc/nps: Use arclinux_nps linker emulation for nps

gcc/ChangeLog:

* config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
mcpu=nps400.

From-SVN: r244712

7 years ago[hsa] Rename hsa.[ch] to hsa-common.[ch]
Martin Jambor [Fri, 20 Jan 2017 13:33:29 +0000 (14:33 +0100)]
[hsa] Rename hsa.[ch] to hsa-common.[ch]

2017-01-20  Martin Jambor  <mjambor@suse.cz>

        * hsa.h: Renaed to hsa-common.h.  Adjusted a comment.
        * hsa.c: Renaed to hsa-common.c.  Change include of gt-hsa.h to
        gt-hsa-common.h.
        * Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
        (GTFILES): Rename hsa.c to hsa-common.c.
        * hsa-brig.c: Change include of hsa.h to hsa-common.h.
        * hsa-dump.c: Likewise.
        * hsa-gen.c: Likewise.
        * hsa-regalloc.c: Likewise.
        * ipa-hsa.c: Likewise.
        * omp-expand.c: Likewise.
        * omp-low.c: Likewise.
        * toplev.c: Likewise.

From-SVN: r244711

7 years ago[AArch64] Always include linux-unwind.h
Jiong Wang [Fri, 20 Jan 2017 12:27:46 +0000 (12:27 +0000)]
[AArch64] Always include linux-unwind.h

libgcc/
        * config/aarch64/linux-unwind.h: Always include aarch64-unwind.h.

From-SVN: r244710

7 years agoPR72792 detect allocator pointer types without invalid rebinding
Jonathan Wakely [Fri, 20 Jan 2017 12:03:36 +0000 (12:03 +0000)]
PR72792 detect allocator pointer types without invalid rebinding

PR libstdc++/72792
* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
(__allocator_traits_base::__size_type): Remove.
(allocator_traits::_Ptr): New class template to detect const and void
pointer types without instantiating pointer_traits::rebind
unnecessarily.
(allocator_traits::_Diff): Likewise for detecting difference_type.
(allocator_traits::_Size): New class template to detect size_type
without instantiating make_unsigned unnecessarily.
* include/bits/ptr_traits.h (pointer_traits::element_type): Use
__detected_or_t instead of __detected_or_t_.
* include/std/type_traits (__detected_or_t_): Remove.
* testsuite/20_util/allocator_traits/members/pointers.cc: New test.

From-SVN: r244706

7 years agore PR c/64279 (Warning missing for "(cond) ? A : A" / if(cond) expr1; else expr1...
Marek Polacek [Fri, 20 Jan 2017 12:02:50 +0000 (12:02 +0000)]
re PR c/64279 (Warning missing for "(cond) ? A : A" / if(cond) expr1; else expr1; // same expression in if and else branch)

PR c/64279
* c-common.h (do_warn_duplicated_branches_r): Declare.
* c-gimplify.c (c_genericize): Walk the function tree calling
do_warn_duplicated_branches_r.
* c-warn.c (expr_from_macro_expansion_r): New.
(do_warn_duplicated_branches): New.
(do_warn_duplicated_branches_r): New.
* c.opt (Wduplicated-branches): New option.

* c-typeck.c (build_conditional_expr): Warn about duplicated branches.

* call.c (build_conditional_expr_1): Warn about duplicated branches.
* semantics.c (finish_expr_stmt): Build statement using the proper
location.

* doc/invoke.texi: Document -Wduplicated-branches.
* fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
STATEMENT_LIST, and RETURN_EXPR.  For non-pure non-const functions
return 0 only when not OEP_LEXICOGRAPHIC.
(fold_build_cleanup_point_expr): Use the expression
location when building CLEANUP_POINT_EXPR.
* tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
* tree.c (add_expr): Handle error_mark_node.

* c-c++-common/Wduplicated-branches-1.c: New test.
* c-c++-common/Wduplicated-branches-10.c: New test.
* c-c++-common/Wduplicated-branches-11.c: New test.
* c-c++-common/Wduplicated-branches-12.c: New test.
* c-c++-common/Wduplicated-branches-2.c: New test.
* c-c++-common/Wduplicated-branches-3.c: New test.
* c-c++-common/Wduplicated-branches-4.c: New test.
* c-c++-common/Wduplicated-branches-5.c: New test.
* c-c++-common/Wduplicated-branches-6.c: New test.
* c-c++-common/Wduplicated-branches-7.c: New test.
* c-c++-common/Wduplicated-branches-8.c: New test.
* c-c++-common/Wduplicated-branches-9.c: New test.
* c-c++-common/Wimplicit-fallthrough-7.c: Coalesce dg-warning.
* g++.dg/cpp0x/lambda/lambda-switch.C: Move dg-warning.
* g++.dg/ext/builtin-object-size3.C: Likewise.
* g++.dg/gomp/loop-1.C: Likewise.
* g++.dg/warn/Wduplicated-branches1.C: New test.
* g++.dg/warn/Wduplicated-branches2.C: New test.

From-SVN: r244705

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 11:55:04 +0000 (12:55 +0100)]
[multiple changes]

2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* ghost.adb (Mark_Ghost_Clause): New routine.
(Prune_Node): Do not prune compilation unit nodes.
(Remove_Ignored_Ghost_Code): Prune the compilation unit node directly.
This does not touch the node itself, but does prune all its fields.
* ghost.ads (Mark_Ghost_Clause): New routine.
* sem_ch8.adb (Analyze_Use_Package): Emit an error when a use
package clause mentions Ghost and non-Ghost packages. Mark a
use package clause as Ghost when it mentions a Ghost package.
(Analyze_Use_Type): Emit an error when a use type clause mentions
Ghost and non-Ghost types. Mark a use type clause as Ghost when
it mentions a Ghost type.
* sem_ch10.adb (Analyze_With_Clause): Mark a with clause as
Ghost when it withs a Ghost unit.

2017-01-20  Javier Miranda  <miranda@adacore.com>

* sem_res.adb (Resolve_Call): If a function call
returns a limited view of a type and at the point of the call the
function is not declared in the extended main unit then replace
it with the non-limited view, which must be available. If the
called function is in the extended main unit then no action is
needed since the back-end handles this case.

2017-01-20  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch7.adb (Contains_Subp_Or_Const_Refs): Rename into...
(Contains_Subprograms_Refs): ...this.  Adjust comment
for constants. (Is_Subp_Or_Const_Ref): Rename into...
(Is_Subprogram_Ref): ...this.
(Has_Referencer): Rename Has_Non_Subp_Const_Referencer variable into
Has_Non_Subprograms_Referencer and adjust comment.  Remove
incorrect shortcut for package declarations and bodies.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Complete_Private_Subtype): If the scope of the
base type differs from that of the completion and the private
subtype is an itype (created for a constraint on an access
type e.g.), set Delayed_Freeze on both to prevent out-of-scope
anomalies in gigi.

2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
When inheriting the SPARK_Mode of a prior expression function,
look at the properly resolved entity rather than the initial
candidate which may denote a homonym.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Rewrite_Assertion_Kind): If the name is
Precondition or Postcondition, and the context is pragma
Check_Policy, indicate that this Pre-Ada2012 usage is deprecated
and suggest the standard names Assertion_Policy /Pre /Post
instead.

From-SVN: r244704

7 years agosem_ch10.adb, [...]: Minor reformatting.
Hristian Kirtchev [Fri, 20 Jan 2017 11:51:36 +0000 (11:51 +0000)]
sem_ch10.adb, [...]: Minor reformatting.

2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch10.adb, sem_cat.adb: Minor reformatting.

From-SVN: r244703

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 10:42:43 +0000 (11:42 +0100)]
[multiple changes]

2017-01-20  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Access_Type_Declaration): Protect access to the
Entity attribute.
* sem_ch10.adb (Install_Siblings): Skip processing malformed trees.
* sem_cat.adb (Validate_Categoriztion_Dependency): Skip processing
malformed trees.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specification, case
Dynamic_Predicate): If the entity E is a subtype that inherits
a static predicate for its parent P,, the inherited and the
new predicate combine in the generated predicate function,
and E only has a dynamic predicate.

2017-01-20  Tristan Gingold  <gingold@adacore.com>

* s-boustr.ads, s-boustr.adb: New package.
* Makefile.rtl: Add s-boustr.

2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* inline.adb (Process_Formals): Qualify the
expression of a return statement when it yields a universal type.

2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_All): Freeze the default
expressions of all eligible formal parameters that appear in
entries, entry families, and protected subprograms.

From-SVN: r244701

7 years agoMinor reformatting.
Arnaud Charlet [Fri, 20 Jan 2017 10:38:54 +0000 (11:38 +0100)]
Minor reformatting.

From-SVN: r244700

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 10:38:41 +0000 (11:38 +0100)]
[multiple changes]

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Check_Nonoverridable_Aspects); Refine check
for illegal inherited Implicit_Dereference aspects with renamed
discriminants.

2017-01-20  Javier Miranda  <miranda@adacore.com>

* debug.adb (switch d.6): do not avoid declaring unreferenced itypes.
* nlists.ads (Lock_Lists, Unlock_Lists): New subprograms.
* nlists.adb (Lock_Lists, Unlock_Lists): New subprograms.
(Set_First, Set_Last, Set_List_Link, Set_Next, Set_Parent,
Set_Prev, Tree_Read): Adding assertion.
* atree.ads (Lock_Nodes, Unlock_Nodes): New subprograms.
* atree.adb (Lock_Nodes, Unlock_Nodes): New subprograms.
(Set_Analyzed, Set_Check_Actuals, Set_Comes_From_Source,
Set_Ekind, Set_Error_Posted, Set_Has_Aspects,
Set_Is_Ignored_Ghost_Node, Set_Original_Node, Set_Paren_Count,
Set_Parent, Set_Sloc, Set_Nkind, Set_FieldNN, Set_NodeNN,
Set_ListNN, Set_ElistNN, Set_NameN, Set_StrN, Set_UintNN,
Set_UrealNN, Set_FlagNNN, Set_NodeN_With_Parent,
Set_ListN_With_Parent): Adding assertion.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Process_Convention): Diagnose properly a pragma
import that applies to several homograph subprograms. when one
of them is declared by a subprogram body.

2017-01-20  Justin Squirek  <squirek@adacore.com>

* exp_ch6.adb (Expand_Call): Remove optimization
that nulls out calls to null procedures.

From-SVN: r244699

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 10:36:01 +0000 (11:36 +0100)]
[multiple changes]

2017-01-20  Yannick Moy  <moy@adacore.com>

* inline.adb (Expand_Inlined_Call): Keep more
precise type of actual for inlining whenever possible. In
particular, do not switch to the formal type in GNATprove mode in
some case where the GNAT backend might require it for visibility.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Check_Non_Overridable_Aspects): An inherited
aspect Implicit_Dereference can be inherited by a full view if
the partial view has no discriminants, because there is no way
to apply the aspect to the partial view.
(Build_Derived_Record_Type): If derived type renames discriminants
of the parent, the new discriminant inherits the aspect from
the old one.
* sem_ch4.adb (Analyze_Call): Handle properly a parameterless
call through an access discriminant designating a subprogram.
* sem_ch5.adb (Analyze_Assignment): (Analyze_Call): Handle
properly a parameterless call through an access discriminant on
the left-hand side of an assignment.
* sem_res.adb (resolve): If an interpreation involves a
discriminant with an implicit dereference and the expression is an
entity, resolution takes place later in the appropriate routine.
* sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Recognize
access discriminants that designate a subprogram type.

2017-01-20  Pascal Obry  <obry@adacore.com>

* a-locale.adb, a-locale.ads: Update Ada.Locales for RM 2012 COR:1:2016

From-SVN: r244698

7 years agoMinor reformatting.
Arnaud Charlet [Fri, 20 Jan 2017 10:32:34 +0000 (11:32 +0100)]
Minor reformatting.

From-SVN: r244697

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 10:31:58 +0000 (11:31 +0100)]
[multiple changes]

2017-01-20  Yannick Moy  <moy@adacore.com>

* sem_ch10.adb (Check_No_Elab_Code_All): Do not issue an error
on implicitly with'ed units in GNATprove mode.
* sinfo.ads (Implicit_With): Document use of flag for implicitly
with'ed units in GNATprove mode.

2017-01-20  Ed Schonberg  <schonberg@adacore.com>

* sem_cat.adb (Validate_Static_Object_Name): In a preelaborated
unit Do not report an error on a non-static entity that appears
in the context of a spec expression, such as an aspect expression.

2017-01-20  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.adb: Flag298 now denotes Is_Underlying_Full_View.
(Is_Underlying_Full_View): New routine.
(Set_Is_Underlying_Full_View): New routine.
(Write_Entity_Flags): Add an entry for Is_Underlying_Full_View.
* einfo.ads Add new attribute Is_Underlying_Full_View.
(Is_Underlying_Full_View): New routine along with pragma Inline.
(Set_Is_Underlying_Full_View): New routine along with pragma Inline.
* exp_util.adb (Build_DIC_Procedure_Body): Do not consider
class-wide types and underlying full views. The first subtype
is used as the working type for all Itypes, not just array base types.
(Build_DIC_Procedure_Declaration): Do not consider
class-wide types and underlying full views. The first subtype
is used as the working type for all Itypes, not just array
base types.
* freeze.adb (Freeze_Entity): Inherit the freeze node of a full
view or an underlying full view without clobbering the attributes
of a previous freeze node.
(Inherit_Freeze_Node): New routine.
* sem_ch3.adb (Build_Derived_Private_Type): Mark an underlying
full view as such.
(Build_Underlying_Full_View): Mark an underlying full view as such.
* sem_ch7.adb (Install_Private_Declarations): Mark an underlying
full view as such.

From-SVN: r244696

7 years agoRevert previous change.
Arnaud Charlet [Fri, 20 Jan 2017 10:30:28 +0000 (11:30 +0100)]
Revert previous change.

From-SVN: r244695

7 years ago[multiple changes]
Arnaud Charlet [Fri, 20 Jan 2017 10:20:02 +0000 (11:20 +0100)]
[multiple changes]

2017-01-20  Arnaud Charlet  <charlet@adacore.com>

* exp_ch3.adb: Reenable code.

2017-01-20  Yannick Moy  <moy@adacore.com>

* sinfo.ads: Document lack of Do_Division_Check flag
on float exponentiation.

From-SVN: r244693

7 years agoDo not declare artificial variables in tree-profile.c to have a definition (PR lto...
Martin Liska [Fri, 20 Jan 2017 09:45:04 +0000 (10:45 +0100)]
Do not declare artificial variables in tree-profile.c to have a definition (PR lto/69188).

2017-01-20  Martin Liska  <mliska@suse.cz>

PR lto/69188
* gcc.dg/lto/pr69188_0.c: New test.
* gcc.dg/lto/pr69188_1.c: New test.
2017-01-20  Martin Liska  <mliska@suse.cz>

PR lto/69188
* tree-profile.c (init_ic_make_global_vars): Do not call
finalize_decl.
(gimple_init_gcov_profiler): Likewise.

From-SVN: r244692

7 years agoFix IPA CP where it forgot to add a reference in cgraph (PR ipa/71190).
Martin Liska [Fri, 20 Jan 2017 08:44:35 +0000 (09:44 +0100)]
Fix IPA CP where it forgot to add a reference in cgraph (PR ipa/71190).

2017-01-20  Martin Liska  <mliska@suse.cz>

PR ipa/71190
* cgraph.h (maybe_create_reference): Remove argument and
update comment.
* cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
argument.
* ipa-cp.c (create_specialized_node): Likewise.
* symtab.c (symtab_node::maybe_create_reference): Handle
VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.

From-SVN: r244687

7 years agoFix --enable-gather-detailed-mem-stats
Martin Liska [Fri, 20 Jan 2017 08:41:22 +0000 (09:41 +0100)]
Fix --enable-gather-detailed-mem-stats

2017-01-20  Martin Liska  <mliska@suse.cz>

* read-rtl-function.c (function_reader::create_function): Use
build_decl instread of build_decl_stat.

From-SVN: r244686

7 years agoAdd AVX512 k-mask intrinsics.
Andrew Senkevich [Fri, 20 Jan 2017 08:37:13 +0000 (08:37 +0000)]
Add AVX512 k-mask intrinsics.

gcc/
* config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
* config/i386/avx512dqintrin.h: Ditto.
* config/i386/avx512fintrin.h: Ditto.
* config/i386/i386-builtin-types.def: Add new types.
* gcc/config/i386/i386.c: Handle new types.
* config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
(__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
(__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
(__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
(__builtin_ia32_kshiftridi): New.
* config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.

gcc/testsuite/
* gcc.target/i386/avx512bw-kshiftld-1.c: New test.
* gcc.target/i386/avx512bw-kshiftlq-1.c: Ditto.
* gcc.target/i386/avx512dq-kshiftlb-1.c: Ditto.
* gcc.target/i386/avx512f-kshiftlw-1.c: Ditto.
* gcc.target/i386/avx512bw-kshiftrd-1.c: Ditto.
* gcc.target/i386/avx512bw-kshiftrq-1.c: Ditto.
* gcc.target/i386/avx512dq-kshiftrb-1.c: Ditto.
* gcc.target/i386/avx512f-kshiftrw-1.c: Ditto.
* gcc.target/i386/avx512bw-kshiftld-2.c: Ditto.
* gcc.target/i386/avx512bw-kshiftlq-2.c: Ditto.
* gcc.target/i386/avx512bw-kshiftrd-2.c: Ditto.
* gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
* gcc.target/i386/avx512dq-kshiftlb-2.c: Ditto.
* gcc.target/i386/avx512dq-kshiftrb-2.c: Ditto.
* gcc.target/i386/avx512f-kshiftlw-2.c: Ditto.
* gcc.target/i386/avx512f-kshiftrw-2.c: Ditto.
* gcc.target/i386/avx-1.c: Test new intrinsics.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r244685

7 years agore PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
Jakub Jelinek [Fri, 20 Jan 2017 08:27:29 +0000 (09:27 +0100)]
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)

PR other/79046
liboffloadmic/
* aclocal.m4: Regenerated.
* Makefile.in: Regenerated.
libcilkrts/
* aclocal.m4: Regenerated.
* Makefile.in: Regenerated.

From-SVN: r244684

7 years agore PR tree-optimization/71264 (ICE in convert_move)
Richard Biener [Fri, 20 Jan 2017 08:01:27 +0000 (08:01 +0000)]
re PR tree-optimization/71264 (ICE in convert_move)

2017-01-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71264
* gcc.dg/vect/pr71264.c: Make sure memory is aligned.

From-SVN: r244683

7 years agoUS 20 - forwarding references and class template argument deduction
Jason Merrill [Fri, 20 Jan 2017 04:43:19 +0000 (23:43 -0500)]
US 20 - forwarding references and class template argument deduction

* cp-tree.h (TEMPLATE_TYPE_PARM_FOR_CLASS): New.
* pt.c (push_template_decl_real): Set it.
(maybe_adjust_types_for_deduction): Check it.
(rewrite_template_parm): Copy it.

From-SVN: r244682

7 years agoUS 19 - deduction guides and constructors
Jason Merrill [Fri, 20 Jan 2017 04:43:13 +0000 (23:43 -0500)]
US 19 - deduction guides and constructors

* call.c (joust): Prefer deduction guides to constructors.
* pt.c (build_deduction_guide): Set DECL_ARTIFICIAL.
(deduction_guide_p): Check DECL_P.

From-SVN: r244681

7 years agoPR72792 PR72793 relax requirements on rebind members
Jonathan Wakely [Fri, 20 Jan 2017 02:36:16 +0000 (02:36 +0000)]
PR72792 PR72793 relax requirements on rebind members

PR libstdc++/72792
PR libstdc++/72793
* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
Replace with class template using void_t.
(__alloc_rebind): Define in terms of
__allocator_traits_base::__rebind.
(allocator_traits): Remove unconditional static_assert for
rebind_alloc.
* include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
(pointer_traits::__rebind): Replace with class template using void_t.
(pointer_traits::rebind): Define in terms of __rebind.
(pointer_traits): Remove unconditional static_assert for rebind.
* testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
* testsuite/20_util/pointer_traits/rebind.cc: New test.

From-SVN: r244680

7 years agore PR go/79146 (Bootstrapping go on s390x fails; redefined symbols)
Ian Lance Taylor [Fri, 20 Jan 2017 02:27:46 +0000 (02:27 +0000)]
re PR go/79146 (Bootstrapping go on s390x fails; redefined symbols)

PR go/79146
    crypto/elliptic: explicitly ignore p256_s390x.go

    The file only works if used in conjunction with assembly code not
    (yet) written for gccgo.

    Fixes GCC PR 79146.

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

From-SVN: r244679

7 years agoPR69321 fix any_cast<T>(any*) for non-copyable T
Jonathan Wakely [Fri, 20 Jan 2017 01:22:54 +0000 (01:22 +0000)]
PR69321 fix any_cast<T>(any*) for non-copyable T

PR libstdc++/69321
* include/experimental/any (__any_caster): Avoid instantiating
manager function for types that can't be stored in any.
* include/std/any (__any_caster): Likewise.
* testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
* testsuite/experimental/any/misc/any_cast.cc: Likewise.

From-SVN: r244678

7 years agors6000: Fix the new SSP guard configuration code (PR79140)
Segher Boessenkool [Fri, 20 Jan 2017 01:22:27 +0000 (02:22 +0100)]
rs6000: Fix the new SSP guard configuration code (PR79140)

I foolishly tested this with r241087 reverted.  After that revision
default_stack_protect_guard is no longer called if the compiler defaults
to using the TLS guard, which of course is the wrong thing to do if
there is some other way to enable the global guard.

This fixes it.

PR target/78875
PR target/79140
* config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
define to rs6000_init_stack_protect_guard.
(rs6000_init_stack_protect_guard): New function.

From-SVN: r244677

7 years agoconfig.gcc (supported_defaults): Add madd4.
Matthew Fortune [Fri, 20 Jan 2017 01:05:25 +0000 (01:05 +0000)]
config.gcc (supported_defaults): Add madd4.

gcc/
2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>
    Yunqiang Su  <yunqiang.su@imgtec.com>

* config.gcc (supported_defaults): Add madd4.
(with_madd4): Add validation.
(all_defaults): Add madd4.
* config/mips/mips.opt (mmadd4): New option.
* gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
mmadd4.
(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
__mips_no_madd4.
(ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
(ISA_HAS_FUSED_MADD4): Likewise.
* gcc/doc/invoke.texi (-mmadd4): Document the new option.
* gcc/doc/install.texi (--with-madd4): Document the new option.

gcc/testsuite/
2017-01-19  Matthew Fortune  <matthew.fortune@imgtec.com>

* gcc.target/mips/madd4-1.c: New file.
* gcc.target/mips/madd4-2.c: Likewise.
* gcc.target/mips/mips.exp (mips_option_groups): Add ghost option
HAS_MADD4.
(mips_option_groups): Add -m[no-]madd4.
(mips-dg-init): Detect default -mno-madd4.
(mips-dg-options): Handle HAS_MADD4 arch upgrade/downgrade.
* gcc.target/mips/mips-ps-type.c: Add -mmadd4 test option.
* gcc.target/mips/mips-ps-type-2.c: Likewise.
* gcc.target/mips/nmadd-1.c: Likewise.
* gcc.target/mips/nmadd-2.c: Likewise.
* gcc.target/mips/nmadd-3.c: Likewise.

Co-Authored-By: Yunqiang Su <yunqiang.su@imgtec.com>
From-SVN: r244676

7 years agoPR64903 simplify last fix to std::is_partitioned
Jonathan Wakely [Fri, 20 Jan 2017 00:33:25 +0000 (00:33 +0000)]
PR64903 simplify last fix to std::is_partitioned

PR libstdc++/64903
* include/bits/stl_algo.h (is_partitioned): Use increment instead of
std::advance.

From-SVN: r244675

7 years ago[AArch64, libgcc] Add missing file, forget "svn add"
Jiong Wang [Fri, 20 Jan 2017 00:21:34 +0000 (00:21 +0000)]
[AArch64, libgcc] Add missing file, forget "svn add"

From-SVN: r244674

7 years ago[AArch64][4/4] libgcc unwinder support for return address signing
Jiong Wang [Fri, 20 Jan 2017 00:19:01 +0000 (00:19 +0000)]
[AArch64][4/4] libgcc unwinder support for return address signing

libgcc/
* config/aarch64/aarch64-unwind.h: New file.
(DWARF_REGNUM_AARCH64_RA_STATE): Define.
(MD_POST_EXTRACT_ROOT_ADDR): New target marcro and define it on AArch64.
(MD_POST_EXTRACT_FRAME_ADDR): Likewise.
(MD_POST_FROB_EH_HANDLER_ADDR): Likewise.
(MD_FROB_UPDATE_CONTEXT): Define it on AArch64.
(aarch64_post_extract_frame_addr): New function.
(aarch64_post_frob_eh_handler_addr): New function.
(aarch64_frob_update_context): New function.
* config/aarch64/linux-unwind.h: Include aarch64-unwind.h
* config.host (aarch64*-*-elf, aarch64*-*-rtems*,
aarch64*-*-freebsd*):
Initialize md_unwind_header to include aarch64-unwind.h.
* unwind-dw2.c (struct _Unwind_Context): Define "RA_A_SIGNED_BIT".
(execute_cfa_program): Multiplex DW_CFA_GNU_window_save for
__aarch64__.
(uw_update_context): Honor MD_POST_EXTRACT_FRAME_ADDR.
(uw_init_context_1): Honor MD_POST_EXTRACT_ROOT_ADDR.
(uw_frob_return_addr): New function.
(uw_install_context): Use uw_frob_return_addr.

From-SVN: r244673

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

From-SVN: r244672

7 years ago[AArch64][3/4] New PAUTH builtins required by libgcc unwinder
Jiong Wang [Fri, 20 Jan 2017 00:10:11 +0000 (00:10 +0000)]
[AArch64][3/4] New PAUTH builtins required by libgcc unwinder

gcc/
* config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
(aarch64_init_pauth_hint_builtins): New.
(aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
(aarch64_expand_builtin): Expand new builtins.

From-SVN: r244669

7 years agoPR79156 fix std::__enable_shared_from_this extension
Jonathan Wakely [Fri, 20 Jan 2017 00:07:14 +0000 (00:07 +0000)]
PR79156 fix std::__enable_shared_from_this extension

PR libstdc++/79156
* include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
Fix return type.
(__enable_shared_from_this): Declare __shared_ptr as a friend.
* testsuite/ext/shared_ptr/1.cc: New test.

From-SVN: r244668

7 years ago[AArch64][2/4] Generate dwarf information for -msign-return-address
Jiong Wang [Fri, 20 Jan 2017 00:05:30 +0000 (00:05 +0000)]
[AArch64][2/4] Generate dwarf information for -msign-return-address

gcc/
* reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note.
* combine-stack-adj.c (no_unhandled_cfa): Handle
REG_CFA_TOGGLE_RA_MANGLE.
* dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE.
* config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF
info for return address signing.
(aarch64_expand_epilogue): Likewise.

From-SVN: r244667

7 years ago[AArch64][1/4] Support Return address protection on AArch64
Jiong Wang [Fri, 20 Jan 2017 00:03:20 +0000 (00:03 +0000)]
[AArch64][1/4] Support Return address protection on AArch64

gcc/
* config/aarch64/aarch64-opts.h (aarch64_function_type): New enum.
* config/aarch64/aarch64-protos.h
(aarch64_return_address_signing_enabled): New declaration.
* config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
New function.
(aarch64_expand_prologue): Sign return address before it's pushed onto
stack.
(aarch64_expand_epilogue): Authenticate return address fetched from
stack.
(aarch64_override_options): Sanity check for ILP32 and ISA level.
(aarch64_attributes): New function attributes for "sign-return-address".
* config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP,
UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs.
("*do_return"): Generate combined instructions according to key index.
("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New.
* config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer
iterators.
(pauth_mnem_prefix, pauth_hint_num_a): New integer attributes.
* config/aarch64/aarch64.opt (msign-return-address=): New.
* doc/extend.texi (AArch64 Function Attributes): Documents
"sign-return-address=".
* doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=".

gcc/testsuite/
* gcc.target/aarch64/return_address_sign_1.c: New testcase for no
combined instructions.
* gcc.target/aarch64/return_address_sign_2.c: New testcase for combined
instructions.
* gcc.target/aarch64/return_address_sign_3.c: New testcase for disable
of pointer authentication.

From-SVN: r244666

7 years agoMIPS: Documentation fix for -mlxc1-sxc1
Matthew Fortune [Thu, 19 Jan 2017 23:58:10 +0000 (23:58 +0000)]
MIPS: Documentation fix for -mlxc1-sxc1

gcc/

* doc/invoke.texi: Add missing -mlxc1-sxc1 options to
overall option summary.

From-SVN: r244665

7 years ago[AArch64] Add commandline support for -march=armv8.3-a
Jiong Wang [Thu, 19 Jan 2017 23:51:49 +0000 (23:51 +0000)]
[AArch64] Add commandline support for -march=armv8.3-a

gcc/
* config/aarch64/aarch64-arches.def: New entry for "armv8.3-a".
* config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3,
AARCH64_ISA_V8_3, TARGET_ARMV8_3): New.
* doc/invoke.texi (AArch64 Options): Document "armv8.3-a".

From-SVN: r244663

7 years agors6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable -mpower9-minmax by default for -mcpu...
Michael Meissner [Thu, 19 Jan 2017 23:31:20 +0000 (23:31 +0000)]
rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable -mpower9-minmax by default for -mcpu=power9.

[gcc]
2017-01-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
-mpower9-minmax by default for -mcpu=power9.
(ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE
128-bit floating point.

[gcc/testsuite]
2017-01-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/float128-hw.c: Do not require IEEE 128-bit
floating point hardware to run test.

From-SVN: r244662

7 years agoPR64903 fix number of predicate tests in std::is_partitioned
Jonathan Wakely [Thu, 19 Jan 2017 23:30:18 +0000 (23:30 +0000)]
PR64903 fix number of predicate tests in std::is_partitioned

PR libstdc++/64903
* include/bits/stl_algo.h (is_partioned): Don't retest the partition
point.
* testsuite/25_algorithms/is_partitioned/2.cc: New test.

From-SVN: r244661

7 years ago[RS6000] Don't expand strcmp and strncmp inline when -Os
Alan Modra [Thu, 19 Jan 2017 23:21:53 +0000 (09:51 +1030)]
[RS6000] Don't expand strcmp and strncmp inline when -Os

* config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
optimizing for size.

From-SVN: r244660

7 years ago[RS6000] PR79144, cmpstrnsi optimization breaks glibc
Alan Modra [Thu, 19 Jan 2017 23:19:19 +0000 (09:49 +1030)]
[RS6000] PR79144, cmpstrnsi optimization breaks glibc

glibc compiled with current gcc-7 fails one test due to strcmp and
strncmp appearing in the PLT.  This is because the inline expansion of
those functions falls back to a function call, but doesn't use the asm
name for the call.

PR target/79144
* config/rs6000/rs6000.c (expand_strn_compare): Get the asm name
for strcmp and strncmp from corresponding builtin decl.

From-SVN: r244659

7 years agoFix typo in recent doc updates
Jonathan Wakely [Thu, 19 Jan 2017 23:15:13 +0000 (23:15 +0000)]
Fix typo in recent doc updates

* doc/xml/manual/abi.xml: Fix typo.
* doc/html/manual/abi.html: Likewise.

From-SVN: r244658

7 years agoAdd missing period at end of -ftest-forall-temp option text.
Louis Krupp [Thu, 19 Jan 2017 23:09:45 +0000 (23:09 +0000)]
Add missing period at end of -ftest-forall-temp option text.

From-SVN: r244657

7 years agoPR67085 pass comparison functions by reference in heap algorithms
Jonathan Wakely [Thu, 19 Jan 2017 23:07:52 +0000 (23:07 +0000)]
PR67085 pass comparison functions by reference in heap algorithms

PR libstdc++/67085
* include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
converting constructors from _Iter_less_iter.
(_Iter_comp_val, _Val_comp_iter): Add converting constructors from
_Iter_comp_iter.
(__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
(__val_comp_iter(_Iter_comp_iter<C>): Likewise.
* include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
(__make_heap, __sort_heap): Change _Compare parameters to references.
(__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
(__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
functions as lvalues.
(is_heap): Call __is_heap_until directly to avoid copying __comp.
* testsuite/23_containers/priority_queue/67085.cc: Adjust test to
count copies during construction with empty sequence.

From-SVN: r244656

7 years agoconfig.gcc (x86_64-*-rtems*): Use i386/rtemself.h instead of i386/rtems-64.h.
Uros Bizjak [Thu, 19 Jan 2017 22:00:17 +0000 (23:00 +0100)]
config.gcc (x86_64-*-rtems*): Use i386/rtemself.h instead of i386/rtems-64.h.

* config.gcc (x86_64-*-rtems*): Use i386/rtemself.h
instead of i386/rtems-64.h.
* config/i386/rtems-64.h: Remove.

From-SVN: r244655

7 years agore PR target/78478 (Compile Error for i386-rtems)
Uros Bizjak [Thu, 19 Jan 2017 21:38:44 +0000 (22:38 +0100)]
re PR target/78478 (Compile Error for i386-rtems)

PR target/78478
Revert:
2013-11-05  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.

From-SVN: r244653

7 years agore PR target/78478 (Compile Error for i386-rtems)
Uros Bizjak [Thu, 19 Jan 2017 21:00:53 +0000 (22:00 +0100)]
re PR target/78478 (Compile Error for i386-rtems)

PR target/78478
* config/ax_check_define.m4: New file.

libgfortran/ChangeLog:

PR target/78478
* acinclude.m4: Include ../config/ax_check_define.m4
* configure.ac: Check if _SOFT_FLOAT is defined.
* configure.host (i?86 | x86_64): Use fpu-generic when
have_soft_float is set.
* configure: Regenerate.

From-SVN: r244651

7 years agoFix unsafe moves inside loops
Jonathan Wakely [Thu, 19 Jan 2017 20:29:07 +0000 (20:29 +0000)]
Fix unsafe moves inside loops

PR libstdc++/67085
* include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
(__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
* testsuite/23_containers/priority_queue/67085.cc: Adjust expected
number of copies.
* testsuite/25_algorithms/make_heap/movable.cc: New test.

From-SVN: r244650

7 years agoaarch64.c (aarch64_simd_gen_const_vector_dup): Change int to HOST_WIDE_INT.
Tamar Christina [Thu, 19 Jan 2017 18:30:44 +0000 (18:30 +0000)]
aarch64.c (aarch64_simd_gen_const_vector_dup): Change int to HOST_WIDE_INT.

gcc/
2017-01-19  Tamar Christina  <tamar.christina@arm.com>

* config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
Change int to HOST_WIDE_INT.
* config/aarch64/aarch64-protos.h
(aarch64_simd_gen_const_vector_dup): Likewise.
* config/aarch64/aarch64-simd.md: Add copysign<mode>3.

gcc/testsuite/
2017-01-19  Tamar Christina  <tamar.christina@arm.com>

* gcc/testsuite/lib/target-supports.exp
(check_effective_target_vect_call_copysignf): Enable for AArch64.

From-SVN: r244649

7 years agoPR67085 move comparison functions in heap operations
Jonathan Wakely [Thu, 19 Jan 2017 18:26:41 +0000 (18:26 +0000)]
PR67085 move comparison functions in heap operations

PR libstdc++/67085
* include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
(pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
_GLIBCXX_MOVE when passing comparison function to other functions.
(is_heap_until, is_heap): Use std::move when passing comparison
function.
* testsuite/23_containers/priority_queue/67085.cc: New test.

From-SVN: r244648

7 years agoFix gcc.dg/attr-alloc_size-4.c on i?86 (PR testsuite/79051)
Rainer Orth [Thu, 19 Jan 2017 17:42:50 +0000 (17:42 +0000)]
Fix gcc.dg/attr-alloc_size-4.c on i?86 (PR testsuite/79051)

PR testsuite/79051
* gcc.dg/attr-alloc_size-4.c (test_int_range) [__i386__ ||
__x86_64__]: Allow for target i?86-*-*.

From-SVN: r244647

7 years agoMake LTO's implementation of LANG_HOOKS_TYPE_FOR_SIZE the default
David Malcolm [Thu, 19 Jan 2017 17:27:54 +0000 (17:27 +0000)]
Make LTO's implementation of LANG_HOOKS_TYPE_FOR_SIZE the default

gcc/jit/ChangeLog:
* dummy-frontend.c (jit_langhook_type_for_size): Delete.
(LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.

gcc/ChangeLog:
* langhooks-def.h (lhd_type_for_size): New decl.
(LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size.
* langhooks.c (lhd_type_for_size): New function, taken from
lto_type_for_size.

gcc/lto/ChangeLog:
* lto-lang.c (builtin_type_for_size): Convert call to
lto_type_for_size to one through the langhook.
(lto_type_for_size): Move to langhooks.c and rename to
lhd_type_for_size.
(LANG_HOOKS_TYPE_FOR_SIZE): Don't redefine.

From-SVN: r244646

7 years agopower9.md (power9-alu): Remove 'cmp' type and add define_bypass for CR latency.
Pat Haugen [Thu, 19 Jan 2017 17:11:34 +0000 (17:11 +0000)]
power9.md (power9-alu): Remove 'cmp' type and add define_bypass for CR latency.

* config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add
define_bypass for CR latency.
(power9-cracked-alu): Update bypass latency and remove power9-branch.
(power9-alu2): Add define_bypass for CR latency.
(power9-cmp): New.
(power9-mul): Update insn latency.
(power9-mul-compare): Update insn latency, bypass latency and remove
power9-branch.

From-SVN: r244645

7 years agotarget.h (htm_available): Determine vendor from __get_cpuid_max return.
Uros Bizjak [Thu, 19 Jan 2017 17:10:40 +0000 (18:10 +0100)]
target.h (htm_available): Determine vendor from __get_cpuid_max return.

* config/x86/target.h (htm_available): Determine vendor from
__get_cpuid_max return.  Use signature_INTEL_ebx.  Cleanup.

From-SVN: r244644

7 years ago[AArch64] Purge leftover occurrences of aarch64_nopcrelative_literal_loads
Kyrylo Tkachov [Thu, 19 Jan 2017 16:59:43 +0000 (16:59 +0000)]
[AArch64] Purge leftover occurrences of aarch64_nopcrelative_literal_loads

* config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
Delete.
* config/aarch64/aarch64.md
(aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to
aarch64_nopcrelative_literal_loads.
(aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.

From-SVN: r244643

7 years agoPR78905 define _GLIBCXX_RELEASE macro
Jonathan Wakely [Thu, 19 Jan 2017 16:40:46 +0000 (16:40 +0000)]
PR78905 define _GLIBCXX_RELEASE macro

PR libstdc++/78905
* doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
Document that the deprecated _GLIBCXX_VERSION macro was removed for
the 4.0.0 release.
* doc/html/*: Regenerate.
* include/Makefile.am (_GLIBCXX_RELEASE): Set value.
* include/Makefile.in: Regenerate.
* include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
* testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
dg-error.

From-SVN: r244642

7 years agoMIPS: Make loongson3a use fused madd.d
Chenghua Xu [Thu, 19 Jan 2017 16:26:32 +0000 (16:26 +0000)]
MIPS: Make loongson3a use fused madd.d

gcc/
* config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
TARGET_LOONGSON_3A.
(ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.

From-SVN: r244641

7 years agoMIPS: PR target/78176 add -mlxc1-sxc1.
Matthew Fortune [Thu, 19 Jan 2017 16:05:59 +0000 (16:05 +0000)]
MIPS: PR target/78176 add -mlxc1-sxc1.

gcc/

PR target/78176
* config.gcc (supported_defaults): Add lxc1-sxc1.
(with_lxc1_sxc1): Add validation.
(all_defaults): Add lxc1-sxc1.
* config/mips/mips.opt (mlxc1-sxc1): New option.
* gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
mlxc1-sxc1.
(TARGET_CPU_CPP_BUILTINS): Add builtin_define for
__mips_no_lxc1_sxc1.
(ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1.
* gcc/doc/invoke.texi (-mlxc1-sxc1): Document the new option.
* doc/install.texi (--with-lxc1-sxc1): Document the new option.

gcc/testsuite/

* gcc.target/mips/lxc1-sxc1-1.c: New file.
* gcc.target/mips/lxc1-sxc1-2.c: Likewise.
* gcc.target/mips/mips.exp (mips_option_groups): Add ghost option
HAS_LXC1.
(mips_option_groups): Add -m[no-]lxc1-sxc1.
(mips-dg-init): Detect default -mno-lxc1-sxc1.
(mips-dg-options): Handle HAS_LXC1 arch upgrade/downgrade.

From-SVN: r244640

7 years agoArray decomposition fix.
Jason Merrill [Thu, 19 Jan 2017 15:59:04 +0000 (10:59 -0500)]
Array decomposition fix.

* decl.c (check_initializer): Always use build_aggr_init for array
decomposition.

From-SVN: r244639

7 years agocuda.h (CUdeviceptr): Typedef to unsigned long long even for _WIN64.
Jakub Jelinek [Thu, 19 Jan 2017 15:53:51 +0000 (16:53 +0100)]
cuda.h (CUdeviceptr): Typedef to unsigned long long even for _WIN64.

* plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
for _WIN64.

From-SVN: r244638

7 years agore PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)
Andre Vehreschild [Thu, 19 Jan 2017 15:52:32 +0000 (16:52 +0100)]
re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)

gcc/fortran/ChangeLog:

2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70696
* trans-decl.c (gfc_build_qualified_array): Add static decl to parent
function only, when the decl-context is not the translation unit.

gcc/testsuite/ChangeLog:

2017-01-19  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70696
* gfortran.dg/coarray_43.f90: New test.

From-SVN: r244637

7 years agore PR target/79127 (Error: invalid register for .seh_savexmm in matmul_i4.c)
Jakub Jelinek [Thu, 19 Jan 2017 15:41:15 +0000 (16:41 +0100)]
re PR target/79127 (Error: invalid register for .seh_savexmm in matmul_i4.c)

PR target/79127
* acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers
some zmm16+ registers to verify they are handled by unwind info
properly if needed.
* configure: Regenerated.

From-SVN: r244636

7 years agoPR c++/79130 - decomposition and direct-initialization
Jason Merrill [Thu, 19 Jan 2017 14:37:51 +0000 (09:37 -0500)]
PR c++/79130 - decomposition and direct-initialization

* init.c (build_aggr_init): Communicate direct-initialization to
build_vec_init.
(build_vec_init): Check for array copy sooner.
* parser.c (cp_parser_decomposition_declaration): Remove call to
build_x_compound_expr_from_list.

From-SVN: r244635

7 years agoCode cleanup.
Arnaud Charlet [Thu, 19 Jan 2017 13:14:04 +0000 (14:14 +0100)]
Code cleanup.

From-SVN: r244634

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 13:13:19 +0000 (14:13 +0100)]
[multiple changes]

2017-01-19  Javier Miranda  <miranda@adacore.com>

* ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the
identifier attribute of a block-statement node. Required to avoid
assertion failure when building the new containers library.

2017-01-19  Bob Duff  <duff@adacore.com>

* exp_ch3.adb: Update comment.

2017-01-19  Vincent Celier  <celier@adacore.com>

* gprep.adb (Gnatprep): Parse the definition file without
"replace in comments" even when switch -C is used.

From-SVN: r244633

7 years agoMinor reformatting.
Arnaud Charlet [Thu, 19 Jan 2017 13:11:22 +0000 (14:11 +0100)]
Minor reformatting.

From-SVN: r244632

7 years agoexp_ch9.adb (Is_Pure_Barrier): Create function Is_Count_Attribute to identify an...
Justin Squirek [Thu, 19 Jan 2017 13:10:58 +0000 (13:10 +0000)]
exp_ch9.adb (Is_Pure_Barrier): Create function Is_Count_Attribute to identify an expansion of the 'Count attribute.

2017-01-19  Justin Squirek  <squirek@adacore.com>

* exp_ch9.adb (Is_Pure_Barrier): Create function
Is_Count_Attribute to identify an expansion of the 'Count
attribute.

From-SVN: r244631

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 13:10:09 +0000 (14:10 +0100)]
[multiple changes]

2017-01-19  Pierre-Marie de Rodat  <derodat@adacore.com>

* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
Emit GNAT encodings for object renamings involving record components
whose normalized bit offset is not null.
* uintp.h (UI_No_Uint): Declare.

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
statements within an element iterator loop are only analyzed
agter the loop is rewritten. Within a generic the analysis must
be performed in any case to complete name capture.

2017-01-19  Bob Duff  <duff@adacore.com>

* sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first,
before checking for unrecognized pragmas.
Initialize Pname on its declarations; that's always good style.

From-SVN: r244630

7 years agoexp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the body into the tree...
Claire Dross [Thu, 19 Jan 2017 13:08:16 +0000 (13:08 +0000)]
exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the body into the tree for GNATprove by setting its Parent field.

2017-01-19  Claire Dross  <dross@adacore.com>

* exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the
body into the tree for GNATprove by setting its Parent field. The
components invariants of composite types are not checked by
the composite type's invariant procedure in GNATprove mode.
(Build_Invariant_Procedure_Declaration): Semi-insert the
declaration into the tree for GNATprove by setting its Parent
field.
* freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add
the component invariants to the array type  invariant procedure
so that the procedure can be used to  check the array type
invariants if any.
(Freeze_Record_Type): In GNATprove mode, do
not add the component invariants to the record type  invariant
procedure so that the procedure can be used to check the record
type invariants if any.

From-SVN: r244629