154867 Commits

Author SHA1 Message Date
Jakub Jelinek
ac135a731d re PR target/81151 (-Wmaybe-uninitialized in insn-emit.c)
PR target/81151
	* config/i386/sse.md (round<mode>2): Renumber match_dup and
	operands indexes to avoid gap between operands and match_dups.

From-SVN: r249469
2017-06-21 22:02:00 +02:00
Ville Voutilainen
5e88d2d08d PR libstdc++/80675, PR libstdc++/80940
* include/std/istream:
(__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream_impl): Likewise.
(__is_convertible_to_basic_istream): Use the new base.
(__rvalue_istream_type): New.
(operator>>(_Istream&&, _Tp&&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual extraction.
* include/std/ostream:
(__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New.
(__do_is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream_impl): Likewise.
(__is_convertible_to_basic_ostream): Use the new base.
(__rvalue_ostream_type): New.
(operator<<(_Ostream&&, const _Tp&)): Use the new helper alias
for the SFINAE check, convert to the helper alias type before
doing the actual insertion.
* testsuite/27_io/rvalue_streams-2.cc: Add new tests.

From-SVN: r249468
2017-06-21 22:53:26 +03:00
Jakub Jelinek
cb8d1b01b3 re PR c++/81154 (OpenMP with shared variable in a template class crash)
PR c++/81154
	* semantics.c (handle_omp_array_sections_1, finish_omp_clauses):
	Complain about t not being a variable if t is OVERLOAD even
	when processing_template_decl.

	* g++.dg/gomp/pr81154.C: New test.

From-SVN: r249467
2017-06-21 20:30:32 +02:00
Thomas Preud'homme
1e55769b15 Fix variant selection in dg-cmp-results.sh
2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    contrib/
    * dg-cmp-results.sh: Restore filtering on target variant.

From-SVN: r249463
2017-06-21 16:20:57 +00:00
Andrew Jenner
827c925e6a MAINTAINERS: Add myself as maintainer for PowerPC SPE port.
* MAINTAINERS: Add myself as maintainer for PowerPC SPE port.

From-SVN: r249462
2017-06-21 16:17:24 +00:00
David Malcolm
113459fad3 C++: Add fix-it hints for -Wold-style-cast
gcc/cp/ChangeLog:
	* parser.c (get_cast_suggestion): New function.
	(maybe_add_cast_fixit): New function.
	(cp_parser_cast_expression): Capture the location of the closing
	parenthesis.  Call maybe_add_cast_fixit when emitting warnings
	about old-style casts.

gcc/testsuite/ChangeLog:
	* g++.dg/other/old-style-cast-fixits.C: New test case.

From-SVN: r249461
2017-06-21 16:11:36 +00:00
Andrew Pinski
b10f10092e aarch64-cost-tables.h (thunderx_extra_costs): Increment Arith_shift and Arith_shift_reg by 1.
2017-06-21  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
        Increment Arith_shift and Arith_shift_reg by 1.
        * config/aarch64/aarch64-tuning-flags.def (cheap_shift_extend):
        New tuning flag.
        * config/aarch64/aarch64.c (thunderx_tunings): Enable
        AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND.
        (aarch64_strip_extend): Add new argument and test for it.
        (aarch64_cheap_mult_shift_p): New function.
        (aarch64_rtx_mult_cost): Call aarch64_cheap_mult_shift_p and don't
        add a cost if it is true.
        Update calls to aarch64_strip_extend.
        (aarch64_rtx_costs): Update calls to aarch64_strip_extend.

From-SVN: r249459
2017-06-21 08:58:12 -07:00
Andrew Pinski
f1e247d018 aarch64-cores.def (thunderxt88p1): Use thunderxt88 tunings.
2017-06-21  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cores.def (thunderxt88p1): Use thunderxt88
        tunings.
        (thunderxt88): Likewise.
        * config/aarch64/aarch64.c (thunderxt88_prefetch_tune): New variable.
        (thunderx_prefetch_tune): New variable.
        (thunderx2t99_prefetch_tune): Update for the correct values.
        (thunderxt88_tunings): New variable.
        (thunderx_tunings): Use thunderx_prefetch_tune instead of
        generic_prefetch_tune.
        (thunderx2t99_tunings): Use AUTOPREFETCHER_WEAK.

From-SVN: r249458
2017-06-21 08:35:14 -07:00
Kyrylo Tkachov
2c0113fd8a [AArch64] Fix atomic_cmp_exchange_zero_reg_1.c with +lse
* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>_lse,
	SHORT): Relax operand 3 to aarch64_reg_or_zero and constraint to Z.
	(aarch64_compare_and_swap<mode>_lse, GPI): Likewise.
	(aarch64_atomic_cas<mode>, SHORT): Likewise for operand 2.
	(aarch64_atomic_cas<mode>, GPI): Likewise.

From-SVN: r249457
2017-06-21 15:26:21 +00:00
Jakub Jelinek
5e9d501c7d * g++.dg/cpp0x/constexpr-cast.C: Adjust dg-error for ILP32.
From-SVN: r249455
2017-06-21 16:55:40 +02:00
Ramana Radhakrishnan
6bea305b3e Update baseline symbols for aarch64-none-linux-gnu
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Regenerate

From-SVN: r249454
2017-06-21 14:38:56 +00:00
Tom de Vries
27d33d3ef0 Support dg-add-options in profopt.exp
2017-06-21  Tom de Vries  <tom@codesourcery.com>

	* lib/profopt.exp (profopt-get-options): Support dg-add-options.

From-SVN: r249453
2017-06-21 14:14:31 +00:00
Tom de Vries
5433db459e Fix warning in gcc.dg/tree-prof/comp-goto-1.c
2017-06-21  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/tree-prof/comp-goto-1.c: Fix 'return type defaults to int'
	warning.

From-SVN: r249452
2017-06-21 14:14:16 +00:00
Martin Liska
93c1837582 Rework cold and hot label attributes in predict.c.
2017-06-21  Martin Liska  <mliska@suse.cz>

	* gimplify.c (gimplify_label_expr): Insert GIMPLE_PREDICT
	statements on cold and hot labels.
	* predict.c (tree_estimate_probability_bb): Remove the
	prediction from this place.
2017-06-21  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-ssa/attr-hotcold-2.c: Update scanned patterns.

From-SVN: r249451
2017-06-21 12:52:14 +00:00
Martin Liska
e59a1c22fb Make early return predictor more precise.
2017-06-21  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/79489
	* gimplify.c (maybe_add_early_return_predict_stmt): New
	function.
	(gimplify_return_expr): Call the function.
	* predict.c (tree_estimate_probability_bb): Remove handling
	of early return.
	* predict.def: Update comment about early return predictor.
	* gimple-predict.h (is_gimple_predict): New function.
	* predict.def: Change default value of early return to 66.
	* tree-tailcall.c (find_tail_calls): Skip GIMPLE_PREDICT
	statements.
	* passes.def: Put pass_strip_predict_hints to the beginning of
	IPA passes.

From-SVN: r249450
2017-06-21 12:51:46 +00:00
Pierre-Marie de Rodat
ff9baa5f1c DWARF: make it possible to emit debug info for declarations only
The DWARF back-end used to systematically ignore file-scope function and
variable declarations.  While this is justified in language like C/C++,
where such declarations can appear in several translation units and thus
bloat uselessly the debug info, this behavior is counter-productive in
languages with a well-defined module system.  Specifically, it prevents
the description of imported entities, that belong to foreign languages,
making them unavailable from debuggers.

Take for instance:

    package C_Binding is
        function My_C_Function (I : Integer) return Integer;
        pragma Import (C, My_C_Function, "my_c_function");
    end C_Binding;

This makes available for Ada programs the C function "my_c_function"
under the following name: C_Binding.My_C_Function.  When GCC compiles
it, though, it is represented as a FUNCTION_DECL node with DECL_EXTERNAL
set and a null DECL_INITIAL, which used to be discarded unconditionally
in the DWARF back-end.

This patch moves such filter from the DWARF back-end to the relevant
callers: passes.c:rest_of_decl_compilation and
godump.c:go_early_global_decl. It also This patch also updates the Ada
front-end to call debug hooks for functions such as in the above
example, so that we do generate debugging information for them.

gcc/
	* dwarf2out.c (gen_decl_die): Remove the guard to skip file-scope
	FUNCTION_DECL declarations.
	(dwarf2out_early_global_decl): Remove the guard to skip FUNCTION_DECL
	declarations.
	(dwaf2out_decl): Likewise.
	* godump.c (go_early_global_decl): Skip call to the real debug hook
	for FUNCTION_DECL declarations.
	* passes.c (rest_of_decl_compilation): Skip call to the
	early_global_decl debug hook for FUNCTION_DECL declarations, unless
	-fdump-go-spec is passed.

gcc/ada/
	* gcc-interface/ada-tree.h (DECL_FUNCTION_IS_DEF): Update copyright
	notice.  New macro.
	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Tag the subprogram
	as a definition.
	(Compilation_Unit_to_gnu): Tag the elaboration procedure as a
	definition.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Tag declarations of
	imported subprograms for the current compilation unit as
	definitions.  Disable debug info for references to variables.
	* gcc-interface/gigi.h (create_subprog_decl): Update declaration.
	* gcc-interface/utils.c (gnat_pushdecl): Add external DECLs that are
	not built-in functions to their binding scope.
	(create_subprog_decl): Add a DEFINITION parameter.  If it is true, tag
	the function as a definition.  Update all callers.
	(gnat_write_global_declarations): Emit debug info for imported
	functions.  Filter out external variables for which debug info
	is disabled.

gcc/testsuite/
	* gnat.dg/debug11_pkg.adb, gnat.dg/debug11_pkg.ads,
	gnat.dg/debug11_pkg2.ads: New testcase.

From-SVN: r249449
2017-06-21 11:24:51 +00:00
Marc Glisse
a23ba8ccd0 [i386] __builtin_ia32_stmxcsr could be pure
2017-06-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* config/i386/i386.c (struct builtin_isa): New field pure_p.
	Reorder for compactness.
	(def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
	(def_builtin_pure, def_builtin_pure2): New functions.
	(ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.

gcc/testsuite/
	* gcc.target/i386/getround.c: New file.

From-SVN: r249448
2017-06-21 11:20:41 +00:00
Marc Glisse
ed73f46f30 NOP conversions in X+CST+CST
2017-06-21  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (nop_convert): New predicate.
	((A +- CST1) +- CST2): Allow some NOP conversions.

gcc/testsuite/
	* gcc.dg/tree-ssa/addadd.c: Un-XFAIL.
	* gcc.dg/tree-ssa/addadd-2.c: New file.

From-SVN: r249447
2017-06-21 11:16:27 +00:00
Jakub Jelinek
6d52273137 line-map.c (location_adhoc_data_update): Perform addition in uintptr_t type rather than char * type.
* line-map.c (location_adhoc_data_update): Perform addition in
	uintptr_t type rather than char * type.  Read *data using
	ptrdiff_t type instead of int64_t.
	(get_combined_adhoc_loc): Change offset type to ptrdiff_t from
	int64_t.

From-SVN: r249446
2017-06-21 12:59:12 +02:00
Jakub Jelinek
d54d1fc3bc re PR c++/81130 (ICE OpenMP shared clause in gimplify_var_or_parm_decl, at gimplify.c:2584)
PR c++/81130
	* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
	with ctors/dtors if GOVD_SHARED is set.

	* testsuite/libgomp.c++/pr81130.C: New test.

From-SVN: r249445
2017-06-21 12:58:00 +02:00
Wilco Dijkstra
9fe9816bcd Emit SIMD moves as mov
SIMD moves are currently emitted as ORR.  Change this to use the MOV
pseudo instruction just like integer moves (the ARM-ARM states MOV is the
preferred disassembly), improving readability of -S output.

    gcc/
	* config/aarch64/aarch64.md (movti_aarch64):
	Emit mov rather than orr.
	(movtf_aarch64): Likewise.
	* config/aarch64/aarch64-simd.md (aarch64_simd_mov):
	Emit mov rather than orr.

From-SVN: r249444
2017-06-21 10:48:51 +00:00
Wilco Dijkstra
dca19fe10d Improve dup pattern
Improve the dup pattern to prefer vector registers.  When doing a dup
after a load, the register allocator thinks the costs are identical
and chooses an integer load.  However a dup from an integer register
includes an int->fp transfer which is not modelled.  Adding a '?' to
the integer variant means the cost is increased slightly so we prefer
using a vector register.  This improves the following example:

#include <arm_neon.h>
void f(unsigned *a, uint32x4_t *b)
{
  b[0] = vdupq_n_u32(a[1]);
  b[1] = vdupq_n_u32(a[2]);
}

to:
        ldr     s0, [x0, 4]
        dup     v0.4s, v0.s[0]
        str     q0, [x1]
        ldr     s0, [x0, 8]
        dup     v0.4s, v0.s[0]
        str     q0, [x1, 16]
        ret

    gcc/
	* config/aarch64/aarch64-simd.md (aarch64_simd_dup):
	Swap alternatives, make integer dup more expensive.

From-SVN: r249443
2017-06-21 10:46:02 +00:00
Wilco Dijkstra
f28e54bd06 Mark symbols as constant
Aarch64_legitimate_constant_p currently returns false for symbols,
eventhough they are always valid constants.  This means LOSYM isn't
CSEd correctly.  If we return true CSE works better, resulting in
smaller/faster code (0.3% smaller code on SPEC2006).  Avoid this
for TLS symbols since their sequence is complex.

    gcc/
	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
	Return true for non-tls symbols.

From-SVN: r249442
2017-06-21 10:40:21 +00:00
James Greenhalgh
9a85b75fc4 [Patch AArch64] Add initial tuning support for Cortex-A55 and Cortex-A75
This patch adds support for the ARM Cortex-A75 and
Cortex-A55 processors through the -mcpu/-mtune values cortex-a55 and
cortex-a75, and an ARM DynamIQ big.LITTLE configuration of these two
processors through the -mcpu/-mtune value cortex-a75.cortex-a55

The ARM Cortex-A75 is ARM's latest and highest performance applications
processor. For the initial tuning provided in this patch, I have chosen to
share the tuning structure with its predecessor, the Cortex-A73.

The ARM Cortex-A55 delivers the best combination of power efficiency
and performance in its class. For the initial tuning provided in this patch,
I have chosen to share the tuning structure with its predecessor, the
Cortex-A53.

Both Cortex-A55 and Cortex-A75 support ARMv8-A with the ARM8.1-A and
ARMv8.2-A extensions, along with the cryptography extension, and
the RCPC extensions from ARMv8.3-A. This is reflected in the patch,
-mcpu=cortex-a75 is treated as equivalent to passing -mtune=cortex-a75
-march=armv8.2-a+rcpc .

2017-06-21  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/aarch64-cores.def (cortex-a55): New.
	(cortex-a75): Likewise.
	(cortex-a75.cortex-a55): Likewise.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi (-mtune): Document new values for -mtune.

From-SVN: r249441
2017-06-21 09:58:57 +00:00
Tom de Vries
6b92ab17be Add dg-add-options feature stack_size
2017-06-21  Tom de Vries  <tom@codesourcery.com>

	* doc/sourcebuild.texi (Add Options, Features for dg-add-options): Add
	stack_size feature.
	(Effective-Target Keywords, Other attributes): Suggest using
	dg-add-options stack_size feature to get stack limit in stack_size
	effective target documentation.

	* lib/target-supports.exp (add_options_for_stack_size): New proc.
	* gcc.c-torture/execute/920501-7.c: Use dg-add-options stack_size.
	* gcc.c-torture/compile/20080806-1.c: Same.
	* gcc.c-torture/compile/920723-1.c: Same.
	* gcc.c-torture/compile/930621-1.c: Same.
	* gcc.c-torture/compile/991214-2.c: Same.
	* gcc.c-torture/compile/bcopy.c: Same.
	* gcc.c-torture/compile/memtst.c: Same.
	* gcc.c-torture/compile/msp.c: Same.
	* gcc.c-torture/compile/stuct.c: Same.
	* gcc.c-torture/execute/20011008-3.c: Same.
	* gcc.c-torture/execute/20030209-1.c: Same.
	* gcc.c-torture/execute/20031012-1.c: Same.
	* gcc.c-torture/execute/20040805-1.c: Same.
	* gcc.c-torture/execute/920410-1.c: Same.
	* gcc.c-torture/execute/921113-1.c: Same.
	* gcc.c-torture/execute/921202-1.c: Same.
	* gcc.c-torture/execute/921208-2.c: Same.
	* gcc.c-torture/execute/930106-1.c: Same.
	* gcc.c-torture/execute/930406-1.c: Same.
	* gcc.c-torture/execute/950221-1.c: Same.
	* gcc.c-torture/execute/960521-1.c: Same.
	* gcc.c-torture/execute/980605-1.c: Same.
	* gcc.c-torture/execute/comp-goto-1.c: Same.
	* gcc.c-torture/execute/comp-goto-2.c: Same.
	* gcc.c-torture/execute/memcpy-1.c: Same.
	* gcc.c-torture/execute/multi-ix.c: Same.
	* gcc.c-torture/execute/nestfunc-4.c: Same.
	* gcc.c-torture/execute/pr20621-1.c: Same.
	* gcc.c-torture/execute/pr23135.c: Same.
	* gcc.c-torture/execute/pr28982b.c: Same.
	* gcc.dg/loop-3.c: Same.
	* gcc.dg/struct-ret-3.c: Same.
	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
	* gcc.dg/tree-prof/comp-goto-1.c: Same.
	* gcc.dg/tree-prof/pr44777.c: Same.

From-SVN: r249440
2017-06-21 09:10:16 +00:00
Jonathan Wakely
ed39d22d1b PR libstdc++/81092 Regenerate configure for libtool_VERSION change
PR libstdc++/81092
	* configure: Regenerate.

From-SVN: r249438
2017-06-21 09:55:26 +01:00
Richard Biener
e91a2ddc1f configure.ac: Add AC_SYS_LARGEFILE.
2017-06-21  Richard Biener  <rguenther@suse.de>

	* configure.ac: Add AC_SYS_LARGEFILE.
	* config.h.in: Regenerate.
	* configure: Likewise.

From-SVN: r249436
2017-06-21 07:04:13 +00:00
Richard Biener
a51a76e594 re PR gcov-profile/81080 (target libgcov not built with large file support)
2017-06-21  Richard Biener  <rguenther@suse.de>

	PR gcov-profile/81080
	* configure.ac: Add AC_SYS_LARGEFILE.
	* libgcov.h: Include auto-target.h before tsystem.h to pick
	up _FILE_OFFSET_BITS which might differ for multilibs.
	* config.in: Regenerate.
	* configure: Likewise.

From-SVN: r249435
2017-06-21 07:01:34 +00:00
Naveen H.S
e2bb0ed087 Update the ChangeLog to include config/arm/cortex-a53.md
and config/arm/exynos-m1.md modifications

From-SVN: r249434
2017-06-21 05:47:24 +00:00
Julian Brown
a2074e9c4f * config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi)
(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
	* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
	reservation.
	* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
	attribute type list for neon_multiply.
	* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
	* config/arm/types.md (crypto_pmull): Add.
	* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
	attribute type list.


Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@cavium.com>

From-SVN: r249433
2017-06-21 05:36:03 +00:00
GCC Administrator
12d0fd3f85 Daily bump.
From-SVN: r249432
2017-06-21 00:16:31 +00:00
Andreas Tobler
b5e204dc76 config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to arm1176jzf-s.
2017-06-20  Andreas Tobler  <andreast@gcc.gnu.org>

    * config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to
    arm1176jzf-s.

From-SVN: r249428
2017-06-20 23:28:15 +02:00
David Malcolm
191578a577 Fix -Werror=class-memaccess failures in jit testsuite (PR jit/81144)
gcc/testsuite/ChangeLog:
	PR jit/81144
	* jit.dg/test-operator-overloading.cc (make_test_quadratic): Replace
	memset call with zero-initialization.
	* jit.dg/test-quadratic.cc (make_test_quadratic): Likewise.

From-SVN: r249427
2017-06-20 20:37:28 +00:00
Jakub Jelinek
0dc7d7cc94 ira-costs.c (find_costs_and_classes): Initialize cost_classes later to make sure not to dereference a NULL...
* ira-costs.c (find_costs_and_classes): Initialize cost_classes later
	to make sure not to dereference a NULL cost_classes_ptr pointer.

From-SVN: r249426
2017-06-20 21:43:29 +02:00
Uros Bizjak
8a259e30b1 pr80732.c: Include fma4-check.h.
* gcc.target/i386/pr80732.c: Include fma4-check.h.
	(main): Renamed to ...
	(fma4_test): ... this.

From-SVN: r249425
2017-06-20 21:04:07 +02:00
Carl Love
1259ccfcdd rs6000-c.c (altivec_overloaded_builtins): Add ALTIVEC_BUILTIN_VMULESW...
gcc/ChangeLog:

2017-06-20  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	ALTIVEC_BUILTIN_VMULESW, ALTIVEC_BUILTIN_VMULEUW,
	ALTIVEC_BUILTIN_VMULOSW, ALTIVEC_BUILTIN_VMULOUW entries.
	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin,
	builtin_function_type): Add ALTIVEC_BUILTIN_* case statements.
	* config/rs6000/altivec.md (MVULEUW, VMULESW, VMULOUW,
	VMULOSW): New enum "unspec" values.
	(vec_widen_umult_even_v4si, vec_widen_smult_even_v4si,
	vec_widen_umult_odd_v4si, vec_widen_smult_odd_v4si,
	altivec_vmuleuw, altivec_vmulesw, altivec_vmulouw,
	altivec_vmulosw): New patterns.
	* config/rs6000/rs6000-builtin.def (VMLEUW, VMULESW, VMULOUW,
	VMULOSW): Add definitions.

From-SVN: r249424
2017-06-20 18:27:48 +00:00
Julia Koval
b6837e0460 Fix rounding pattern similar to PR73350.
gcc/
	* config/i386/i386.c: Fix rounding expand for new pattern.
	* config/i386/subst.md: Fix pattern (parallel -> unspec).
gcc/testsuite/
	* gcc.target/i386/pr73350-2.c: New test.

From-SVN: r249423
2017-06-20 18:20:51 +00:00
Thomas Preud'homme
afc474f8ca Support multi-tool sum files in dg-cmp-results.sh
2017-06-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    contrib/
    * dg-cmp-results.sh: Keep test result lines rather than throwing
    header and summary to support sum files with multiple tools.

From-SVN: r249422
2017-06-20 16:52:53 +00:00
Jason Merrill
d276da0cf5 PR c++/80972 - C++17 ICE with attribute packed.
* call.c (build_over_call): Allow a TARGET_EXPR from reference
	binding.

From-SVN: r249420
2017-06-20 12:47:17 -04:00
Nathan Sidwell
1e5d210275 cp-tree.h (CPTI_NELTS_IDENTIFIER): Delete.
* cp-tree.h (CPTI_NELTS_IDENTIFIER): Delete.
	(nelts_identifier): Delete.
	* decl.c (initialize_predefined_identifiers): Remove nelts.

From-SVN: r249419
2017-06-20 16:27:55 +00:00
Uros Bizjak
3263979465 baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r249418
2017-06-20 17:50:57 +02:00
James Greenhalgh
78295effad [Patch AArch64] Add rcpc extension
gcc/

	* config/aarch64/aarch64-option-extensions.def (rcpc): New.
	* config/aarch64/aarch64.h (AARCH64_FL_RCPC): New.

From-SVN: r249414
2017-06-20 14:49:13 +00:00
James Greenhalgh
849ef9cac7 [Patch AArch64 obvious] Fix expected string for fp16 extensions
gcc/

	* config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
	feature string.

From-SVN: r249411
2017-06-20 13:36:46 +00:00
James Greenhalgh
27b9e8dc84 [Patch AArch64 obvious] Rearrange the processors in aarch64-cores.def
gcc/

	* config/aarch64/aarch64-cores.def: Rearrange to sort by
	architecture, then by implementer ID.
	* config/aarch64/aarch64-tune.md: Regenerate.

From-SVN: r249410
2017-06-20 13:31:38 +00:00
Rainer Orth
67ea3f4e0f Always check for target i?86 and x86_64
libstdc++-v3:
	* testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and
	lp64 targets.

	gcc/testsuite:
	* c-c++-common/fold-masked-cmp-1.c: Allow for i?86-*-* target.
	* c-c++-common/fold-masked-cmp-2.c: Likewise.
	* c-c++-common/fold-masked-cmp-3.c: Likewise.
	* g++.dg/cpp0x/alignas4.C: Allow for i?86-*-* target, don't
	restrict to x86_64-*-*-gnu.
	Skip scan-assembler on *-*-darwin*.
	* g++.dg/vect/pr70944.cc: Allow for i?86-*-* target.
	* gcc.dg/loop-invariant.c: Likewise.
	* gcc.dg/lto/pr70955_0.c: Likewise.
	* gcc.dg/tree-ssa/pr69196-1.c: Likewise.
	* gcc.dg/tree-ssa/pr79803.c: Likewise.
	* gfortran.dg/pr68078.f90: Allow for i?86-*-linux*.

	* g++.dg/debug/dwarf2/const2b.C: Allow for x86_64-*-* target.
	* gcc.dg/attr-ms_struct-1.c: Allow for all i?86-*-*, x86_64-*-*
	targets.
	* gcc.dg/attr-ms_struct-2.c: Likewise.
	* gcc.dg/attr-ms_struct-packed1.c: Likewise.
	* gcc.dg/bf-ms-layout.c: Likewise.
	* gcc.dg/bf-ms-layout-2.c: Likewise.
	* gcc.dg/pic-macro-define.c: Remove target restrictions.
	Require fpic support.
	* gcc.target/i386/bitfield1.c: Allow for all i?86-*-*, x86_64-*-*
	targets.
	* gcc.target/i386/bitfield2.c: Likewise.
	* gcc.target/i386/darwin-fpmath.c: Allow for x86_64-*-darwin*
	targets.
	* gfortran.dg/fmt_pf.f90: Remove i?86-*-solaris2.9* from xfail.

From-SVN: r249409
2017-06-20 13:01:32 +00:00
Nathan Sidwell
71bbbd133f PR c++/67074 - namespace aliases
PR c++/67074 - namespace aliases
	* decl.c (duplicate_decls): Don't error here on mismatched
	namespace alias.
	* name-lookup.c (name_lookup::add_value): Matching namespaces are
	not ambiguous.
	(diagnose_name_conflict): Namespaces are never redeclarations.
	(update_binding): An alias can match a real namespace.

	PR c++/67074
	* g++.dg/lookup/pr67074.C: New.
	* g++.dg/parse/namespace-alias-1.C: Adjust.

From-SVN: r249408
2017-06-20 12:53:11 +00:00
Richard Biener
531f0b3879 re PR sanitizer/81097 (UBSAN: false positive for not existing negation operator and a bogus message)
2017-06-20  Richard Biener  <rguenther@suse.de>

	PR middle-end/81097
	* fold-const.c (split_tree): Fold to type before negating.

	* c-c++-common/ubsan/pr81097.c: New testcase.

From-SVN: r249407
2017-06-20 12:46:46 +00:00
David Malcolm
c7a980b80b Prevent fix-it hints from affecting more than one line
Attempts to apply a removal or replacement fix-it hint to a source
range that covers multiple lines currently lead to nonsensical
results from the printing code in diagnostic-show-locus.c.

We were already filtering them out in edit-context.c (leading
to -fdiagnostics-generate-patch not generating any output for
the whole TU).

Reject attempts to add such fix-it hints within rich_location,
fixing the diagnostic-show-locus.c issue.

gcc/ChangeLog:
	* diagnostic-show-locus.c
	(selftest::test_fixit_deletion_affecting_newline): New function.
	(selftest::diagnostic_show_locus_c_tests): Call it.

libcpp/ChangeLog:
	* include/line-map.h (class rich_location): Document that attempts
	to delete or replace a range *affecting* multiple lines will fail.
	* line-map.c (rich_location::maybe_add_fixit): Implement this
	restriction.

From-SVN: r249403
2017-06-20 10:40:38 +00:00
Andreas Schwab
ad2f2a35d3 re PR target/80970 (internal compiler error in find_reloads, at reload.c:4077)
PR target/80970
* config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
instead of "+d".

From-SVN: r249401
2017-06-20 10:15:47 +00:00
Richard Biener
d47d743898 pr65947-9.c: Adjust.
2017-06-20  Richard Biener  <rguenther@suse.de>

	* gcc.dg/vect/pr65947-9.c: Adjust.

From-SVN: r249400
2017-06-20 09:53:29 +00:00