gcc.git
7 years agographite-isl-ast-to-gimple.c (set_codegen_error): With -fchecking and --param graphit...
Richard Biener [Mon, 2 Oct 2017 10:04:00 +0000 (10:04 +0000)]
graphite-isl-ast-to-gimple.c (set_codegen_error): With -fchecking and --param graphite-allow-codegen-errors=0 ICE.

2017-10-02  Richard Biener  <rguenther@suse.de>

* graphite-isl-ast-to-gimple.c (set_codegen_error): With
-fchecking and --param graphite-allow-codegen-errors=0 ICE.
* params.def (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): New param.

* gcc.dg/graphite/graphite.exp: Add -fdump-tree-graphite-details.
* gcc.dg/graphite/id-15.c: Adjust for existing codegen errors.
* gcc.dg/graphite/id-16.c: Likewise.
* gcc.dg/graphite/pr46168.c: Likewise.
* gcc.dg/graphite/pr68756.c: Likewise.
* gcc.dg/graphite/pr69728.c: Likewise.
* gcc.dg/graphite/pr71575-2.c: Likewise.
* gcc.dg/graphite/pr77362.c: Likewise.
* gcc.dg/graphite/pr81373.c: Likewise.
* gcc.dg/graphite/run-id-pr67700-1.c: Likewise.
* gfortran.dg/graphite/interchange-1.f: Likewise.
* gfortran.dg/graphite/pr29581.f90: Likewise.
* gfortran.dg/graphite/pr42334-1.f: Likewise.
* gfortran.dg/graphite/pr42393-1.f90: Likewise.
* gfortran.dg/graphite/pr42393.f90: Likewise.
* gfortran.dg/graphite/pr47019.f: Likewise.

From-SVN: r253342

7 years agoFix mismatched precisions in tree arithmetic
Richard Sandiford [Mon, 2 Oct 2017 09:45:40 +0000 (09:45 +0000)]
Fix mismatched precisions in tree arithmetic

The tree wi:: decompose routine wasn't asserting that the requested
precision matched the tree's precision.  This could make a difference
for unsigned trees that are exactly N HWIs wide and that have the upper
bit set, since we then need an extra zero HWI when extending it to wider
precisions (as for wi::to_widest).

This patch adds the assert and fixes the fallout shown by the testsuite.
Go seems to be unaffected.

2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
* tree.h (wi::int_traits <const_tree>::decompose): Assert that the
requested precision matches the type's.
* calls.c (alloc_max_size): Calculate the new candidate size as
a widest_int and use wi::to_widest when comparing it with the
current candidate size.
* gimple-ssa-warn-alloca.c (pass_walloca::execute): Compare with
zero rather than integer_zero_node.
* match.pd: Check for a no-op conversion before using wi::add
rather than after.  Use tree_to_uhwi when summing small shift
counts into an unsigned int.

gcc/c-family/
* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
when combining the original unconverted comparison operands.

gcc/cp/
* constexpr.c (cxx_eval_store_expression): Use wi::to_widest
when comparing the array bounds with an ARRAY_REF index.

gcc/ada/
* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
handling the form (plus/mult (convert @0) @1).

From-SVN: r253341

7 years agore PR c++/69977 (internal compiler error: Segmentation fault when using generic lambdas)
Paolo Carlini [Mon, 2 Oct 2017 09:41:36 +0000 (09:41 +0000)]
re PR c++/69977 (internal compiler error: Segmentation fault when using generic lambdas)

2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/69977
* g++.dg/cpp1y/lambda-generic-69977.C: New.

From-SVN: r253340

7 years agore PR c++/59991 (Recursive lambda capture in C++1y constexpr function template causes...
Paolo Carlini [Mon, 2 Oct 2017 09:03:32 +0000 (09:03 +0000)]
re PR c++/59991 (Recursive lambda capture in C++1y constexpr function template causes internal compiler error)

2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59991
* g++.dg/cpp0x/lambda/lambda-ice23.C: New.

From-SVN: r253339

7 years agoRequire nonlocal_goto for gcc.c-torture/compile/pr82337.c
Tom de Vries [Mon, 2 Oct 2017 09:02:05 +0000 (09:02 +0000)]
Require nonlocal_goto for gcc.c-torture/compile/pr82337.c

2017-10-02  Tom de Vries  <tom@codesourcery.com>

* gcc.c-torture/compile/pr82337.c: Add
dg-require-effective-target nonlocal_goto.

From-SVN: r253338

7 years ago[AArch64] PR71307: Define union class of POINTER+FP
Richard Sandiford [Mon, 2 Oct 2017 08:11:07 +0000 (08:11 +0000)]
[AArch64] PR71307: Define union class of POINTER+FP

ALL_REGS doesn't function as a union class of POINTER_REGS and FP_REGS
since it includes the CC register as well.  REGNO_REG_CLASS (CC_REGNUM)
is NO_REGS, but of course NO_REGS rightly doesn't include CC_REGNUM.

Adding a union class for POINTER+FP allows the RA to use it as the
preferred or alternative class of a pseudo.  It also works as a
union class of GENERAL+FP for modes that aren't allowed in SP.

This is also needed for the SVE port, which adds predicate registers
to the mix.

2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
PR target/71307
* config/aarch64/aarch64.h (POINTER_AND_FP_REGS): New reg class.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
* config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle
POINTER_AND_FP_REGS.

gcc/testsuite/
PR target/71307
* gcc.target/aarch64/vect_copy_lane_1.c: Remove XFAIL.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r253337

7 years agore PR tree-optimization/82355 (ICE in outermost_loop_in_sese, at sese.c:301)
Richard Biener [Mon, 2 Oct 2017 07:32:52 +0000 (07:32 +0000)]
re PR tree-optimization/82355 (ICE in outermost_loop_in_sese, at sese.c:301)

2017-10-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/82355
* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
a mapping for the enclosing loop but avoid generating one for
the loop tree root.
(copy_bb_and_scalar_dependences): Remove premature codegen
error on PHIs in blocks duplicated into multiple places.
* graphite-scop-detection.c
(scop_detection::stmt_has_simple_data_refs_p): For a loop not
in the region use it as loop and nest to analyze the DR in.
(try_generate_gimple_bb): Likewise.
* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
(add_loop_constraints): For blocks in a loop not in the region
create a dimension with a single iteration.
* sese.h (gbb_loop_at_index): Remove assert.

* gcc.dg/graphite/fuse-1.c: Adjust.
* gcc.dg/graphite/fuse-2.c: Likewise.
* gcc.dg/graphite/pr82355.c: New testcase.

From-SVN: r253336

7 years agoomp-expand.c (adjust_context_scope): New function.
Kevin Buettner [Mon, 2 Oct 2017 00:27:21 +0000 (00:27 +0000)]
omp-expand.c (adjust_context_scope): New function.

* omp-expand.c (adjust_context_scope): New function.
(expand_parallel_call): Call adjust_context_scope.

From-SVN: r253335

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

From-SVN: r253334

7 years agoMAINTAINERS: Add a note that maintainership also includes web pages...
Gerald Pfeifer [Sun, 1 Oct 2017 18:36:37 +0000 (18:36 +0000)]
MAINTAINERS: Add a note that maintainership also includes web pages...

* MAINTAINERS: Add a note that maintainership also includes web
pages, docs, and testsuite related to that area.

From-SVN: r253330

7 years agotree-ssa-dom.c (optimize_stmt): Make this a method within the dom_opt_dom_walker...
Jeff Law [Sun, 1 Oct 2017 15:22:39 +0000 (09:22 -0600)]
tree-ssa-dom.c (optimize_stmt): Make this a method within the dom_opt_dom_walker class with direct access to...

* tree-ssa-dom.c (optimize_stmt): Make this a method within the
dom_opt_dom_walker class with direct access to private members.
Add comments.  Call test_for_singularity.
(dom_opt_dom_walker::before_dom_children): Corresponding changes.
(dom_opt_dom_walker::after_dom_children): Do not lazily initialize
m_dummy_cond anymore.
(class dom_opt_dom_walker): Initialize m_dummy_cond member in the
class ctor.
(pass_dominator:execute): Build the dummy_cond here and pass it
to the dom_opt_dom_walker ctor.
(test_for_singularity): New function.

* gcc.dg/tree-ssa/ssa-dom-simplify-1.c: New test.

2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

From-SVN: r253329

7 years agore PR fortran/61450 (ICE in gfc_global_used())
Dominique d'Humieres [Sun, 1 Oct 2017 09:49:48 +0000 (11:49 +0200)]
re PR fortran/61450 (ICE in gfc_global_used())

2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/61450
* parse.c (gfc_global_used): Replace the gfc_internal_error
with an error.

2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/61450
* gfortran.dg/binding_label_tests_28.f90: New test.

From-SVN: r253328

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

From-SVN: r253327

7 years agoconfig.gcc (*-*-netbsd*): New variable nbsd_tm_file containing netbsd.h, netbsd-stdin...
Krister Walfridsson [Sat, 30 Sep 2017 20:45:59 +0000 (20:45 +0000)]
config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing netbsd.h, netbsd-stdint.h, and netbsd-elf.h.

2017-09-30  Krister Walfridsson  <krister.walfridsson@gmail.com>
    Maya Rashish  <coypu@sdf.org>

* config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing
netbsd.h, netbsd-stdint.h, and netbsd-elf.h.
(alpha*-*-netbsd*) Use nbsd_tm_file.
(arm*-*-netbsdelf*) Likewise.
(i[34567]86-*-netbsdelf*) Likewise.
(x86_64-*-netbsd*) Likewise.
(mips*-*-netbsd*) Likewise.
(powerpc-*-netbsd*) Likewise.
(sh*-*-netbsd*) Likewise.
(sparc-*-netbsdelf*) Likewise.
(sparc64-*-netbsd*) Likewise.
(m68k*-*-netbsdelf*) Use nbsd_tm_file and add CHAR_FAST8/SHORT_FAST16
to tm_defines.
(vax-*-netbsdelf*) Likewise.
* config/netbsd-stdint.h (INT_FAST8_TYPE): Check CHAR_FAST8.
(UINT_FAST8_TYPE) Likewise.
(INT_FAST16_TYPE) Check CHAR_FAST16.
(UINT_FAST16_TYPE) Likewise.

Co-Authored-By: Maya Rashish <coypu@sdf.org>
From-SVN: r253323

7 years agore PR c++/65949 (Compiler can not deduce auto type in lambda)
Paolo Carlini [Sat, 30 Sep 2017 20:42:05 +0000 (20:42 +0000)]
re PR c++/65949 (Compiler can not deduce auto type in lambda)

2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/65949
* g++.dg/cpp1y/lambda-generic-variadic5.C: New.

From-SVN: r253322

7 years agore PR c++/68754 (Explicitly defaulted constexpr assignment operator fails to compile)
Paolo Carlini [Sat, 30 Sep 2017 17:00:32 +0000 (17:00 +0000)]
re PR c++/68754 (Explicitly defaulted constexpr assignment operator fails to compile)

/cp
2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/68754
* method.c (defaulted_late_check): Early return if the defaulted
declaration does not match the expected signature.

/testsuite
2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/68754
* g++.dg/cpp1y/constexpr-68754.C: Move...
* g++.dg/cpp0x/constexpr-68754.C: ... here, adjust.

From-SVN: r253321

7 years agore PR target/82361 (Useless "mov eax, eax" in generated code)
Jakub Jelinek [Sat, 30 Sep 2017 08:10:15 +0000 (10:10 +0200)]
re PR target/82361 (Useless "mov eax, eax" in generated code)

PR target/82361
* config/i386/i386.md
(TARGET_USE_8BIT_IDIV zext divmodsi4 splitter): New define_split.
(divmodsi4_zext_1, divmodsi4_zext_2, *divmodsi4_zext_1,
*divmodsi4_zext_2): New define_insn_and_split.
(*divmodsi4_noext_zext_1, *divmodsi4_noext_zext_2): New define_insn.
(TARGET_USE_8BIT_IDIV zext udivmodsi4 splitter): New define_split.
(udivmodsi4_zext_1, udivmodsi4_zext_2, *udivmodsi4_zext_1,
*udivmodsi4_zext_2, *udivmodsi4_pow2_zext_1, *udivmodsi4_pow2_zext_2):
New define_insn_and_split.
(*udivmodsi4_noext_zext_1, *udivmodsi4_noext_zext_2): New define_insn.
* config/i386/i386.c (ix86_split_idivmod): Handle operands[0] or
operands[1] having DImode when mode is SImode.

* gcc.target/i386/pr82361-1.c: New test.
* gcc.target/i386/pr82361-2.c: New test.

From-SVN: r253317

7 years agoi386.c (ix86_split_idivmod): Use mode instead of always SImode for DIV and MOD in...
Jakub Jelinek [Sat, 30 Sep 2017 07:59:27 +0000 (09:59 +0200)]
i386.c (ix86_split_idivmod): Use mode instead of always SImode for DIV and MOD in REG_EQUAL notes.

* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
always SImode for DIV and MOD in REG_EQUAL notes.

From-SVN: r253316

7 years agoDaily bump.
GCC Administrator [Sat, 30 Sep 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r253315

7 years agoOrder some filenames in a changelog entry.
Segher Boessenkool [Fri, 29 Sep 2017 22:49:24 +0000 (00:49 +0200)]
Order some filenames in a changelog entry.

From-SVN: r253311

7 years agoc-attribs.c (handle_noipa_attribute): Don't add "stack_protect" attribute.
Jakub Jelinek [Fri, 29 Sep 2017 21:06:28 +0000 (23:06 +0200)]
c-attribs.c (handle_noipa_attribute): Don't add "stack_protect" attribute.

* c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
attribute.

From-SVN: r253308

7 years agore PR middle-end/82319 (ICE in generic_simplify_148, at generic-match.c:6436)
Yury Gribov [Fri, 29 Sep 2017 19:40:16 +0000 (19:40 +0000)]
re PR middle-end/82319 (ICE in generic_simplify_148, at generic-match.c:6436)

2017-09-29  Yury Gribov  <tetra2005@gmail.com>

PR middle-end/82319
gcc/
* match.pd: Fix handling of NaNs in pattern.

gcc/testsuite/
* c-c++/common/pr57371-4.c: Test NaN comparisons.

From-SVN: r253307

7 years agoc-ada-spec.c (to_ada_name): Add index parameter.
Eric Botcazou [Fri, 29 Sep 2017 18:51:00 +0000 (18:51 +0000)]
c-ada-spec.c (to_ada_name): Add index parameter.

* c-ada-spec.c (to_ada_name): Add index parameter.
(pp_ada_tree_identifier): Likewise.
(dump_ada_macros): Adjust call to to_ada_name.
(struct overloaded_name_hash): New type.
(struct overloaded_name_hasher): Likewise.
(overloaded_names): New hash table.
(compute_overloading_index): New function.
(dump_ada_decl_name): Call it and pass the result to
pp_ada_tree_identifier.
(dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
(dump_ada_function_declaration): Likewise.
(dump_generic_ada_node): Likewise.
(print_constructor): Likewise.
(print_destructor): Likewise.
(dump_ada_specs): Delete overloaded_names table.

From-SVN: r253306

7 years agosbitmap.c (bitmap_bit_in_range_p): New function.
Jeff Law [Fri, 29 Sep 2017 18:20:41 +0000 (12:20 -0600)]
sbitmap.c (bitmap_bit_in_range_p): New function.

* sbitmap.c (bitmap_bit_in_range_p): New function.
* sbitmap.h (bitmap_bit_in_range_p): Prototype.
* tree-ssa-dse.c (live_bytes_read): New function.
(dse_classify_store): Ignore reads of dead bytes.

* testsuite/gcc.dg/tree-ssa/ssa-dse-26.c: New test.

From-SVN: r253305

7 years agoc-ada-spec.c (max_ada_macros): Move around.
Eric Botcazou [Fri, 29 Sep 2017 18:17:47 +0000 (18:17 +0000)]
c-ada-spec.c (max_ada_macros): Move around.

* c-ada-spec.c (max_ada_macros): Move around.
(store_ada_macro_index): Likewise.
(source_file): Rename into...
(macro_source_file): ...this.
(count_ada_macro): Move around.
(store_ada_macro): Likewise.
(compare_macro): Likewise.
(print_ada_macros): Merge in...
(dump_ada_macros): ...this.
(source_file_base): Rename into...
(current_source_file): ...this.
(print_comment): Move around.
(dump_ada_nodes): Call dump_ada_declaration directly.
(struct with): Change type of limited field to bool.
(append_withs): Change type of limited_access parameter to bool.
(pp_ada_tree_identifie): Likewise.
(dump_ada_decl_nam): Likewise.
(dump_generic_ada_node): Likewise.  Do not print the return type.
(to_ada_name): Change type of space_found parameter to bool.
(dump_ada_function_declaration): Return void and change type of
parameters to bool.  Also print the return type for a function.
(print_ada_methods): Rename into...
(dump_ada_methods): ...this.
(print_ada_declaration): Rename into ...
(dump_ada_declaration): ...this.  Do not print the return type.
(print_ada_struct_decl): Rename into...
(dump_ada_struct_decl): ...this.

From-SVN: r253304

7 years agoi386.c (ix86_adjust_stack_and_probe_stack_clash): Fix typos and whitespace errors.
Jeff Law [Fri, 29 Sep 2017 18:11:40 +0000 (12:11 -0600)]
i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix typos and whitespace errors.

* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix
typos and whitespace errors.
* config/i386/predicates.md (address_no_seg_operand): Likewise.
* config/s390/s390.c (s390_emit_prologue): Likewise.

From-SVN: r253303

7 years agoP0683R1 - default member initializers for bit-fields
Jakub Jelinek [Fri, 29 Sep 2017 17:53:50 +0000 (19:53 +0200)]
P0683R1 - default member initializers for bit-fields

P0683R1 - default member initializers for bit-fields
cp/
* cp-tree.h (grokbitfield): Add INIT parameter.
* parser.c (cp_parser_constant_expression): Add STRICT_P argument,
if true, parse a conditional-expression rather than
assignment-expression.
(cp_parser_member_declaration): For C++11 and later pass true
as STRICT_P to cp_parser_constant_expression.  Parse C++2A bitfield
NSDMIs.  Adjust grokbitfield caller.  Handle DECL_INITIAL also for
DECL_C_BIT_FIELDs.
(cp_parser_objc_class_ivars): Adjust grokbitfield caller.
* class.c (check_field_decl): Recurse even for DECL_C_BIT_FIELDs.
(check_field_decls): Call check_field_decl even for DECL_C_BIT_FIELDs.
* decl2.c (grokbitfield): Add INIT parameter, pass it to
cp_finish_decl.
* pt.c (tsubst_decl): Handle DECL_INITIAL for all FIELD_DECLs, not
just non-bitfields.
testsuite/
* g++.dg/ext/bitfield6.C: New test.
* g++.dg/cpp2a/bitfield1.C: New test.
* g++.dg/cpp2a/bitfield2.C: New test.
* g++.dg/cpp2a/bitfield3.C: New test.

From-SVN: r253302

7 years agoc-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD rather than DECL_INITIAL.
Jakub Jelinek [Fri, 29 Sep 2017 17:45:32 +0000 (19:45 +0200)]
c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD rather than DECL_INITIAL.

c-family/
* c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
rather than DECL_INITIAL.
(common_handle_aligned_attribute): Likewise.
c/
* c-decl.c (grokfield): Use SET_DECL_C_BIT_FIELD here if
width is non-NULL.
(finish_struct): Test DECL_C_BIT_FIELD instead of DECL_INITIAL,
don't SET_DECL_C_BIT_FIELD here.
cp/
* class.c (check_bitfield_decl): Retrieve and clear width from
DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL.
(check_field_decls): Test DECL_BIT_FIELD_REPRESENTATIVE rather than
DECL_INITIAL.
(remove_zero_width_bit_fields): Adjust comment.
* decl2.c (grokbitfield): Stash width into
DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL.
* pt.c (tsubst_decl): For DECL_C_BIT_FIELD, tsubst_expr
DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL for width.
objc/
* objc-act.c (check_ivars, gen_declaration): For OBJCPLUS look at
DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL.

From-SVN: r253301

7 years agore PR target/81481 (Spills %xmm to stack in glibc strspn SSE 4.2 variant)
Vladimir Makarov [Fri, 29 Sep 2017 17:39:58 +0000 (17:39 +0000)]
re PR target/81481 (Spills %xmm to stack in glibc strspn SSE 4.2 variant)

2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/81481
* ira-costs.c (scan_one_insn): Don't take into account PIC equiv
with a symbol for LRA.

2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/81481
* gcc.target/i386/pr81481.c: New.

From-SVN: r253300

7 years agore PR rtl-optimization/82338 (valgrind error in inherit_in_ebb)
Vladimir Makarov [Fri, 29 Sep 2017 17:15:24 +0000 (17:15 +0000)]
re PR rtl-optimization/82338 (valgrind error in inherit_in_ebb)

2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/82338
* lra-constraints.c (inherit_in_ebb): Check usage_insns check.

From-SVN: r253299

7 years ago[BRIGFE] Fix crash with calls with more than 4 args.
Henry Linjamäki [Fri, 29 Sep 2017 16:57:18 +0000 (16:57 +0000)]
[BRIGFE] Fix crash with calls with more than 4 args.

Also fix a misexecution issue with kernels that have
both unexpanded ID functions and calls to subfunctions.

From-SVN: r253298

7 years agoxcoff.c: Initial support for DWARF debug sections in XCOFF.
Tony Reix [Fri, 29 Sep 2017 16:37:39 +0000 (16:37 +0000)]
xcoff.c: Initial support for DWARF debug sections in XCOFF.

* xcoff.c: Initial support for DWARF debug sections in XCOFF.
(STYP_DWARF, SSUBTYP_DW*): Define.
(enum dwarf_section): Define.
(struct dwsect_info): Define.
(xcoff_add): Look for DWARF sections, pass them to
backtrace_dwarf_add.

From-SVN: r253297

7 years agoswaps-p8-30.c: Exchange the order of dg-do and dg-require-effective-target directives...
Kelvin Nilsen [Fri, 29 Sep 2017 16:07:55 +0000 (16:07 +0000)]
swaps-p8-30.c: Exchange the order of dg-do and dg-require-effective-target directives to...

gcc/testsuite/ChangeLog:

2017-09-29  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/swaps-p8-30.c: Exchange the order of dg-do
and dg-require-effective-target directives to correct testing
behavior.
* gcc.target/powerpc/swaps-p8-32.c: Likewise.
* gcc.target/powerpc/swaps-p8-41.c: Likewise.
* gcc.target/powerpc/swaps-p8-34.c: Likewise.
* gcc.target/powerpc/swaps-p8-43.c: Likewise.
* gcc.target/powerpc/swaps-p8-36.c: Likewise.
* gcc.target/powerpc/swaps-p8-45.c: Likewise.
* gcc.target/powerpc/swaps-p8-29.c: Likewise.
* gcc.target/powerpc/swaps-p8-38.c: Likewise.
* gcc.target/powerpc/swaps-p8-31.c: Likewise.
* gcc.target/powerpc/swaps-p8-40.c: Likewise.
* gcc.target/powerpc/swaps-p8-33.c: Likewise.
* gcc.target/powerpc/swaps-p8-42.c: Likewise.
* gcc.target/powerpc/swaps-p8-35.c: Likewise.
* gcc.target/powerpc/swaps-p8-44.c: Likewise.
* gcc.target/powerpc/swaps-p8-28.c: Likewise.
* gcc.target/powerpc/swaps-p8-37.c: Likewise.
* gcc.target/powerpc/swaps-p8-39.c: Likewise.

From-SVN: r253296

7 years agoqsort comparator consistency checking
Alexander Monakov [Fri, 29 Sep 2017 16:00:15 +0000 (19:00 +0300)]
qsort comparator consistency checking

* genmodes.c (calc_wider_mode): Suppress qsort macro.
* system.h [CHECKING_P] (qsort): Redirect to qsort_chk.
(qsort_chk): Declare.
* vec.c [CHECKING_P] (qsort_chk_error): New static function.
(qsort_chk): New function.

From-SVN: r253295

7 years ago[multiple changes]
Pierre-Marie de Rodat [Fri, 29 Sep 2017 15:33:23 +0000 (15:33 +0000)]
[multiple changes]

2017-09-29  Bob Duff  <duff@adacore.com>

* exp_ch6.adb (Expand_Call_Helper): Replace with code more similar to
what we had before.
(Make_Build_In_Place_Call_In_Object_Declaration): Back out previous
change. Set the Etype in the class-wide case. This fixes a regression
in the libadalang test suite.

2017-09-29  Joel Brobecker  <brobecker@adacore.com>

* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/the_gnat_compilation_model.rst: Avoid use of single colon
in comment markup.
* gnat_ugn.texi: Regenerate.

2017-09-29  Justin Squirek  <squirek@adacore.com>

* ali-util.adb, comperr.adb, cprint.adb, errout.adb, fmap.adb,
fname-sf.adb, frontend.adb, lib-xref-spark_specific.adb, gnat1drv.adb,
gnatls.adb, lib.adb, lib-load.adb, lib-writ.adb, prepcomp.adb,
sinput-d.adb, sinput-l.adb, sprint.adb, targparm.adb: Update comparison
for checking source file status and error message and/or call to
Read_Source_File.
* libgnat/s-os_lib.ads: Add new potential value constant for
uninitialized file descriptors.
* osint.adb, osint.ads (Read_Source_File): Add extra parameter to
return result of IO to encompass a read access failure in addition to a
file-not-found error.

From-SVN: r253294

7 years agore PR tree-optimization/82337 (ICE: SSA corruption at tree-ssa-coalesce.c:1010)
Bill Schmidt [Fri, 29 Sep 2017 14:55:14 +0000 (14:55 +0000)]
re PR tree-optimization/82337 (ICE: SSA corruption at tree-ssa-coalesce.c:1010)

[gcc]

2017-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/82337
* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
phi definition if the PHI result appears in an abnormal PHI.
(find_basis_for_base_expr): Don't record a basis if the LHS of the
basis appears in an abnormal PHI.

[gcc]

2017-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/82337
* gcc.c-torture/compile/pr82337.c: New file.

From-SVN: r253293

7 years agodebug/elf: support 32-bit SPARC relocs
Ian Lance Taylor [Fri, 29 Sep 2017 14:35:58 +0000 (14:35 +0000)]
debug/elf: support 32-bit SPARC relocs

    Patch by Rainer Orth.

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

From-SVN: r253292

7 years agomksysinfo: strip locale structs
Ian Lance Taylor [Fri, 29 Sep 2017 14:14:40 +0000 (14:14 +0000)]
mksysinfo: strip locale structs

    We don't need them, and this fixes the build when using uClibc-ng
    1.0.26 as originally reported at
    https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01930.html

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

From-SVN: r253291

7 years agoexp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place functions returning...
Bob Duff [Fri, 29 Sep 2017 13:48:57 +0000 (13:48 +0000)]
exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place functions returning nonlimited types.

2017-09-29  Bob Duff  <duff@adacore.com>

* exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place
functions returning nonlimited types. Allow for qualified expressions
and type conversions.
(Expand_N_Extended_Return_Statement): Correct the computation of
Func_Bod to allow for child units.
(Expand_Simple_Function_Return): Remove assumption that b-i-p implies
limited (initialization of In_Place_Expansion), and implies >= Ada
2005.
(Is_Build_In_Place_Result_Type): New function to accompany
Is_Build_In_Place_Function and Is_Build_In_Place_Function_Call, because
sometimes we just have the type on our hands, not the function.  For
now, does the same thing as the old version, so build-in-place is
disabled for nonlimited types, except that you can use -gnatd.9 to
enable it.
* exp_ch6.ads (Is_Build_In_Place_Result_Type): New function to
accompany Is_Build_In_Place_Function and
Is_Build_In_Place_Function_Call, because sometimes we just have the
type on our hands, not the function.
(Make_Build_In_Place_Call_In_...): Handle nonlimited build-in-place
cases.
(Make_Build_In_Place_Call_In_Object_Declaration): Remove the
questionable code at the end that was setting the Etype.
* exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): New function to
determine whether "return (...agg...);" is returning from a
build-in-place function.
(Initialize_Ctrl_Array_Component, Initialize_Ctrl_Record_Component):
Remove assumption that b-i-p implies limited (initialization of
In_Place_Expansion).
(Build_Record_Aggr_Code): AI-287: fix comment; it can't be wrapped in
an unchecked conversion.  Add assertions.
(Convert_Aggr_In_Object_Decl): Establish_Transient_Scope -- no need for
secondary stack here, just because the type needs finalization.  That
code is obsolete.
(Convert_To_Assignments): Only set Unc_Decl if Nkind (N) = N_Aggregate.
For "return (...agg...);" don't assume b-i-p implies limited.
Needs_Finalization does not imply secondary stack.
(Expand_Array_Aggregate): Named notation.  Reverse the sense of
Component_OK_For_Backend -- more readability with fewer double
negatives.
* exp_attr.adb (Expand_N_Attribute_Reference): Remove assumptions that
b-i-p implies >= Ada 2005.
* exp_ch3.adb (Expand_N_Object_Declaration): Remove assumptions that
b-i-p implies >= Ada 2005.  Remove Adjust if we're building the return
object of an extended return statement in place.
* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Indexed_Component,
Expand_N_Selected_Component, Expand_N_Slice): Remove assumptions that
b-i-p implies >= Ada 2005.
* exp_ch5.adb (Expand_N_Assignment_Statement): Remove assumption that
b-i-p implies >= Ada 2005.
* exp_ch7.adb: Comment fix.
* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Remove
assumptions that b-i-p implies >= Ada 2005.
* exp_disp.adb (Expand_Interface_Actuals): Remove assumptions that
b-i-p implies >= Ada 2005.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Look at Storage_Pool
(Expr), in case Pool_Id is not set.
(Initialized_By_Aliased_BIP_Func_Call): Handle case where the call is
qualified or converted.
(Is_Secondary_Stack_BIP_Func_Call): Don't check if Nkind (Selector_Name
(Param)) = N_Identifier; that's all it could be.
* sinfo.ads: Comment fixes.
* snames.ads-tmpl: Comment fixes.
* debug.adb: Add flag gnatd.9, to enable the build-in-place machinery.

From-SVN: r253290

7 years agoAdd missing ChangeLog entries for previous commit
Javier Miranda [Fri, 29 Sep 2017 13:26:55 +0000 (13:26 +0000)]
Add missing ChangeLog entries for previous commit

From-SVN: r253289

7 years ago[multiple changes]
Pierre-Marie de Rodat [Fri, 29 Sep 2017 13:22:45 +0000 (13:22 +0000)]
[multiple changes]

2017-09-29  Justin Squirek  <squirek@adacore.com>

* sem_ch8.adb (Analyze_Use_Package): Add sanity check to avoid
circularities in the use-clause chain.

2017-09-29  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Replace_Components): Update references to discriminants
located in variant parts inherited from the parent type.

2017-09-29  Javier Miranda  <miranda@adacore.com>

* exp_ch5.adb (Expand_Assign_Record): Do not generate code to copy
discriminants if the target is an Unchecked_Union record type.

2017-09-29  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate): Reject the use of an
iterated component association in an aggregate for a record type.

2017-09-29  Piotr Trojanek  <trojanek@adacore.com>

* make.adb: Minor whitespace fixes.
* libgnat/s-resfil.ads: Minor reformatting.

From-SVN: r253288

7 years agore PR fortran/25071 (dummy argument larger than actual argument)
Dominique d'Humieres [Fri, 29 Sep 2017 13:19:21 +0000 (15:19 +0200)]
re PR fortran/25071 (dummy argument larger than actual argument)

2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/25071
* gfortran.dg/argument_checking_3.f90: Change warnings to errors.
* gfortran.dg/argument_checking_4.f90: Likewise.
* gfortran.dg/argument_checking_5.f90: Likewise.
* gfortran.dg/argument_checking_6.f90: Likewise.
* gfortran.dg/argument_checking_10.f90: Likewise.
* gfortran.dg/argument_checking_13.f90: Likewise.
* gfortran.dg/argument_checking_15.f90: Likewise.
* gfortran.dg/argument_checking_18.f90: Likewise.
* gfortran.dg/gomp/udr8.f90: Likewise.
* gfortran.dg/warn_argument_mismatch_1.f90: Add -std=legacy to
the dg-options.

From-SVN: r253287

7 years agore PR fortran/25071 (dummy argument larger than actual argument)
Dominique d'Humieres [Fri, 29 Sep 2017 13:15:26 +0000 (15:15 +0200)]
re PR fortran/25071 (dummy argument larger than actual argument)

2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/25071
* interface.c (compare_actual_formal): Change warnings to errors
when "Actual argument contains too few elements for dummy
argument", unless -std=legacy is used.

From-SVN: r253286

7 years ago[multiple changes]
Pierre-Marie de Rodat [Fri, 29 Sep 2017 13:04:47 +0000 (13:04 +0000)]
[multiple changes]

2017-09-29  Justin Squirek  <squirek@adacore.com>

* sem_ch8.adb (Mark_Use_Clauses): Add recursive call to properly handle
all cases related to marking entity identifiers.

2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>

* adaint.c (win32_wait): Properly handle error and take into account
the WIN32 limitation on the number of simultaneous wait objects.

2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>

* cal.c: Minor proofreading.

2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>

* doc/gnat_ugn/gnat_utility_programs.rst: Minor formatting fix.
* gnat_ugn.texi: Regenerate.

2017-09-29  Bob Duff  <duff@adacore.com>

* lib-xref.ads: Comment fix.

2017-09-29  Bob Duff  <duff@adacore.com>

* exp_aggr.adb: Remove calls to Set_No_Ctrl_Actions for discriminants.
Discriminants can't need finalization.

2017-09-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Do not emit freeze nodes
for types in expression if the function is within a generic unit.
* sem_res.adb (Resolve): In a generic context do not freeze an
expression, unless it is an entity. This exception is solely for the
purpose of detecting illegal uses of deferred constants in generic
units.
* sem_res.adb: Minor reformatting.

From-SVN: r253285

7 years ago[multiple changes]
Pierre-Marie de Rodat [Fri, 29 Sep 2017 12:53:24 +0000 (12:53 +0000)]
[multiple changes]

2017-09-29  Justin Squirek  <squirek@adacore.com>

* sem_ch8.adb (Note_Redundant_Use): Add guard to protect against false
redundant warnings.

2017-09-29  Yannick Moy  <moy@adacore.com>

* sinput-c.adb: Remove unused with-clause on Ada.Unchecked_Conversion.

2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>

* doc/gnat_rm/representation_clauses_and_pragmas.rst: Minor rewording.
* doc/gnat_rm/implementation_defined_pragmas.rst (Optimize_Alignment):
Document the effect of pragma Optimize_Alignment (Space) on non-packed
record types.
* gnat_rm.texi: Regenerate.

From-SVN: r253284

7 years ago2017-09-29 Richard Biener <rguenther@suse.de>
Richard Biener [Fri, 29 Sep 2017 08:54:01 +0000 (08:54 +0000)]
2017-09-29  Richard Biener  <rguenther@suse.de>

* graphite-isl-ast-to-gimple.c
(translate_isl_ast_to_gimple::set_codegen_error): New function.
(binary_op_to_tree): Use it.
(get_rename_from_scev): Likewise.
(copy_loop_phi_nodes): Likewise.
(copy_bb_and_scalar_dependences): Likewise.
(translate_pending_phi_nodes): Likewise.

From-SVN: r253282

7 years agoparser.c (cp_parser_member_declaration): Parse attributes before colon of a bitfield...
Jakub Jelinek [Fri, 29 Sep 2017 07:49:15 +0000 (09:49 +0200)]
parser.c (cp_parser_member_declaration): Parse attributes before colon of a bitfield in addition to after colon.

cp/
* parser.c (cp_parser_member_declaration): Parse attributes before
colon of a bitfield in addition to after colon.
testsuite/
* g++.dg/ext/bitfield7.C: New test.
* g++.dg/ext/bitfield8.C: New test.
* g++.dg/ext/bitfield9.C: New test.

From-SVN: r253281

7 years agore PR c/82340 (volatile ignored in compound literal)
Jakub Jelinek [Fri, 29 Sep 2017 07:35:37 +0000 (09:35 +0200)]
re PR c/82340 (volatile ignored in compound literal)

PR c/82340
* c-decl.c (build_compound_literal): Use c_apply_type_quals_to_decl
instead of trying to set just TREE_READONLY manually.

* gcc.dg/tree-ssa/pr82340.c: New test.

From-SVN: r253280

7 years agore PR target/82339 (Inefficient movabs instruction)
Jakub Jelinek [Fri, 29 Sep 2017 07:20:09 +0000 (09:20 +0200)]
re PR target/82339 (Inefficient movabs instruction)

PR target/82339
* config/i386/i386.md (*movdi_internal peephole2): New -Os peephole
for movabsq $(i32 << shift), r64.

From-SVN: r253279

7 years ago* Make-lang.in (check-c++-all): Test also c++2a.
Jakub Jelinek [Fri, 29 Sep 2017 07:13:30 +0000 (09:13 +0200)]
* Make-lang.in (check-c++-all): Test also c++2a.

From-SVN: r253278

7 years ago* g++.dg/eh/uncaught3.C: Add -Wno-deprecated for c++17.
Jakub Jelinek [Fri, 29 Sep 2017 07:12:46 +0000 (09:12 +0200)]
* g++.dg/eh/uncaught3.C: Add -Wno-deprecated for c++17.

From-SVN: r253277

7 years agocrti-hw.S: Add watchdog vector, FT930 IRQ support.
James Bowman [Fri, 29 Sep 2017 01:01:52 +0000 (01:01 +0000)]
crti-hw.S: Add watchdog vector, FT930 IRQ support.

libgcc/
* config/ft32/crti-hw.S: Add watchdog vector, FT930
IRQ support.

From-SVN: r253276

7 years agore PR other/67165 (please enable libbacktrace to work with compressed debug sections)
Ian Lance Taylor [Fri, 29 Sep 2017 00:30:35 +0000 (00:30 +0000)]
re PR other/67165 (please enable libbacktrace to work with compressed debug sections)

PR other/67165
* elf.c (__builtin_prefetch): Define if not __GNUC__.
(unlikely): Define.
(SHF_UNCOMPRESSED, ELFCOMPRESS_ZLIB): Define.
(b_elf_chdr): Define type.
(enum debug_section): Add ZDEBUG_xxx values.
(debug_section_names): Add names for new sections.
(struct debug_section_info): Add compressed field.
(elf_zlib_failed, elf_zlib_fetch): New static functions.
(HUFFMAN_TABLE_SIZE, HUFFMAN_VALUE_MASK): Define.
(HUFFMAN_BITS_SHIFT, HUFFMAN_BITS_MASK): Define.
(HUFFMAN_SECONDARY_SHIFT): Define.
(ZDEBUG_TABLE_SIZE): Define.
(ZDEBUG_TABLE_CODELEN_OFFSET, ZDEBUG_TABLE_WORK_OFFSET): Define.
(final_next_secondary): New static variable if
BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE.
(elf_zlib_inflate_table): New static function.
(BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE): If define, define main
function to produce fixed Huffman table.
(elf_zlib_default_table): New static variable.
(elf_zlib_inflate): New static function.
(elf_zlib_verify_checksum): Likewise.
(elf_zlib_inflate_and_verify): Likewise.
(elf_uncompress_zdebug): Likewise.
(elf_uncompress_chdr): Likewise.
(backtrace_uncompress_zdebug): New extern function.
(elf_add): Look for .zdebug sections and SHF_COMPRESSED debug
sections, and uncompress them.
* internal.h (backtrace_compress_zdebug): Declare.
* ztest.c: New file.
* configure.ac: Check for -lz and check whether the linker
supports --compress-debug-sections.
* Makefile.am (ztest_SOURCES): New variable.
(ztest_CFLAGS, ztest_LDADD): New variables.
(check_PROGRAMS): Add ztest.
(ctestg_SOURCES): New variable.
(ctestg_CFLAGS, ctestg_LDFLAGS, ctestg_LDADD): New variables.
(ctesta_SOURCES): New variable.
(ctesta_CFLAGS, ctesta_LDFLAGS, ctesta_LDADD): New variables.
(check_PROGRAMS): Add ctestg and ctesta.
* configure, config.h.in, Makefile.in: Rebuild.

From-SVN: r253275

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

From-SVN: r253274

7 years agore PR c++/79488 (ICE from lambda that has invalid return type)
Paolo Carlini [Thu, 28 Sep 2017 21:18:36 +0000 (21:18 +0000)]
re PR c++/79488 (ICE from lambda that has invalid return type)

2017-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/79488
* g++.dg/cpp0x/lambda/lambda-ice22.C: New.

From-SVN: r253270

7 years agoPR c++/56973, DR 696 - capture constant variables only as needed.
Jason Merrill [Thu, 28 Sep 2017 19:39:45 +0000 (15:39 -0400)]
PR c++/56973, DR 696 - capture constant variables only as needed.

* expr.c (mark_use): Split out from mark_rvalue_use and
mark_lvalue_use.  Handle lambda capture of constant variables.
(mark_lvalue_use_nonread): New.
* semantics.c (process_outer_var_ref): Don't capture a constant
variable until forced.
* pt.c (processing_nonlambda_template): New.
* call.c (build_this): Check it.
* decl2.c (grok_array_decl): Call mark_rvalue_use and
mark_lvalue_use_nonread.
* init.c (constant_value_1): Don't call mark_rvalue_use.
* typeck.c (build_static_cast): Handle lambda capture.

From-SVN: r253266

7 years agoUse local_specializations to find capture proxies.
Jason Merrill [Thu, 28 Sep 2017 19:39:38 +0000 (15:39 -0400)]
Use local_specializations to find capture proxies.

* cp-tree.h (DECL_CAPTURED_VARIABLE): New.
* lambda.c (build_capture_proxy): Set it.
(add_capture): Pass initializer to build_capture_proxy.
(start_lambda_function): Likewise.
(insert_capture_proxy): Use register_local_specialization.
(is_lambda_ignored_entity): Always ignore proxies.
* name-lookup.c (qualify_lookup): Don't check
is_lambda_ignored_entity if LOOKUP_HIDDEN is set.
* semantics.c (process_outer_var_ref): Use
retrieve_local_specialization.
* parser.c (cp_parser_lambda_body): Push local_specializations.
* pt.c (tsubst_expr): Pass LOOKUP_HIDDEN when looking for a proxy.
(tsubst_lambda_expr): Push local_specializations sooner.
(tsubst_copy_and_build): Don't register_local_specialization.

From-SVN: r253265

7 years agoSmall lambda fixes.
Jason Merrill [Thu, 28 Sep 2017 19:39:32 +0000 (15:39 -0400)]
Small lambda fixes.

* call.c (build_special_member_call): Use the return value of
mark_lvalue_use.
* decl.c (compute_array_index_type): Likewise.
* parser.c (cp_parser_oacc_wait_list): Likewise.
* lambda.c (is_normal_capture_proxy): Handle *this capture.
(add_capture): Clarify internal_error message.

From-SVN: r253264

7 years agoUse -Wno-deprecated for std::uncaught_exception tests.
Jason Merrill [Thu, 28 Sep 2017 18:36:58 +0000 (14:36 -0400)]
Use -Wno-deprecated for std::uncaught_exception tests.

* g++.dg/eh/uncaught1.C: Pass -Wno-deprecated.
* g++.dg/eh/uncaught2.C: Pass -Wno-deprecated.
* g++.dg/eh/uncaught4.C: Pass -Wno-deprecated.
* g++.old-deja/g++.mike/eh48.C: Pass -Wno-deprecated.

From-SVN: r253262

7 years agore PR target/82342 (i386/pr82260-2.c fail)
Jakub Jelinek [Thu, 28 Sep 2017 18:35:58 +0000 (20:35 +0200)]
re PR target/82342 (i386/pr82260-2.c fail)

PR target/82342
* gcc.target/i386/pr82260-1.c: Add -mno-bmi2 to dg-options.
* gcc.target/i386/pr82260-2.c: Likewise.

From-SVN: r253261

7 years agoi386.c (ix86_print_operand_address_as): Do not check index when encoding %esp as...
Uros Bizjak [Thu, 28 Sep 2017 18:14:27 +0000 (20:14 +0200)]
i386.c (ix86_print_operand_address_as): Do not check index when encoding %esp as %rsp to avoid 0x67 prefix.

* config/i386/i386.c (ix86_print_operand_address_as): Do not check
index when encoding %esp as %rsp to avoid 0x67 prefix.

From-SVN: r253260

7 years agoi386.md (*movsf_internal, [...]): Return 256-bit AVX modes for TARGET_PREFER_AVX256.
Sergey Shalnov [Thu, 28 Sep 2017 18:11:41 +0000 (20:11 +0200)]
i386.md (*movsf_internal, [...]): Return 256-bit AVX modes for TARGET_PREFER_AVX256.

gcc/
        * config/i386/i386.md (*movsf_internal, *movdf_internal):
        Return 256-bit AVX modes for TARGET_PREFER_AVX256.

gcc/testsuite/
        * gcc.target/i386/avx512f-constant-float-return.c: New test.

From-SVN: r253259

7 years ago[ARM] Some tests require arm_neon_hw
Christophe Lyon [Thu, 28 Sep 2017 18:00:42 +0000 (18:00 +0000)]
[ARM] Some tests require arm_neon_hw

2017-09-28  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/arm/aapcs/align4.c: Require arm_neon_hw effective target.
* gcc.target/arm/aapcs/align_rec4.c: Likewise.
* gcc.target/arm/aapcs/neon-vect1.c: Likewise.
* gcc.target/arm/aapcs/neon-vect2.c: Likewise.
* gcc.target/arm/aapcs/neon-vect3.c: Likewise.
* gcc.target/arm/aapcs/neon-vect4.c: Likewise.
* gcc.target/arm/aapcs/neon-vect5.c: Likewise.
* gcc.target/arm/aapcs/neon-vect6.c: Likewise.
* gcc.target/arm/aapcs/neon-vect7.c: Likewise.
* gcc.target/arm/aapcs/neon-vect8.c: Likewise.

From-SVN: r253258

7 years agojit: document function pointers
David Malcolm [Thu, 28 Sep 2017 17:12:19 +0000 (17:12 +0000)]
jit: document function pointers

gcc/jit/ChangeLog:
* docs/topics/expressions.rst (Function calls): Add link to
gcc_jit_context_new_function_ptr_type.
(Function pointers): Convert to cross-references to
function-pointers.rst, moving material there.
* docs/topics/function-pointers.rst: New page.
* docs/topics/index.rst: Add function-pointers.rst.
* docs/topics/types.rst (Function pointer types): New section.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r253257

7 years ago[ARM] Remove ARMv8-M code for D17-D31
Thomas Preud'homme [Thu, 28 Sep 2017 16:13:01 +0000 (16:13 +0000)]
[ARM] Remove ARMv8-M code for D17-D31

Function cmse_nonsecure_entry_clear_before_return has code to deal with
high VFP register (D16-D31) while ARMv8-M Baseline and Mainline both do
not support more than 16 double VFP registers (D0-D15). This makes this
security-sensitive code harder to read for not much benefit since
libcall for cmse_nonsecure_call functions do not deal with those high
VFP registers anyway.

This commit gets rid of this code for simplicity and fixes 2 issues in
the same function:

- stop the first loop when reaching maxregno to avoid dealing with VFP
  registers if targetting Thumb-1 or using -mfloat-abi=soft
- include maxregno in that loop

2017-09-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (arm_option_override): Forbid ARMv8-M Security
    Extensions with more than 16 double VFP registers.
    (cmse_nonsecure_entry_clear_before_return): Remove second entry of
    to_clear_mask and all code related to it.  Replace the remaining
    entry by a sbitmap and adapt code accordingly.

From-SVN: r253256

7 years agojit: handle equality of function pointer types
David Malcolm [Thu, 28 Sep 2017 16:00:57 +0000 (16:00 +0000)]
jit: handle equality of function pointer types

gcc/jit/ChangeLog:
* jit-recording.c
(gcc::jit::recording::function_type::is_same_type_as): New function.
* jit-recording.h: In namespace gcc::jit::recording::
(type::accepts_writes_from): Use is_same_type_as rather than pointer
equality.
(type::is_same_type_as): New virtual function.
(function_type::is_same_type_as): New override.

gcc/testsuite/ChangeLog:
* jit.dg/test-error-mismatching-types-in-assignment-fn-ptr.c: New
test case.
* jit.dg/test-returning-function-ptr.c (create_code): Update to
create a function pointer type independently of the call to
gcc_jit_function_get_address, and assign the pointer to a local
before returning it, to exercise the function pointer type
comparison code.

From-SVN: r253255

7 years ago[BRIGFE] Changed pure attributes to const for the brig-builtins
Henry Linjamäki [Thu, 28 Sep 2017 15:29:07 +0000 (15:29 +0000)]
[BRIGFE] Changed pure attributes to const for the brig-builtins
that are actually const.

Also:
* Fixed brig-lang.c such that the builtin attributes actually
  have effect...
* Made -O3 the default optimization level for BRIG.

From-SVN: r253254

7 years agoEnable ifunc attribute by default for SPARC GNU/Linux.
Joseph Myers [Thu, 28 Sep 2017 14:25:15 +0000 (15:25 +0100)]
Enable ifunc attribute by default for SPARC GNU/Linux.

Similar to other architectures with IFUNC binutils/glibc support, this
patch enables the ifunc attribute for SPARC GNU/Linux.  This is needed
for building glibc with the current checks on IFUNC resolver types
(and use of the attribute in glibc rather than manually created IFUNCs
is beneficial anyway because it results in better debug info).

Tested compilation of glibc with build-many-glibcs.py.  I have not run
the GCC tests for SPARC.

* config.gcc (default_gnu_indirect_function): Default to yes for
sparc*-*-linux* with glibc.

From-SVN: r253253

7 years agoAvoid assembler warnings from AArch64 constructor/destructor priorities.
Joseph Myers [Thu, 28 Sep 2017 13:08:28 +0000 (14:08 +0100)]
Avoid assembler warnings from AArch64 constructor/destructor priorities.

Many GCC tests fail for AArch64 with current binutils because of
assembler warnings of the form "Warning: ignoring incorrect section
type for .init_array.00100".  The same issue was fixed for ARM in
r247015 by using SECTION_NOTYPE when creating those sections; this
patch applies the same fix to AArch64.

Tested with no regressions with cross to aarch64-linux-gnu.

* config/aarch64/aarch64.c (aarch64_elf_asm_constructor)
(aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section
when creating .init_array and .fini_array sections with priority
specified.

From-SVN: r253252

7 years agoCommit forgotten testecase for pr71727.
Christophe Lyon [Thu, 28 Sep 2017 12:59:44 +0000 (14:59 +0200)]
Commit forgotten testecase for pr71727.

From-SVN: r253251

7 years agoRemove superfluous -fopenmp from libgomp testcases
Tom de Vries [Thu, 28 Sep 2017 09:32:00 +0000 (09:32 +0000)]
Remove superfluous -fopenmp from libgomp testcases

Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
2017-09-28  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
setting.
* testsuite/libgomp.c++/pr69393.C: Same.
* testsuite/libgomp.c++/taskloop-1.C: Same.
* testsuite/libgomp.c++/taskloop-3.C: Same.
* testsuite/libgomp.c++/taskloop-4.C: Same.
* testsuite/libgomp.c/for-4.c: Same.
* testsuite/libgomp.c/pr66199-3.c: Same.
* testsuite/libgomp.c/pr66199-4.c: Same.
* testsuite/libgomp.c/pr66199-6.c: Same.
* testsuite/libgomp.c/taskloop-1.c: Same.
* testsuite/libgomp.c/taskloop-3.c: Same.
* testsuite/libgomp.c/taskloop-4.c: Same.
* testsuite/libgomp.fortran/aligned1.f03: Same.
* testsuite/libgomp.fortran/condinc1.f: Same.
* testsuite/libgomp.fortran/condinc3.f90: Same.
* testsuite/libgomp.fortran/crayptr1.f90: Same.
* testsuite/libgomp.fortran/crayptr2.f90: Same.
* testsuite/libgomp.fortran/crayptr3.f90: Same.
* testsuite/libgomp.fortran/omp_cond1.f: Same.
* testsuite/libgomp.fortran/omp_cond3.F90: Same.
* testsuite/libgomp.fortran/pr66199-1.f90: Same.
* testsuite/libgomp.fortran/pr66199-2.f90: Same.
* testsuite/libgomp.fortran/recursion1.f90: Same.
* testsuite/libgomp.fortran/target2.f90: Same.
* testsuite/libgomp.fortran/target5.f90: Same.
* testsuite/libgomp.fortran/task3.f90: Same.

From-SVN: r253250

7 years agoFix libgomp.oacc-c-c++-common/loop-g-{1,2}.c for non-nvidia devices
Tom de Vries [Thu, 28 Sep 2017 06:35:23 +0000 (06:35 +0000)]
Fix libgomp.oacc-c-c++-common/loop-g-{1,2}.c for non-nvidia devices

2017-09-28  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
vector_length(32) clause from acc parallel directive.
* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.

From-SVN: r253249

7 years agoDaily bump.
GCC Administrator [Thu, 28 Sep 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r253248

7 years agojit: implement gcc_jit_function_get_address
David Malcolm [Wed, 27 Sep 2017 23:57:35 +0000 (23:57 +0000)]
jit: implement gcc_jit_function_get_address

gcc/jit/ChangeLog:
* docs/cp/topics/expressions.rst (Function pointers): New section.
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_9): New tag.
* docs/topics/expressions.rst (Function pointers): New section.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-common.h (class gcc::jit::recording::function_pointer): New
forward decl.
* jit-playback.c (gcc::jit::playback::function::get_address): New
method.
* jit-playback.h (gcc::jit::playback::function::get_address): New
method decl.
* jit-recording.c: Within namespace gcc::jit::recording...
(function::function): Initialize new field "m_fn_ptr_type".
(function::get_address): New method.
(function_pointer::replay_into): New method.
(function_pointer::visit_children): New method.
(function_pointer::make_debug_string): New method.
(function_pointer::write_reproducer): New method.
* jit-recording.h: Within namespace gcc::jit::recording...
(function::get_address): New method.
(function): Add field "m_fn_ptr_type".
(class function_pointer): New subclass of rvalue.
* libgccjit++.h (gccjit::function::get_address): New method.
* libgccjit.c (gcc_jit_function_get_address): New function.
* libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_function_get_address): New
macro.
(gcc_jit_function_get_address): New API entrypoint.
* libgccjit.map (LIBGCCJIT_ABI_9): New tag.

gcc/testsuite/ChangeLog:
* jit.dg/all-non-failing-tests.h: Add
test-returning-function-ptr.c.
* jit.dg/test-returning-function-ptr.c: New test case.

From-SVN: r253244

7 years ago[AArch64] PR71727 fix -mstrict-align
Christophe Lyon [Wed, 27 Sep 2017 23:52:58 +0000 (23:52 +0000)]
[AArch64] PR71727 fix -mstrict-align

2017-09-27  Christophe Lyon  <christophe.lyon@linaro.org>

PR target/71727
gcc/
* config/aarch64/aarch64.c
(aarch64_builtin_support_vector_misalignment): Always return false
when misalignment is unknown.

gcc/testsuite/
* gcc.target/aarch64/pr71727-2.c: New test

From-SVN: r253242

7 years agors6000-p8swap.c (const_load_sequence_p): Revise this function to return false if...
Kelvin Nilsen [Wed, 27 Sep 2017 23:43:26 +0000 (23:43 +0000)]
rs6000-p8swap.c (const_load_sequence_p): Revise this function to return false if the definition used by the swap...

gcc/ChangeLog:

2017-09-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Revise
this function to return false if the definition used by the swap
instruction is artificial, or if the memory address from which the
constant value is loaded is not represented by a base address held
in a register or if the base address register is a frame or stack
pointer.  Additionally, return false if the base address of the
loaded constant is a SYMBOL_REF but is not considered to be a
constant.
(replace_swapped_load_constant): New function.
(rs6000_analyze_swaps): Add a new pass to replace a swap of a
loaded constant vector with a load of a swapped constant vector.

gcc/testsuite/ChangeLog:

2017-09-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/swaps-p8-28.c: New test.
* gcc.target/powerpc/swaps-p8-29.c: New test.
* gcc.target/powerpc/swaps-p8-30.c: New test.
* gcc.target/powerpc/swaps-p8-31.c: New test.
* gcc.target/powerpc/swaps-p8-32.c: New test.
* gcc.target/powerpc/swaps-p8-33.c: New test.
* gcc.target/powerpc/swaps-p8-34.c: New test.
* gcc.target/powerpc/swaps-p8-35.c: New test.
* gcc.target/powerpc/swaps-p8-36.c: New test.
* gcc.target/powerpc/swaps-p8-37.c: New test.
* gcc.target/powerpc/swaps-p8-38.c: New test.
* gcc.target/powerpc/swaps-p8-39.c: New test.
* gcc.target/powerpc/swaps-p8-40.c: New test.
* gcc.target/powerpc/swaps-p8-41.c: New test.
* gcc.target/powerpc/swaps-p8-42.c: New test.
* gcc.target/powerpc/swaps-p8-43.c: New test.
* gcc.target/powerpc/swaps-p8-44.c: New test.
* gcc.target/powerpc/swaps-p8-45.c: New test.

From-SVN: r253240

7 years agors6000-builtin.def (BU_FP_1MISC_1): Add define macro.
Carl Love [Wed, 27 Sep 2017 22:45:49 +0000 (22:45 +0000)]
rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.

gcc/ChangeLog:

2017-09-27  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
(FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
* config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
fctiw instruction.

gcc/testsuite/ChangeLog:

2017-09-27 Carl Love  <cel@us.ibm.com>
* gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file
for the __builtin_fctid and __builtin_fctiw.

From-SVN: r253238

7 years ago22131.cc: Make test less istreambuf_iterator implementation dependent.
François Dumont [Wed, 27 Sep 2017 20:16:43 +0000 (20:16 +0000)]
22131.cc: Make test less istreambuf_iterator implementation dependent.

2017-09-27  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/22_locale/money_get/get/char/22131.cc: Make test less
istreambuf_iterator implementation dependent.
* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.

From-SVN: r253237

7 years agocompiler: fix crash on struct that embeds pointer type
Ian Lance Taylor [Wed, 27 Sep 2017 17:46:33 +0000 (17:46 +0000)]
compiler: fix crash on struct that embeds pointer type

    The type verification code that enforces rules about the types of
    embedded struct fields was not properly handling the case where the
    pointed-to type is a pointer type, e.g.

      type s *struct{ C int }
      type t struct{ *s }

    which is illegal according to the spec. Tweak the verifier to catch
    this case, and add a guard in the lowering pass to make sure that we
    don't crash on invalid accesses to field "C" in type "t" above.

    Fixes golang/go#22050

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

From-SVN: r253236

7 years agohaifa-sched: fix autopref_rank_for_schedule qsort comparator
Alexander Monakov [Wed, 27 Sep 2017 17:16:53 +0000 (20:16 +0300)]
haifa-sched: fix autopref_rank_for_schedule qsort comparator

* haifa-sched.c (autopref_rank_for_schedule): Order 'irrelevant' insns
first, always call autopref_rank_data otherwise.

From-SVN: r253235

7 years ago[BRIGFE] Improved support for function and module scope group
Pekka Jääskeläinen [Wed, 27 Sep 2017 15:40:24 +0000 (15:40 +0000)]
[BRIGFE] Improved support for function and module scope group
segment variables.

PRM specs defines function and module scope group segment variables
as an experimental feature. However, PRM test suite uses and
hcc relies on them. In addition, hcc assumes certain group variable
layout in its dynamic group segment allocation code.

We cannot have global group memory offsets if we want to
both have kernel-specific group segment size and multiple kernels
calling the same functions that use function scope group memory
variables.

Now group segment is handled by separate book keeping of module
scope and function (kernel) offsets. Each function has a "frame"
in the group segment offset to which is given as an argument.

From-SVN: r253233

7 years agographite-scop-detection.c (find_scop_parameters): Move loop bound handling ...
Richard Biener [Wed, 27 Sep 2017 14:35:04 +0000 (14:35 +0000)]
graphite-scop-detection.c (find_scop_parameters): Move loop bound handling ...

2017-09-27  Richard Biener  <rguenther@suse.de>

* graphite-scop-detection.c (find_scop_parameters): Move
loop bound handling ...
(gather_bbs::before_dom_children): ... here, avoiding the need
to build scop_info->loop_nest.
(record_loop_in_sese): Remove.
* sese.h (sese_info_t::loop_nest): Remove.
* sese.c (new_sese_info): Do not allocate loop_nest.
(free_sese_info): Do not free loop_nest.

From-SVN: r253232

7 years agonet: check Getsockname error return
Ian Lance Taylor [Wed, 27 Sep 2017 14:22:36 +0000 (14:22 +0000)]
net: check Getsockname error return

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

From-SVN: r253231

7 years agore PR c++/82159 (ICE: in assign_temp, at function.c:961)
Jakub Jelinek [Wed, 27 Sep 2017 14:19:57 +0000 (16:19 +0200)]
re PR c++/82159 (ICE: in assign_temp, at function.c:961)

PR c++/82159
* gimplify.c (gimplify_modify_expr): Don't optimize away zero sized
lhs from calls if the lhs has addressable type.

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

From-SVN: r253230

7 years agographite.h (scop::max_alias_set): New member.
Richard Biener [Wed, 27 Sep 2017 13:06:34 +0000 (13:06 +0000)]
graphite.h (scop::max_alias_set): New member.

2017-09-27  Richard Biener  <rguenther@suse.de>

* graphite.h (scop::max_alias_set): New member.
* graphite-scop-detection.c: Remove references to non-existing
--param in comments.
(build_alias_sets): Record the maximum alias set used for drs.
(build_scops): Support zero as unlimited for
--param graphite-max-arrays-per-scop.
* graphite-sese-to-poly.c (add_scalar_version_numbers): Remove
and inline into ...
(build_poly_sr_1): ... here.  Compute alias set based on the
maximum alias set used for drs rather than
PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP

From-SVN: r253229

7 years agoFix libgomp.oacc-c-c++-common/parallel-reduction.c for non-nvidia devices
Tom de Vries [Wed, 27 Sep 2017 12:35:54 +0000 (12:35 +0000)]
Fix libgomp.oacc-c-c++-common/parallel-reduction.c for non-nvidia devices

2017-09-27  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
Remove acc_device_nvidia references.

From-SVN: r253228

7 years agographite-optimize-isl.c (get_schedule_for_node_st): Allow --param loop-block-tile...
Richard Biener [Wed, 27 Sep 2017 12:21:40 +0000 (12:21 +0000)]
graphite-optimize-isl.c (get_schedule_for_node_st): Allow --param loop-block-tile-size=0 to disable tiling.

2017-09-27  Richard Biener  <rguenther@suse.de>

* graphite-optimize-isl.c (get_schedule_for_node_st): Allow
--param loop-block-tile-size=0 to disable tiling.

From-SVN: r253227

7 years agoinvoke.texi (graphite-max-bbs-per-function): Remove.
Richard Biener [Wed, 27 Sep 2017 11:09:41 +0000 (11:09 +0000)]
invoke.texi (graphite-max-bbs-per-function): Remove.

2017-09-27  Richard Biener  <rguenther@suse.de>

* doc/invoke.texi (graphite-max-bbs-per-function): Remove.
(graphite-max-nb-scop-params): Document special value zero.
* domwalk.h (dom_walker::STOP): New symbolical constant.
(dom_walker::dom_walker): Add optional parameter for bb to
RPO mapping.
(dom_walker::~dom_walker): Declare.
(dom_walker::before_dom_children): Document STOP return value.
(dom_walker::m_user_bb_to_rpo): New member.
(dom_walker::m_bb_to_rpo): Likewise.
* domwalk.c (dom_walker::dom_walker): Compute bb to RPO
mapping here if not provided by the user.
(dom_walker::~dom_walker): Free bb to RPO mapping if not
provided by the user.
(dom_walker::STOP): Define.
(dom_walker::walk): Do not compute bb to RPO mapping here.
Support STOP return value from before_dom_children to stop
walking.
* graphite-optimize-isl.c (optimize_isl): If the schedule
is the same still generate code if -fgraphite-identity
or -floop-parallelize-all are given.
* graphite-scop-detection.c: Include cfganal.h.
(gather_bbs::gather_bbs): Get and pass through bb to RPO
mapping.
(gather_bbs::before_dom_children): Return STOP for BBs
not in the region.
(build_scops): Compute bb to RPO mapping and pass it to
the domwalk.  Treat --param graphite-max-nb-scop-params=0
as not limiting the number of params.
* graphite.c (graphite_initialize): Remove limit on the
number of basic-blocks in a function.
* params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Remove.
(PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Adjust to documented
default value of 10.

From-SVN: r253226

7 years agoPlacate gcc.misc-tests/help.exp regarding -Wdo-subscript
Thomas Schwinge [Wed, 27 Sep 2017 08:35:05 +0000 (10:35 +0200)]
Placate gcc.misc-tests/help.exp regarding -Wdo-subscript

gcc/fortran/
* lang.opt <Wdo-subscript>: End help text with a period.

From-SVN: r253225

7 years agopr65947-9.c: Requires char to be signed by default.
Andreas Krebbel [Wed, 27 Sep 2017 06:37:18 +0000 (06:37 +0000)]
pr65947-9.c: Requires char to be signed by default.

Fails on S/390 with char defaulting to unsigned char.

gcc/testsuite/ChangeLog:

2017-09-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.dg/vect/pr65947-9.c: Use signed char explicitly.

From-SVN: r253224

7 years agovsx.md (peephole for optimizing move SF to GPR): Adjust code to eliminate needing...
Michael Meissner [Wed, 27 Sep 2017 01:20:24 +0000 (01:20 +0000)]
vsx.md (peephole for optimizing move SF to GPR): Adjust code to eliminate needing to do the shift right 32-bits operation after...

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

* config/rs6000/vsx.md (peephole for optimizing move SF to GPR):
Adjust code to eliminate needing to do the shift right 32-bits
operation after XSCVDPSPN.

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

* gcc.target/powerpc/pr71977-1.c: Update test to know that we
don't generate a 32-bit shift after doing XSCVDPSPN.
* gcc.target/powerpc/direct-move-float1.c: Likewise.
* gcc.target/powerpc/direct-move-float3.c: New test.

From-SVN: r253223

7 years agoDaily bump.
GCC Administrator [Wed, 27 Sep 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r253222

7 years agomatch.pd ((X / Y) == 0 -> X < Y): New pattern.
Prathamesh Kulkarni [Wed, 27 Sep 2017 00:03:07 +0000 (00:03 +0000)]
match.pd ((X / Y) == 0 -> X < Y): New pattern.

2017-09-26  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* match.pd ((X / Y) == 0 -> X < Y): New pattern.
((X / Y) != 0 -> X >= Y): Likewise.

testsuite/
* gcc.dg/tree-ssa/cmpdiv.c: New test.

From-SVN: r253218

7 years agors6000-c.c (P9V_BUILTIN_VEC_XL_LEN_R, [...]): Add support for builtins vector unsigne...
Carl Love [Tue, 26 Sep 2017 21:50:46 +0000 (21:50 +0000)]
rs6000-c.c (P9V_BUILTIN_VEC_XL_LEN_R, [...]): Add support for builtins vector unsigned char vec_xl_len_r (unsigned char *...

gcc/ChangeLog:

2017-09-26  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_XL_LEN_R,
P9V_BUILTIN_VEC_XST_LEN_R): Add support for builtins
vector unsigned char vec_xl_len_r (unsigned char *, size_t);
void vec_xst_len_r (vector unsigned char, unsigned char *, size_t);
* config/rs6000/altivec.h (vec_xl_len_r, vec_xst_len_r): Add defines.
* config/rs6000/rs6000-builtin.def (XL_LEN_R, XST_LEN_R): Add
definitions and overloading.
* config/rs6000/rs6000.c (altivec_expand_builtin): Add case
statement for P9V_BUILTIN_XST_LEN_R.
(altivec_init_builtins): Add def_builtin for P9V_BUILTIN_STXVLL.
* config/rs6000/vsx.md (lxvll, stxvll, xl_len_r, xst_len_r): Add
define_expand and define_insn for the instructions and builtins.
* doc/extend.texi: Update the built-in documentation file for the new
built-in functions.
* config/rs6000/altivec.md (altivec_lvsl_reg, altivec_lvsr_reg): Add
define_insn for the instructions

gcc/testsuite/ChangeLog:

2017-09-26  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-5-p9-runnable.c: Add new runable test
file for the new built-ins and the existing built-ins.

From-SVN: r253217

7 years agore PR target/39570 (cabs and cabsf are named differently on NetBSD 5)
Krister Walfridsson [Tue, 26 Sep 2017 21:26:21 +0000 (21:26 +0000)]
re PR target/39570 (cabs and cabsf are named differently on NetBSD 5)

2017-09-26  Krister Walfridsson  <krister.walfridsson@gmail.com>

PR target/39570
* gcc/config/netbsd-protos.h: New file.
* gcc/config/netbsd.c: New file.
* gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define.
* gcc/config/t-netbsd: New file.
* gcc/config.gcc (tm_p_file): Add netbsd-protos.h.
(tmake_file) Add t-netbsd.
(extra_objs) Add netbsd.o.

From-SVN: r253216

7 years agoCommit ChangeLog entries from previous commit.
Thomas Koenig [Tue, 26 Sep 2017 21:20:56 +0000 (21:20 +0000)]
Commit ChangeLog entries from previous commit.

From-SVN: r253215

7 years agore PR fortran/82143 (add a -fdefault-real-16 flag)
Janus Weil [Tue, 26 Sep 2017 20:28:00 +0000 (22:28 +0200)]
re PR fortran/82143 (add a -fdefault-real-16 flag)

2017-09-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/82143
PR fortran/82324
* doc/sourcebuild.texi: Document fortran_real_10 and fortran_real_16.

2017-09-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/82143
PR fortran/82324
* lib/target-supports.exp (check_effective_target_fortran_real_10): New.
* gfortran.dg/promotion_3.f90: Only run if real(16) is available.
* gfortran.dg/promotion_4.f90: Only run if real(10) is available.
Don't assume that DOUBLE PRECISION has kind=16.

From-SVN: r253214

7 years agovsx.md (vsx_xscvdpspn): Eliminate useless alternative constraint.
Michael Meissner [Tue, 26 Sep 2017 18:50:23 +0000 (18:50 +0000)]
vsx.md (vsx_xscvdpspn): Eliminate useless alternative constraint.

2017-09-26  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (vsx_xscvdpspn): Eliminate useless
alternative constraint.
(vsx_xscvspdpn): Likewise.
(vsx_xscvspdpn_scalar): Likewise.

From-SVN: r253213

7 years agovsx.md (vsx_xscvspdp_scalar2): Move insn so that it is adjacent to the other XSCVSPDP...
Michael Meissner [Tue, 26 Sep 2017 18:45:26 +0000 (18:45 +0000)]
vsx.md (vsx_xscvspdp_scalar2): Move insn so that it is adjacent to the other XSCVSPDP insns.

2017-09-26  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Move insn so that
it is adjacent to the other XSCVSPDP insns.

From-SVN: r253212

7 years agofrontend-passes.c (do_subscript): Don't do anything if inside an associate list.
Thomas Koenig [Tue, 26 Sep 2017 18:32:16 +0000 (18:32 +0000)]
frontend-passes.c (do_subscript): Don't do anything if inside an associate list.

2017-09-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (do_subscript): Don't do anything
if inside an associate list.

2017-09-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.dg/gomp/associate1.f90: Remove unnecessary
warning from associate construct and do loop.

From-SVN: r253211