]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years ago PR sanitizer/78651
jakub [Mon, 19 Mar 2018 20:48:39 +0000 (20:48 +0000)] 
PR sanitizer/78651
* dwarf2asm.c: Include fold-const.c.
(dw2_output_indirect_constant_1): Set DECL_INITIAL (decl) to ADDR_EXPR
of decl rather than decl itself.

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

6 years ago PR sanitizer/84761
jakub [Mon, 19 Mar 2018 20:47:29 +0000 (20:47 +0000)] 
PR sanitizer/84761
* sanitizer_common/sanitizer_linux_libcdep.cc (__GLIBC_PREREQ):
Define if not defined.
(DL_INTERNAL_FUNCTION): Don't define.
(InitTlsSize): For __i386__ if not compiled against glibc 2.27+
determine at runtime whether to use regparm(3), stdcall calling
convention for older glibcs or normal calling convention for
newer glibcs for call to _dl_get_tls_static_info.

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

6 years ago PR rtl-optimization/84643
jakub [Mon, 19 Mar 2018 20:46:23 +0000 (20:46 +0000)] 
PR rtl-optimization/84643
* memmodel.h (enum memmodel): Add MEMMODEL_MAX enumerator.

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

6 years ago PR c++/84927
mpolacek [Mon, 19 Mar 2018 20:46:16 +0000 (20:46 +0000)] 
PR c++/84927
* constexpr.c (cxx_eval_bare_aggregate): Update constructor's flags
as we evaluate the elements.
(cxx_eval_constant_expression): Verify constructor's flags
unconditionally.

* g++.dg/cpp1y/nsdmi-aggr9.C: New test.

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

6 years ago PR c++/84925
mpolacek [Mon, 19 Mar 2018 20:34:45 +0000 (20:34 +0000)] 
PR c++/84925
* pt.c (enclosing_instantiation_of): Check if fn is null.

* g++.dg/cpp1z/lambda-__func__.C: New test.

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

6 years ago PR c++/71834 - template-id with too few arguments.
jason [Mon, 19 Mar 2018 20:32:57 +0000 (20:32 +0000)] 
PR c++/71834 - template-id with too few arguments.

* pt.c (coerce_template_parms): Check fixed_parameter_pack_p.

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

6 years ago2018-03-19 Maxim Ostapenko <m.ostapenko@samsung.com>
chefmax [Mon, 19 Mar 2018 19:59:56 +0000 (19:59 +0000)] 
2018-03-19  Maxim Ostapenko  <m.ostapenko@samsung.com>

gcc/

PR sanitizer/78651
* dwarf2asm.c (dw2_output_indirect_constant_1): Disable ASan before
calling assemble_variable.

gcc/testsuite/

PR sanitizer/78651
* g++.dg/asan/pr78651.C: New test.

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

6 years ago[testsuite] Add nvptx xfail to pr84512.c
vries [Mon, 19 Mar 2018 19:12:53 +0000 (19:12 +0000)] 
[testsuite] Add nvptx xfail to pr84512.c

2018-03-19  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/tree-ssa/pr84512.c: Don't require effective target
vect_int_mult.  Add nvptx xfail for PR84958.

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

6 years ago[PR c++/84835] ICE with generic lambda in extern "C"
nathan [Mon, 19 Mar 2018 18:56:22 +0000 (18:56 +0000)] 
[PR c++/84835] ICE with generic lambda in extern "C"

https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00890.html
PR c++/84835
* lambda.c (maybe_add_lambda_conv_op): Force C++ linkage.
* pt.c (build_template_decl): Propagate language linkage.

PR c++/84835
* g++.dg/cpp1y/pr84835.C: New.

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

6 years ago[PR81647][AARCH64] Fix handling of Unordered Comparisons in aarch64-simd.md
sudi [Mon, 19 Mar 2018 18:50:32 +0000 (18:50 +0000)] 
[PR81647][AARCH64] Fix handling of Unordered Comparisons in aarch64-simd.md

This patch fixes the inconsistent behavior observed at -O3 for the unordered
comparisons. According to the online docs (https://gcc.gnu.org/onlinedocs
/gcc-7.2.0/gccint/Unary-and-Binary-Expressions.html), all of the following
should not raise an FP exception:
- UNGE_EXPR
- UNGT_EXPR
- UNLE_EXPR
- UNLT_EXPR
- UNEQ_EXPR
Also ORDERED_EXPR and UNORDERED_EXPR should only return zero or one.

The aarch64-simd.md handling of these were generating exception raising
instructions such as fcmgt. This patch changes the instructions that are
emitted in order to not give out the exceptions. We first check each
operand for NaNs and force any elements containing NaN to zero before using
them in the compare.

Example: UN<cc> (a, b) -> UNORDERED (a, b)
  | (cm<cc> (isnan (a) ? 0.0 : a, isnan (b) ? 0.0 : b))

The ORDERED_EXPR is now handled as (cmeq (a, a) & cmeq (b, b)) and
UNORDERED_EXPR as ~ORDERED_EXPR and UNEQ as (~ORDERED_EXPR | cmeq (a,b)).

ChangeLog Entries:

*** gcc/ChangeLog ***

2018-03-19  Sudakshina Das  <sudi.das@arm.com>

PR target/81647
* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_int_equiv>): Modify
instructions for UNLT, UNLE, UNGT, UNGE, UNEQ, UNORDERED and ORDERED.

*** gcc/testsuite/ChangeLog ***

2018-03-19  Sudakshina Das  <sudi.das@arm.com>

PR target/81647
* gcc.target/aarch64/pr81647.c: New.

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

6 years ago * es.po, sv.po: Update.
jsm28 [Mon, 19 Mar 2018 18:29:34 +0000 (18:29 +0000)] 
* es.po, sv.po: Update.

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

6 years agoRISC-V: Fix bootstrap failure.
wilson [Mon, 19 Mar 2018 18:08:24 +0000 (18:08 +0000)] 
RISC-V: Fix bootstrap failure.

gcc/
PR bootstrap/84856
* config/riscv/riscv.c (riscv_function_arg_boundary): Use
PREFERRED_STACK_BOUNDARY instead of STACK_BOUNDARY.
(riscv_first_stack_step): Likewise.
(riscv_option_override): Use STACK_BOUNDARY instead of
MIN_STACK_BOUNDARY.
* config/riscv/riscv.h (STACK_BOUNDARY): Renamed from
MIN_STACK_BOUNDARY.
(BIGGEST_ALIGNMENT): Set to 128.
(PREFERRED_STACK_BOUNDARY): Renamed from STACK_BOUNDARY.
(RISCV_STACK_ALIGN): Use PREFERRED_STACK_BOUNDARY instead of
STACK_BOUNDARY.

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

6 years ago2018-03-19 Richard Biener <rguenther@suse.de>
rguenth [Mon, 19 Mar 2018 14:11:05 +0000 (14:11 +0000)] 
2018-03-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84933
* tree-vrp.c (set_and_canonicalize_value_range): Treat out-of-bound
values as -INF/INF when canonicalizing an ANTI_RANGE to a RANGE.

* g++.dg/pr84933.C: New testcase.

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

6 years ago2018-03-19 Richard Biener <rguenther@suse.de>
rguenth [Mon, 19 Mar 2018 14:08:58 +0000 (14:08 +0000)] 
2018-03-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84859
* tree-ssa-phiopt.c (single_trailing_store_in_bb): New function.
(cond_if_else_store_replacement): Perform sinking operation on
single-store BBs regardless of MAX_STORES_TO_SINK setting.
Generalize what a BB with a single eligible store is.

* gcc.dg/tree-ssa/pr84859.c: New testcase.
* gcc.dg/tree-ssa/pr35286.c: Disable cselim.
* gcc.dg/tree-ssa/split-path-6.c: Likewise.
* gcc.dg/tree-ssa/split-path-7.c: Likewise.

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

6 years ago[C++/84812] ICE with local fn decl
nathan [Mon, 19 Mar 2018 14:07:07 +0000 (14:07 +0000)] 
[C++/84812] ICE with local fn decl

https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00872.html
PR c++/84812
* name-lookup.c (set_local_extern_decl_linkage): Defend against
ambiguous lookups.

PR c++/84812
* g++.dg/lookup/pr84812.C: New.

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

6 years ago2018-03-19 Richard Biener <rguenther@suse.de>
rguenth [Mon, 19 Mar 2018 12:49:30 +0000 (12:49 +0000)] 
2018-03-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/84929
* tree-data-ref.c (analyze_siv_subscript_cst_affine): Guard
chrec_is_positive against non-chrec arg.

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

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

6 years agogcc/
tnfchris [Mon, 19 Mar 2018 09:14:25 +0000 (09:14 +0000)] 
gcc/
2018-03-19  Tamar Christina  <tamar.christina@arm.com>

PR target/84711
* config/arm/arm.c (arm_can_change_mode_class): revert r258554.

gcc/testsuite/
2018-03-19  Tamar Christina  <tamar.christina@arm.com>

PR target/84711
* gcc.target/arm/big-endian-subreg.c: Delete.

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

6 years ago2018-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 19 Mar 2018 07:04:35 +0000 (07:04 +0000)] 
2018-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/84931
* simplify.c (gfc_convert_constant): Correctly handle iterators
for type conversion.

2018-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/84931
* gfortran.dg/array_constructor_52.f90: New test.

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

6 years agoDaily bump.
gccadmin [Mon, 19 Mar 2018 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago * doc/xml/api.xml: www.fsf.org has moved to https. Also omit
gerald [Sun, 18 Mar 2018 23:52:00 +0000 (23:52 +0000)] 
* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
trailing slash for domain level link.
* doc/xml/faq.xml: Ditto.
* doc/xml/manual/appendix_free.xml (software): Ditto.
* doc/xml/manual/intro.xml: Ditto.
* doc/xml/manual/spine.xml: Ditto.
* doc/xml/spine.xml: Ditto.

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

6 years ago * doc/xml/manual/documentation_hacking.xml: Adjust link to
gerald [Sun, 18 Mar 2018 23:38:23 +0000 (23:38 +0000)] 
* doc/xml/manual/documentation_hacking.xml: Adjust link to
docbook.org.

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

6 years agoFix UBSAN in regrename.c (PR rtl-optimization/84635).
marxin [Sun, 18 Mar 2018 20:17:10 +0000 (20:17 +0000)] 
Fix UBSAN in regrename.c (PR rtl-optimization/84635).

2018-03-18  Martin Liska  <mliska@suse.cz>

PR rtl-optimization/84635
* regrename.c (build_def_use): Use matches_mode only when
matches >= 0.

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

6 years ago2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 18 Mar 2018 17:51:57 +0000 (17:51 +0000)] 
2018-03-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77414
* decl.c (get_proc_name):  Check for a subroutine re-defined in
the contain portion of a subroutine.  Change language of existing
error message to better describe the issue. While here fix whitespace
issues.

2018-03-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77414
* gfortran.dg/pr77414.f90: New test.
* gfortran.dg/internal_references_1.f90: Adjust error message.

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

6 years ago2018-03-18 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Sun, 18 Mar 2018 16:33:55 +0000 (16:33 +0000)] 
2018-03-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/65453
* decl.c (get_proc_name): Catch clash between a procedure statement
and a contained subprogram

2018-03-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/65453
* gfortran.dg/pr65453.f90: New test.

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

6 years agoDon't try to vectorise COND_EXPR reduction chains (PR 84913)
rsandifo [Sun, 18 Mar 2018 10:25:29 +0000 (10:25 +0000)] 
Don't try to vectorise COND_EXPR reduction chains (PR 84913)

The testcase ICEd for both SVE and AVX512 because we were trying
to vectorise a chain of COND_EXPRs as a reduction and getting
confused by reduc_index == -1.

2018-03-18  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
PR tree-optimization/84913
* tree-vect-loop.c (vectorizable_reduction): Don't try to
vectorize chains of COND_EXPRs.

gcc/testsuite/
PR tree-optimization/84913
* gfortran.dg/vect/pr84913.f90: New test.

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

6 years ago2018-03-18 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 18 Mar 2018 09:20:37 +0000 (09:20 +0000)] 
2018-03-18  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/79929
* gfortran.dg/warn_concat.f90: New test.

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

6 years ago[NDS32] Fix wrong MAX_REGS_PER_ADDRESS value.
jasonwucj [Sun, 18 Mar 2018 06:44:31 +0000 (06:44 +0000)] 
[NDS32] Fix wrong MAX_REGS_PER_ADDRESS value.

gcc/
* config/nds32/nds32.h (MAX_REGS_PER_ADDRESS): Fix the value.

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

6 years ago[NDS32] Define LOGICAL_OP_NON_SHORT_CIRCUIT.
jasonwucj [Sun, 18 Mar 2018 06:18:18 +0000 (06:18 +0000)] 
[NDS32] Define LOGICAL_OP_NON_SHORT_CIRCUIT.

gcc/
* config/nds32/nds32.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.

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

6 years ago[NDS32] Define CLZ_DEFINED_VALUE_AT_ZERO.
jasonwucj [Sun, 18 Mar 2018 04:47:10 +0000 (04:47 +0000)] 
[NDS32] Define CLZ_DEFINED_VALUE_AT_ZERO.

gcc/
* config/nds32/nds32.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.

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

6 years agoDaily bump.
gccadmin [Sun, 18 Mar 2018 00:16:25 +0000 (00:16 +0000)] 
Daily bump.

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

6 years agoFix new test that fails in C++98 mode
redi [Sat, 17 Mar 2018 13:44:16 +0000 (13:44 +0000)] 
Fix new test that fails in C++98 mode

* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
to compile as C++98.

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

6 years ago[NDS32] Implment ADJUST_REG_ALLOC_ORDER for performance requirement.
jasonwucj [Sat, 17 Mar 2018 13:06:12 +0000 (13:06 +0000)] 
[NDS32] Implment ADJUST_REG_ALLOC_ORDER for performance requirement.

gcc/
* config/nds32/nds32-protos.h (nds32_adjust_reg_alloc_order): Declare.
* config/nds32/nds32.c (nds32_reg_alloc_order_for_speed): New array.
(nds32_adjust_reg_alloc_order): New function.
* config/nds32/nds32.h (ADJUST_REG_ALLOC_ORDER): Define.

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

6 years ago[NDS32] Use HOST_WIDE_INT_PRINT_DEC instead of %ld or %d.
jasonwucj [Sat, 17 Mar 2018 12:11:22 +0000 (12:11 +0000)] 
[NDS32] Use HOST_WIDE_INT_PRINT_DEC instead of %ld or %d.

gcc/
* config/nds32/nds32.c (nds32_asm_output_mi_thunk,
nds32_print_operand, nds32_print_operand_address): Use
HOST_WIDE_INT_PRINT_DEC instead.

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

6 years ago[NDS32] Optimize nds32_register_priority.
jasonwucj [Sat, 17 Mar 2018 11:51:46 +0000 (11:51 +0000)] 
[NDS32] Optimize nds32_register_priority.

gcc/
* config/nds32/nds32.c (nds32_register_priority): Modify cost.

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

6 years ago PR target/84902
jakub [Sat, 17 Mar 2018 11:12:00 +0000 (11:12 +0000)] 
PR target/84902
* config/i386/i386.c (initial_ix86_tune_features,
initial_ix86_arch_features): Use unsigned HOST_WIDE_INT rather than
unsigned long long.
(set_ix86_tune_features): Change ix86_tune_mask from unsigned int
to unsigned HOST_WIDE_INT, initialize to HOST_WIDE_INT_1U << ix86_tune
rather than 1u << ix86_tune.  Formatting fix.
(ix86_option_override_internal): Change ix86_arch_mask from
unsigned int to unsigned HOST_WIDE_INT, initialize to
HOST_WIDE_INT_1U << ix86_arch rather than 1u << ix86_arch.
(ix86_function_specific_restore): Likewise.

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

6 years agoDaily bump.
gccadmin [Sat, 17 Mar 2018 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago * de.po: Update.
jsm28 [Fri, 16 Mar 2018 23:50:29 +0000 (23:50 +0000)] 
* de.po: Update.

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

6 years ago PR target/84899
jakub [Fri, 16 Mar 2018 21:01:16 +0000 (21:01 +0000)] 
PR target/84899
* postreload.c (reload_combine_recognize_pattern): Perform
INTVAL addition in unsigned HOST_WIDE_INT type to avoid UB and
truncate_int_for_mode the result for the destination's mode.

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

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

6 years ago PR c/84909
jakub [Fri, 16 Mar 2018 20:12:27 +0000 (20:12 +0000)] 
PR c/84909
* c-warn.c (conversion_warning): Replace "to to" with "to" in
diagnostics.

* hsa-gen.c (mem_type_for_type): Fix comment typo.
* tree-vect-loop-manip.c (vect_create_cond_for_niters_checks):
Likewise.
* gimple-ssa-warn-restrict.c (builtin_memref::set_base_and_offset):
Likewise.

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

6 years ago PR c/84910
jakub [Fri, 16 Mar 2018 20:11:40 +0000 (20:11 +0000)] 
PR c/84910
* c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
diagnostics.

* parser.c (cp_parser_lambda_introducer): Remove trailing space from
diagnostics.
* method.c (synthesize_method): Likewise.
* pt.c (convert_nontype_argument): Likewise.

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

6 years ago2018-03-16 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 16 Mar 2018 19:20:15 +0000 (19:20 +0000)] 
2018-03-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69395
* decl.c (merge_array_spec): Correct the error condition.

2018-03-16  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69395
* gfortran.dg/pr69395.f90: Add test for max dimensions

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

6 years ago libgo: add runtime/pprof/internal/profile.gox to noinst_DATA
ian [Fri, 16 Mar 2018 19:01:40 +0000 (19:01 +0000)] 
libgo: add runtime/pprof/internal/profile.gox to noinst_DATA

    Also add noinst_DATA to CHECK_DEPS; it's not needed in practice since
    `make` will build noinst_DATA, but it's logically required and will
    make a difference if any of the noinst_DATA sources change between
    `make` and `make check`.

    Tony Reix figured out why omitting packages from noinst_DATA didn't
    seem to matter: because if gccgo can't find foo.gox, it will fall back
    to reading the export data in foo.o, and foo.o will exist because
    these packages go into libgo.a.

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

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

6 years ago PR c++/84720 - ICE with rvalue ref non-type argument.
jason [Fri, 16 Mar 2018 18:56:06 +0000 (18:56 +0000)] 
PR c++/84720 - ICE with rvalue ref non-type argument.

* pt.c (invalid_nontype_parm_type_p): Prohibit rvalue reference.
(convert_nontype_argument): Revert earlier change.

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

6 years ago PR c++/80227 - SFINAE and negative array size.
jason [Fri, 16 Mar 2018 18:56:01 +0000 (18:56 +0000)] 
PR c++/80227 - SFINAE and negative array size.

* decl.c (compute_array_index_type): Use
build_converted_constant_expr and valid_constant_size_p.

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

6 years ago PR c++/84906 - silent wrong code with ambiguous conversion.
jason [Fri, 16 Mar 2018 18:55:54 +0000 (18:55 +0000)] 
PR c++/84906 - silent wrong code with ambiguous conversion.

* call.c (build_user_type_conversion_1): Set need_temporary_p on
ambiguous conversion.
(convert_like_real): Check it.

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

6 years ago2018-03-16 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 16 Mar 2018 18:48:26 +0000 (18:48 +0000)] 
2018-03-16  Vladimir Makarov  <vmakarov@redhat.com>

PR target/84876
* lra-assigns.c (lra_split_hard_reg_for): Don't use
regno_allocno_class_array and sorted_pseudos.
* lra-constraints.c (spill_hard_reg_in_range): Ignore hard regs in
insns where regno is used.

2018-03-16  Vladimir Makarov  <vmakarov@redhat.com>

PR target/84876
* gcc.target/i386/pr84876.c: New test.

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

6 years ago * uk.po: Update.
jsm28 [Fri, 16 Mar 2018 17:34:56 +0000 (17:34 +0000)] 
* uk.po: Update.

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

6 years ago * de.po: Update.
jsm28 [Fri, 16 Mar 2018 16:58:25 +0000 (16:58 +0000)] 
* de.po: Update.

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

6 years agoRedirect reference in the symbol table (PR ipa/84833).
marxin [Fri, 16 Mar 2018 14:53:45 +0000 (14:53 +0000)] 
Redirect reference in the symbol table (PR ipa/84833).

2018-03-16  Martin Liska  <mliska@suse.cz>

PR ipa/84833
* multiple_target.c (create_dispatcher_calls): Redirect
reference in the symbol table.
2018-03-16  Martin Liska  <mliska@suse.cz>

PR ipa/84833
* gcc.target/i386/mvc11.c: New test.

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

6 years agoProperly redirect alias for MVC (PR ipa/84722).
marxin [Fri, 16 Mar 2018 14:53:24 +0000 (14:53 +0000)] 
Properly redirect alias for MVC (PR ipa/84722).

2018-03-16  Martin Liska  <mliska@suse.cz>

PR ipa/84722
* multiple_target.c (create_dispatcher_calls): Redirect also
an alias.
2018-03-16  Martin Liska  <mliska@suse.cz>

PR ipa/84722
* gcc.target/i386/mvc10.c: New test.

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

6 years ago PR c++/83937 - wrong C++17 handling of init-list ctor argument.
jason [Fri, 16 Mar 2018 14:35:47 +0000 (14:35 +0000)] 
PR c++/83937 - wrong C++17 handling of init-list ctor argument.

* call.c (build_special_member_call): Don't convert an init-list
argument directly to the class type.

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

6 years ago PR c++/79937
jakub [Fri, 16 Mar 2018 12:46:12 +0000 (12:46 +0000)] 
PR c++/79937
PR c++/82410
* tree.h (TARGET_EXPR_NO_ELIDE): Define.
* gimplify.c (gimplify_modify_expr_rhs): Don't elide TARGET_EXPRs with
TARGET_EXPR_NO_ELIDE flag set unless *expr_p is INIT_EXPR.

* cp-tree.h (CONSTRUCTOR_PLACEHOLDER_BOUNDARY): Define.
(find_placeholder): Declare.
* tree.c (struct replace_placeholders_t): Add exp member.
(replace_placeholders_r): Don't walk into ctors with
CONSTRUCTOR_PLACEHOLDER_BOUNDARY flag set, unless they are equal to
d->exp.  Replace PLACEHOLDER_EXPR with unshare_expr (x) rather than x.
(replace_placeholders): Initialize data.exp.
(find_placeholders_r, find_placeholders): New functions.
* typeck2.c (process_init_constructor_record,
process_init_constructor_union): Set CONSTRUCTOR_PLACEHOLDER_BOUNDARY
if adding NSDMI on which find_placeholder returns true.
* call.c (build_over_call): Don't call replace_placeholders here.
* cp-gimplify.c (cp_genericize_r): Set TARGET_EXPR_NO_ELIDE on
TARGET_EXPRs with CONSTRUCTOR_PLACEHOLDER_BOUNDARY set on
TARGET_EXPR_INITIAL.
(cp_fold): Copy over CONSTRUCTOR_PLACEHOLDER_BOUNDARY bit to new
ctor.

* g++.dg/cpp1y/pr79937-1.C: New test.
* g++.dg/cpp1y/pr79937-2.C: New test.
* g++.dg/cpp1y/pr79937-3.C: New test.
* g++.dg/cpp1y/pr79937-4.C: New test.
* g++.dg/cpp1y/pr82410.C: New test.

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

6 years ago PR c++/83911 - ICE with multiversioned constructor.
jason [Fri, 16 Mar 2018 12:38:42 +0000 (12:38 +0000)] 
PR c++/83911 - ICE with multiversioned constructor.

* cp-gimplify.c (cp_genericize_r): Replace versioned function with
dispatchere here.
* call.c (build_over_call): Not here.
PR c++/83911 - ICE with multiversioned constructor.

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

6 years ago2018-03-16 Richard Biener <rguenther@suse.de>
rguenth [Fri, 16 Mar 2018 12:04:29 +0000 (12:04 +0000)] 
2018-03-16  Richard Biener  <rguenther@suse.de>

PR c/84873
* c-gimplify.c (c_gimplify_expr): Revert previous change.  Instead
unshare the possibly folded expression.

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

6 years ago[testsuite] Require vect_int_mult in pr84512.c
vries [Fri, 16 Mar 2018 11:38:57 +0000 (11:38 +0000)] 
[testsuite] Require vect_int_mult in pr84512.c

2018-03-16  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/tree-ssa/pr84512.c: Require effective target vect_int_mult.

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

6 years ago[testsuite] Require label_values in builtin-unreachable-6.c
vries [Fri, 16 Mar 2018 11:38:45 +0000 (11:38 +0000)] 
[testsuite] Require label_values in builtin-unreachable-6.c

2018-03-16  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/builtin-unreachable-6.c: Require effective target label_values.

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

6 years ago PR c++/84874
jakub [Fri, 16 Mar 2018 08:44:56 +0000 (08:44 +0000)] 
PR c++/84874
* g++.dg/cpp2a/desig8.C: New test.

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

6 years agoFix documentation for CLWB ISA.
jkoval [Fri, 16 Mar 2018 08:11:27 +0000 (08:11 +0000)] 
Fix documentation for CLWB ISA.
gcc/
* doc/invoke.texi (Skylake Server): Add CLWB.
Cannonlake): Remove CLWB.

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

6 years ago PR tree-optimization/84841
jakub [Fri, 16 Mar 2018 08:06:41 +0000 (08:06 +0000)] 
PR tree-optimization/84841
* tree-ssa-reassoc.c (INTEGER_CONST_TYPE): Change to 1 << 4 from
1 << 3.
(FLOAT_ONE_CONST_TYPE): Define.
(constant_type): Return FLOAT_ONE_CONST_TYPE for -1.0 and 1.0.
(sort_by_operand_rank): Put entries with higher constant_type last
rather than first to match comments.

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

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

6 years ago PR c++/84874
jakub [Fri, 16 Mar 2018 08:05:06 +0000 (08:05 +0000)] 
PR c++/84874
* decl.c (reshape_init_class): Don't assert d->cur->index == field
if d->cur->index is a FIELD_DECL, instead set field to d->cur->index.

* g++.dg/cpp2a/desig7.C: New test.

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

6 years ago03-16-2018 Mark Doffman <mark.doffman@codethink.co.uk>
law [Fri, 16 Mar 2018 05:07:39 +0000 (05:07 +0000)] 
03-16-2018  Mark Doffman  <mark.doffman@codethink.co.uk>
            Jim MacArthur  <jim.macarthur@codethink.co.uk>

* gfortran.dg/automatic_1.f90: New test.
* gfortran.dg/automatic_repeat.f90: New test
* gfortran.dg/automatic_save.f90: New test.
* gfortran.dg/vax_structure.f90: New test.

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

6 years ago2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 16 Mar 2018 02:56:34 +0000 (02:56 +0000)] 
2018-03-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/78741
* decl.c (get_proc_name):  Check for clash of entry name with
subroutine name.

2018-03-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/78741
* gfortran.dg/pr78741.f90: New test.

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

6 years ago2018-03-15 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 16 Mar 2018 02:43:02 +0000 (02:43 +0000)] 
2018-03-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69395
* decl.c (merge_array_spec): Limit the merging to maximum allowed
dimensions, and issue error message if limit is exceeded.

2018-03-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/69395
* gfortran.dg/pr69395.f90: New test.

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

6 years agoDaily bump.
gccadmin [Fri, 16 Mar 2018 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago2018-03-15 Sandra Loosemore <sandra@codesourcery.com>
sandra [Thu, 15 Mar 2018 22:33:34 +0000 (22:33 +0000)] 
2018-03-15  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.md (movsi_internal): Fix thinko in
split predicate.

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

6 years ago PR c++/79085
jakub [Thu, 15 Mar 2018 21:09:24 +0000 (21:09 +0000)] 
PR c++/79085
* calls.c (expand_call): For TREE_ADDRESSABLE rettype ignore alignment
check and use address of target always.

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

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

6 years ago PR libgfortran/84880
jakub [Thu, 15 Mar 2018 18:04:59 +0000 (18:04 +0000)] 
PR libgfortran/84880
* intrinsics/kill.c (kill): Rename to...
(PREFIX (kill)): ... this.  Use export_proto_np instead of export_proto.

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

6 years agoi386: Don't generate alias for function return thunk
hjl [Thu, 15 Mar 2018 17:54:40 +0000 (17:54 +0000)] 
i386: Don't generate alias for function return thunk

Function return thunks shouldn't be aliased to indirect branch thunks
since indirect branch thunks are placed in COMDAT section and a COMDAT
section with indirect branch may not have function return thunk.  This
patch generates function return thunks directly.

gcc/

PR target/84574
* config/i386/i386.c (indirect_thunk_needed): Update comments.
(indirect_thunk_bnd_needed): Likewise.
(indirect_thunks_used): Likewise.
(indirect_thunks_bnd_used): Likewise.
(indirect_return_needed): New.
(indirect_return_bnd_needed): Likewise.
(output_indirect_thunk_function): Add a bool argument for
function return.
(output_indirect_thunk_function): Don't generate alias for
function return thunk.
(ix86_code_end): Call output_indirect_thunk_function to generate
function return thunks.
(ix86_output_function_return): Set indirect_return_bnd_needed
and indirect_return_needed instead of indirect_thunk_bnd_needed
and indirect_thunk_needed.

gcc/testsuite/

PR target/84574
* gcc.target/i386/ret-thunk-9.c: Expect __x86_return_thunk
label instead of __x86_indirect_thunk label.

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

6 years ago PR c++/84222
jakub [Thu, 15 Mar 2018 17:45:01 +0000 (17:45 +0000)] 
PR c++/84222
* cp-tree.h (cp_warn_deprecated_use): Declare.
* tree.c (cp_warn_deprecated_use): New function.
* typeck2.c (build_functional_cast): Use it.
* decl.c (grokparms): Likewise.
(grokdeclarator): Likewise.  Temporarily push nested class scope
around grokparms call for out of class member definitions.

* g++.dg/warn/deprecated.C (T::member3): Change dg-warning to dg-bogus.
* g++.dg/warn/deprecated-6.C (T::member3): Likewise.
* g++.dg/warn/deprecated-13.C: New test.

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

6 years ago cmd/go: force LANG=C when looking for compiler version
ian [Thu, 15 Mar 2018 16:56:24 +0000 (16:56 +0000)] 
cmd/go: force LANG=C when looking for compiler version

    Tested by installing the gcc-locales package and running
        LANG=de_DE.utf8 go build hello.go
    Without this change, that fails, as described at
    https://gcc.gnu.org/PR84765.

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

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

6 years agoCredit Paul Hua for r258559
dmalcolm [Thu, 15 Mar 2018 15:52:11 +0000 (15:52 +0000)] 
Credit Paul Hua for r258559

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

6 years agoEnable Intel ENCLV support.
itsimbal [Thu, 15 Mar 2018 15:46:38 +0000 (15:46 +0000)] 
Enable Intel ENCLV support.

2018-03-15  Olga Makhotina  <olga.makhotina@intel.com>

gcc/
        * config/i386/sgxintrin.h (_enclv_u32): New intrinsic.
        (__enclv_bc, __enclv_cd, __enclv_generic): New definitions.
        (ERDINFO, ETRACKC, ELDBC, ELDUC): New leaves.

gcc/testsuite/
        * gcc.target/i386/sgx.c (_enclv_u32): Test new intrinsic.

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

6 years agoFix testcase for PR c/84852
dmalcolm [Thu, 15 Mar 2018 15:39:46 +0000 (15:39 +0000)] 
Fix testcase for PR c/84852

gcc/testsuite/ChangeLog:
PR c/84852
* gcc.dg/fixits-pr84852-1.c: Fix filename in dg-regexp.

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

6 years agors6000: Fix for the previous abi_v4_pass_in_fpr change
segher [Thu, 15 Mar 2018 15:17:07 +0000 (15:17 +0000)] 
rs6000: Fix for the previous abi_v4_pass_in_fpr change

I was a bit over-enthusiastic, we still support xilinxfp.

* config/rs6000/rs6000.c (abi_v4_pass_in_fpr): Add back the
TARGET_DOUBLE_FLOAT and TARGET_SINGLE_FLOAT conditions on the DFmode
resp. SFmode cases.

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

6 years ago2018-03-15 Richard Biener <rguenther@suse.de>
rguenth [Thu, 15 Mar 2018 13:10:24 +0000 (13:10 +0000)] 
2018-03-15  Richard Biener  <rguenther@suse.de>

PR c/84873
* c-gimplify.c (c_gimplify_expr): Do not fold expressions.

* c-c++-common/pr84873.c: New testcase.

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

6 years ago2018-03-15 Tamar Christina <tamar.christina@arm.com>
tnfchris [Thu, 15 Mar 2018 10:53:17 +0000 (10:53 +0000)] 
2018-03-15  Tamar Christina  <tamar.christina@arm.com>

PR target/84711
* config/arm/arm.c (arm_can_change_mode_class): Use GET_MODE_UNIT_SIZE
instead of GET_MODE_SIZE when comparing Units.

gcc/testsuite/
2018-03-15  Tamar Christina  <tamar.christina@arm.com>

PR target/84711
* gcc.target/arm/big-endian-subreg.c: New.

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

6 years ago2018-03-15 Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
rguenth [Thu, 15 Mar 2018 08:55:04 +0000 (08:55 +0000)] 
2018-03-15  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

        PR target/68256
        * varasm.c (hash_section): Return an unchangeble hash value
        * config/aarch64/aarch64.c (aarch64_use_blocks_for_constant_p):
        Return !aarch64_can_use_per_function_literal_pools_p ().

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

6 years ago PR target/84860
jakub [Thu, 15 Mar 2018 08:35:28 +0000 (08:35 +0000)] 
PR target/84860
* optabs.c (emit_conditional_move): Pass address of cmode's copy
rather than address of cmode as last argument to prepare_cmp_insn.

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

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

6 years agoAdd builtin_cpu for cannonlake and new isa features.
jkoval [Thu, 15 Mar 2018 07:52:36 +0000 (07:52 +0000)] 
Add builtin_cpu for cannonlake and new isa features.
gcc/
* config/i386/i386.c (F_AVX512VBMI2, F_GFNI, F_VPCLMULQDQ,
F_AVX512VNNI, F_AVX512BITALG): New.

gcc/testsuite/
* gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add
cannonlake.
(check_features): Add avx512vbmi2, gfni, vpclmulqdq, avx512vnni,
avx512bitalg.

libgcc/
* config/i386/cpuinfo.c (get_available_features): Add
FEATURE_AVX512VBMI2, FEATURE_GFNI, FEATURE_VPCLMULQDQ,
FEATURE_AVX512VNNI, FEATURE_AVX512BITALG.
* config/i386/cpuinfo.h (processor_features) Add
FEATURE_AVX512VBMI2, FEATURE_GFNI, FEATURE_VPCLMULQDQ,
FEATURE_AVX512VNNI, FEATURE_AVX512BITALG.

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

6 years ago PR c/84853
jakub [Thu, 15 Mar 2018 07:37:53 +0000 (07:37 +0000)] 
PR c/84853
* c-typeck.c (build_binary_op) <case RSHIFT_EXPR, case LSHIFT_EXPR>:
If code1 is INTEGER_TYPE, only allow code0 VECTOR_TYPE if it has
INTEGER_TYPE element type.

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

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

6 years ago PR c++/84820 - no error for invalid qualified-id.
jason [Thu, 15 Mar 2018 04:34:45 +0000 (04:34 +0000)] 
PR c++/84820 - no error for invalid qualified-id.

* parser.c (cp_parser_make_indirect_declarator): Don't wrap
cp_error_declarator.

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

6 years ago PR c++/84801 - ICE with unexpanded pack in lambda.
jason [Thu, 15 Mar 2018 03:49:07 +0000 (03:49 +0000)] 
PR c++/84801 - ICE with unexpanded pack in lambda.

We avoid complaining about unexpanded packs when inside a lambda,
since the lambda as a whole could be part of a pack expansion.
But that can only be true if the lambda is in a template context.

    * pt.c (check_for_bare_parameter_packs): Don't return early for a
lambda in non-template context.

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

6 years ago PR c++/81236 - auto variable and auto function
jason [Thu, 15 Mar 2018 03:08:24 +0000 (03:08 +0000)] 
PR c++/81236 - auto variable and auto function

* pt.c (tsubst_baselink): Update the type of the BASELINK after
mark_used.

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

6 years agoDaily bump.
gccadmin [Thu, 15 Mar 2018 00:16:25 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago PR target/83451
danglin [Wed, 14 Mar 2018 23:31:57 +0000 (23:31 +0000)] 
PR target/83451
* config/pa/pa.c (pa_emit_move_sequence):  Always emit secondary reload
insn for floating-point loads and stores.

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

6 years agoPR libstdc++/78420 Make std::less etc. yield total order for pointers
redi [Wed, 14 Mar 2018 23:02:01 +0000 (23:02 +0000)] 
PR libstdc++/78420 Make std::less etc. yield total order for pointers

In order for std::less<T*> etc. to meet the total order requirements of
[comparisons] p2 we need to cast unrelated pointers to uintptr_t before
comparing them. Those casts aren't allowed in constant expressions, so
only cast when __builtin_constant_p says the result of the comparison is
not a compile-time constant (because the arguments are not constants, or
the result of the comparison is unspecified). When the result is
constant just compare the pointers directly without casting.

This ensures that the function can be called in constant expressions
with suitable arguments, but still yields a total order even for
otherwise unspecified pointer comparisons.

For std::less<void> etc. add new overloads for pointers, which use
std::less<common_type_t<T*,U*>> directly. Also change the generic
overloads to detect when the comparison would call a built-in relational
operator with pointer operands, and dispatch that case to the
corresponding specialization for void pointers.

PR libstdc++/78420
* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
to ensure total order for pointers.
(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
Add operator() overloads for pointer arguments and make generic
overloads dispatch to new _S_cmp functions when comparisons would
use built-in operators for pointers.
* testsuite/20_util/function_objects/comparisons_pointer.cc: New.

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

6 years agogcc/ChangeLog:
carll [Wed, 14 Mar 2018 23:01:12 +0000 (23:01 +0000)] 
gcc/ChangeLog:

2018-03-14  Carl Love  <cel@us.ibm.com>

PR target/84422
* config/rs6000/rs6000-builtin.def: Change expansion for
VMULESW to BU_P8V_AV_2.
Change expansion for VMULEUW to BU_P8V_AV_2.
* config/rs6000/rs6000.c: Change
ALTIVEC_BUILTIN_VMULESW to P8V_BUILTIN_VMULESW.
Change ALTIVEC_BUILTIN_VMULEUW to P8V_BUILTIN_VMULEUW.
Change ALTIVEC_BUILTIN_VMULOSW to P8V_BUILTIN_VMULOSW.
Change ALTIVEC_BUILTIN_VMULOUW to P8V_BUILTIN_VMULOUW.
* config/rs6000/rs6000-c.c: Change
ALTIVEC_BUILTIN_VMULESW to P8V_BUILTIN_VMULESW.
Change ALTIVEC_BUILTIN_VMULEUW to P8V_BUILTIN_VMULEUW.
Change ALTIVEC_BUILTIN_VMULOSW to P8V_BUILTIN_VMULOSW.
Change ALTIVEC_BUILTIN_VMULOUW to P8V_BUILTIN_VMULOUW.

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

6 years ago PR c++/83916 - ICE with template template parameters.
jason [Wed, 14 Mar 2018 19:17:03 +0000 (19:17 +0000)] 
PR c++/83916 - ICE with template template parameters.

* pt.c (convert_template_argument): Don't substitute into type of
non-type parameter if we don't have enough arg levels.
(unify): Likewise.

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

6 years agogcc/ChangeLog:
carll [Wed, 14 Mar 2018 17:38:15 +0000 (17:38 +0000)] 
gcc/ChangeLog:

2018-03-14  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-c.c: Add macro definitions for
ALTIVEC_BUILTIN_VEC_PERMXOR.
* config/rs6000/rs6000.h: Add #define for vec_permxor builtin.
* config/rs6000/rs6000-builtin.def: Add macro expansions for VPERMXOR.
* config/rs6000/altivec.md (altivec_vpermxor): New define expand.
* config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Add case
UNSPEC_VPERMXOR.
* config/doc/extend.texi: Add prototypes for vec_permxor.

gcc/testsuite/ChangeLog:

2018-03-14  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-7-runnable.c: New test file.

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

6 years agoAdd test-case (PR ipa/84805).
marxin [Wed, 14 Mar 2018 17:26:38 +0000 (17:26 +0000)] 
Add test-case (PR ipa/84805).

2018-03-14  Martin Liska  <mliska@suse.cz>

PR ipa/8480
* g++.dg/lto/pr84805_0.C: New test.
* g++.dg/lto/pr84805_1.C: New test.
* g++.dg/lto/pr84805_2.C: New test.

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

6 years agoFix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852)
dmalcolm [Wed, 14 Mar 2018 13:58:13 +0000 (13:58 +0000)] 
Fix ICE for missing header fix-it hints with overlarge #line directives (PR c/84852)

PR c/84852 reports an ICE inside diagnostic_show_locus when printing
a diagnostic for a source file with a #line >= 2^31:

  #line 7777777777
  int foo (void) { return strlen(""); }

where we're attempting to print a fix-it hint at the top of the file
and underline the "strlen" (two "line spans").

The
  #line 7777777777
won't fix within the 32-bit linenum_type, and is truncated from
  0x1cf977871
to
   0xcf977871
i.e. 3482810481 in decimal.

Such a #line is reported by -pedantic and -pedantic-errors, but we
shouldn't ICE.

The ICE is an assertion failure within layout::calculate_line_spans,
where the line spans have not been properly sorted.

The layout_ranges are stored as int, rather than linenum_type,
giving line -812156815 for the error, and line 1 for the fix-it hint.

However, line_span uses linenum_type rather than int.

line_span::comparator compares these values as int, and hence
decides that (linenum_type)3482810481 aka (int)-812156815 is less
than line 1.

This leads to this assertion failing in layout::calculate_line_spans:

1105       gcc_assert (next->m_first_line >= current->m_first_line);

since it isn't the case that 1 >= 3482810481.

The underlying problem is the mix of types for storing line numbers:
in parts of libcpp and diagnostic-show-locus.c we use linenum_type;
in other places (including libcpp's expanded_location) we use int.

I looked at using linenum_type throughout, but doing so turned into
a large patch, so this patch fixes the ICE in a less invasive way
by merely using linenum_type more consistently just within
diagnostic-show-locus.c, and fixing line_span::comparator to properly
handle line numbers (and line number differences) >= 2^31, by using
a new helper function for linenum_type differences, computing the
difference using long long, and using the sign of the difference
(as the difference might not fit in the "int" return type imposed
by qsort).

gcc/ChangeLog:
PR c/84852
* diagnostic-show-locus.c (class layout_point): Convert m_line
from int to linenum_type.
(line_span::comparator): Use linenum "compare" function when
comparing line numbers.
(test_line_span): New function.
(layout_range::contains_point): Convert param "row" from int to
linenum_type.
(layout_range::intersects_line_p): Likewise.
(layout::will_show_line_p): Likewise.
(layout::print_source_line): Likewise.
(layout::should_print_annotation_line_p): Likewise.
(layout::print_annotation_line): Likewise.
(layout::print_leading_fixits): Likewise.
(layout::annotation_line_showed_range_p): Likewise.
(struct line_corrections): Likewise for field m_row.
(line_corrections::line_corrections): Likewise for param "row".
(layout::print_trailing_fixits): Likewise.
(layout::get_state_at_point): Likewise.
(layout::get_x_bound_for_row): Likewise.
(layout::print_line): Likewise.
(diagnostic_show_locus): Likewise for locals "last_line" and
"row".
(selftest::diagnostic_show_locus_c_tests): Call test_line_span.
* input.c (selftest::test_linenum_comparisons): New function.
(selftest::input_c_tests): Call it.
* selftest.c (selftest::test_assertions): Test ASSERT_GT,
ASSERT_GT_AT, ASSERT_LT, and ASSERT_LT_AT.
* selftest.h (ASSERT_GT): New macro.
(ASSERT_GT_AT): New macro.
(ASSERT_LT): New macro.
(ASSERT_LT_AT): New macro.

gcc/testsuite/ChangeLog:
PR c/84852
* gcc.dg/fixits-pr84852-1.c: New test.
* gcc.dg/fixits-pr84852-2.c: New test.

libcpp/ChangeLog:
* include/line-map.h (compare): New function on linenum_type.

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

6 years agors6000: Fix sanitizer frame unwind on 32-bit ABIs
segher [Wed, 14 Mar 2018 13:46:03 +0000 (13:46 +0000)] 
rs6000: Fix sanitizer frame unwind on 32-bit ABIs

This fixes more than half of our testcase failures on BE.

libsanitizer/
* sanitizer_common/sanitizer_stacktrace.cc
(BufferedStackTrace::FastUnwindStack): Use the correct frame offset
for PowerPC SYSV ABI.

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

6 years agocombine: Don't make log_links for pc_rtx (PR84780 #c10)
segher [Wed, 14 Mar 2018 12:24:21 +0000 (12:24 +0000)] 
combine: Don't make log_links for pc_rtx (PR84780 #c10)

distribute_links tries to place a log_link for whatever the destination
of the modified instruction is.  It shouldn't do that when that dest
is pc_rtx, which isn't actually a register.

* combine.c (distribute_links): Don't make a link based on pc_rtx.

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

6 years agoFix tree statistics with -fmem-report.
marxin [Wed, 14 Mar 2018 11:17:01 +0000 (11:17 +0000)] 
Fix tree statistics with -fmem-report.

2018-03-14  Martin Liska  <mliska@suse.cz>

* tree.c (record_node_allocation_statistics): Use
get_stats_node_kind.
(get_stats_node_kind): New function extracted from
record_node_allocation_statistics.
(free_node): Use get_stats_node_kind.

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

6 years ago2018-03-14 Richard Biener <rguenther@suse.de>
rguenth [Wed, 14 Mar 2018 10:55:45 +0000 (10:55 +0000)] 
2018-03-14  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (compute_antic_aux): Remove code that asserts
that the value-set of ANTIC_IN doesn't grow.

Revert
* tree-ssa-pre.c (struct bb_bitmap_sets): Add visited_with_visited_succs
member.
(BB_VISITED_WITH_VISITED_SUCCS): New define.
(compute_antic): Initialize BB_VISITED_WITH_VISITED_SUCCS.

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

6 years agoFix FAIL display for some scan-*-times directives
thopre01 [Wed, 14 Mar 2018 10:47:32 +0000 (10:47 +0000)] 
Fix FAIL display for some scan-*-times directives

scan-assembler-times and scan-tree-dump-times dejagnu directives show a
different output in the summary files depending on whether they PASS or
FAIL. This means that dg-cmp-results would not show a regression because
it would not see a connection between the two output.

The difference comes from the FAIL showing the number of actual times
the pattern was match, presumably to help debugging. This patch moves
the info regarding the actual number of times the pattern match in a
separate verbose message. This keeps the message unchanged but let
developers have the required debug message with -v.

2018-03-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * lib/scanasm.exp (scan-assembler-times): Move FAIL debug info into a
    separate verbose message.
    * lib/scandump.exp (scan-dump-times): Likewise.

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

6 years agoSplit-up -march=icelake on -march=icelake-server and -march=icelake-client
jkoval [Wed, 14 Mar 2018 10:26:38 +0000 (10:26 +0000)] 
Split-up -march=icelake on -march=icelake-server and -march=icelake-client
gcc/
* config.gcc (icelake-client, icelake-server): New.
(icelake): Remove.
* config/i386/i386.c (initial_ix86_tune_features): Extend to 64 bit.
(initial_ix86_arch_features): Ditto.
(PTA_SKYLAKE): Add SGX.
(PTA_ICELAKE): Remove.
(PTA_ICELAKE_CLIENT): New.
(PTA_ICELAKE_SERVER): New.
(ix86_option_override_internal): Split up icelake on icelake client and
icelake server.
(get_builtin_code_for_version): Ditto.
(fold_builtin_cpu): Ditto.
* config/i386/driver-i386.c (config/i386/driver-i386.c): Ditto.
* config/i386/i386-c.c (ix86_target_macros_internal): Ditto
* config/i386/i386.h (processor_type): Ditto.
* doc/invoke.texi: Ditto.

gcc/testsuite/
* g++.dg/ext/mv16.C: Split up icelake on icelake client and
icelake-server.
* gcc.target/i386/funcspec-56.inc: Ditto.

libgcc/
* config/i386/cpuinfo.h (processor_subtypes): Split up icelake on
icelake-client and icelake-server.

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

6 years ago[AArch64] Fix mul_highpart_1_run.c markup
rsandifo [Wed, 14 Mar 2018 09:12:55 +0000 (09:12 +0000)] 
[AArch64] Fix mul_highpart_1_run.c markup

2018-03-14  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/testsuite/
* gcc.target/aarch64/sve/mul_highpart_1_run.c: Restrict to
aarch64_sve_hw.

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

6 years ago PR sanitizer/83392
jakub [Wed, 14 Mar 2018 08:50:23 +0000 (08:50 +0000)] 
PR sanitizer/83392
* sanopt.c (maybe_optimize_ubsan_ptr_ifn): Handle also
INTEGER_CST offset, add it together with bitpos / 8 and
sign extend based on POINTER_SIZE.

* c-c++-common/ubsan/ptr-overflow-sanitization-1.c: Adjust expected
check count from 17 to 14.

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

6 years ago PR target/84844
jakub [Wed, 14 Mar 2018 08:48:40 +0000 (08:48 +0000)] 
PR target/84844
Revert
2017-04-20  Uros Bizjak  <ubizjak@gmail.com>

PR target/78090
* config/i386/constraints.md (Yc): New register constraint.
* config/i386/i386.md (*float<SWI48:mode><MODEF:mode>2_mixed):
Use Yc constraint for alternative 2 of operand 0.  Remove
preferred_for_speed attribute.

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

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