gcc.git
7 years ago[RS6000] linux startfile/endfile
Alan Modra [Sat, 12 Aug 2017 00:28:04 +0000 (09:58 +0930)]
[RS6000] linux startfile/endfile

These need to match the gnu-user.h definitions to support
--enable-default-pie.  Otherwise we end up linking the wrong startup
files when defaulting to PIE.

PR target/81170
PR target/81295
* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to
match gnu-user.h startfile.
(ENDFILE_LINUX_SPEC): Similarly.

From-SVN: r251065

7 years agoDaily bump.
GCC Administrator [Sat, 12 Aug 2017 00:16:31 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r251064

7 years agore PR c/81795 (Stray "originally defined here" when using -Wc++-compat with #pragma...
Marek Polacek [Fri, 11 Aug 2017 18:02:18 +0000 (18:02 +0000)]
re PR c/81795 (Stray "originally defined here" when using -Wc++-compat with #pragma GCC diagnostic push/pop)

PR c/81795
* c-decl.c (pushtag): Only print inform if the warning was printed.
(grokdeclarator): Likewise.

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

From-SVN: r251056

7 years agoinvoke.texi: Actually commit change about -Ofast.
Thomas Koenig [Fri, 11 Aug 2017 17:48:45 +0000 (17:48 +0000)]
invoke.texi: Actually commit change about -Ofast.

2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

* invoke.texi:  Actually commit change about -Ofast.

From-SVN: r251055

7 years agore PR fortran/60355 ([F08] constraint C519 for BIND attribute not enforced)
Thomas Koenig [Fri, 11 Aug 2017 17:45:36 +0000 (17:45 +0000)]
re PR fortran/60355 ([F08] constraint C519 for BIND attribute not enforced)

2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/60355
* resolve.c (resolve_symbol): Adjust (and reformat)
comment.  Perform check if a BIND(C) is declared
at module level regardless of whether it is typed
implicitly or not.

2017-08-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/60355
* gfortran.dg (bind_c_usage_30): New test.

From-SVN: r251054

7 years ago[PR lto/81430] Revert "Add nvptx_override_options_after_change"
Thomas Schwinge [Fri, 11 Aug 2017 15:37:14 +0000 (17:37 +0200)]
[PR lto/81430] Revert "Add nvptx_override_options_after_change"

This reverts r250421; properly fixed by r250852.

PR lto/81430
* config/nvptx/nvptx.c (nvptx_override_options_after_change):
Remove function.
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Remove definition.

From-SVN: r251053

7 years agoCorrect invalid ChangeLog entry
William Schmidt [Fri, 11 Aug 2017 14:11:22 +0000 (14:11 +0000)]
Correct invalid ChangeLog entry

From-SVN: r251052

7 years agoaarch64.md (mov<mode>): Change.
Tamar Christina [Fri, 11 Aug 2017 13:47:57 +0000 (13:47 +0000)]
aarch64.md (mov<mode>): Change.

2017-08-11  Tamar Christina  <tamar.christina@arm.com>
* config/aarch64/aarch64.md (mov<mode>): Change.
(*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
aarch64_reg_or_fp_float into aarch64_reg_or_fp_zero.
* config/aarch64/predicates.md (aarch64_reg_or_fp_float): Removed.

From-SVN: r251051

7 years agotree-sra.c (build_access_from_expr_1): Use more precise diagnostics for storage order...
Eric Botcazou [Fri, 11 Aug 2017 13:06:43 +0000 (13:06 +0000)]
tree-sra.c (build_access_from_expr_1): Use more precise diagnostics for storage order barriers.

* tree-sra.c (build_access_from_expr_1): Use more precise diagnostics
for storage order barriers.

From-SVN: r251050

7 years agoDo not instrument void variables with MPX (PR tree-opt/79987).
Martin Liska [Fri, 11 Aug 2017 10:01:13 +0000 (12:01 +0200)]
Do not instrument void variables with MPX (PR tree-opt/79987).

2017-08-11  Martin Liska  <mliska@suse.cz>

PR tree-opt/79987
* tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
variables of void type.
2017-08-11  Martin Liska  <mliska@suse.cz>

PR tree-opt/79987
* gcc.target/i386/mpx/pr79987.c: New test.

From-SVN: r251049

7 years agoIntroduce TARGET_SUPPORTS_ALIASES
Martin Liska [Fri, 11 Aug 2017 08:14:54 +0000 (10:14 +0200)]
Introduce TARGET_SUPPORTS_ALIASES

2017-08-11  Martin Liska  <mliska@suse.cz>

* c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
TARGET_SUPPORTS_ALIASES.
2017-08-11  Martin Liska  <mliska@suse.cz>

* asan.c (asan_protect_global): Replace ASM_OUTPUT_DEF with
TARGET_SUPPORTS_ALIASES.
* cgraph.c (cgraph_node::create_same_body_alias): Likewise.
* ipa-visibility.c (can_replace_by_local_alias): Likewise.
(optimize_weakref): Likewise.
* symtab.c (symtab_node::noninterposable_alias): Likewise.
* varpool.c (varpool_node::create_extra_name_alias): Likewise.
* defaults.h: Introduce TARGET_SUPPORTS_ALIASES.
2017-08-11  Martin Liska  <mliska@suse.cz>

* decl2.c (get_tls_init_fn): Replace ASM_OUTPUT_DEF with
TARGET_SUPPORTS_ALIASES.
(handle_tls_init): Likewise.
(note_mangling_alias): Likewise.  Remove ATTRIBUTE_UNUSED for
both arguments.
* optimize.c (can_alias_cdtor): Likewise.

From-SVN: r251048

7 years agoFix ifunc and resolver (PR ipa/81213).
Martin Liska [Fri, 11 Aug 2017 08:10:42 +0000 (10:10 +0200)]
Fix ifunc and resolver (PR ipa/81213).

2017-08-11  Martin Liska  <mliska@suse.cz>

PR ipa/81213
* config/i386/i386.c (make_resolver_func): Do complete
refactoring of the function.
2017-08-11  Martin Liska  <mliska@suse.cz>

PR ipa/81213
* gcc.target/i386/pr81213.c: New test.

From-SVN: r251047

7 years agoPR c++/81671 - nullptr_t template parameter
Jason Merrill [Fri, 11 Aug 2017 05:35:39 +0000 (01:35 -0400)]
PR c++/81671 - nullptr_t template parameter

* pt.c (convert_nontype_argument): Fix nullptr_t check.

From-SVN: r251046

7 years agoDaily bump.
GCC Administrator [Fri, 11 Aug 2017 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r251045

7 years agoPR libstdc++/81808 skip test if reading directory doesn't fail
Jonathan Wakely [Fri, 11 Aug 2017 00:14:57 +0000 (01:14 +0100)]
PR libstdc++/81808 skip test if reading directory doesn't fail

PR libstdc++/81808
* testsuite/27_io/basic_fstream/53984.cc: Adjust test for targets
that allow opening a directory as a FILE and reading from it.

From-SVN: r251041

7 years agore PR target/81708 (The x86 stack canary location should be customizable)
Uros Bizjak [Thu, 10 Aug 2017 20:59:10 +0000 (22:59 +0200)]
re PR target/81708 (The x86 stack canary location should be customizable)

PR target/81708
* config/i386/i386.opt (mstack-protector-guard-symbol=): New option
* config/i386/i386.c (ix86_stack_protect_guard): Use
ix86_stack_protect_guard_symbol_str to generate varible declaration.
* doc/invoke.texi (x86 Options): Document
-mstack-protector-guard-symbol= option.

testsuite/ChangeLog:

PR target/81708
* gcc.target/i386/stack-prot-sym.c: New test.

From-SVN: r251040

7 years agoRename ix86_split_stack_boundary to ix86_split_stack_guard.
Uros Bizjak [Thu, 10 Aug 2017 20:52:50 +0000 (22:52 +0200)]
Rename ix86_split_stack_boundary to ix86_split_stack_guard.

From-SVN: r251039

7 years agoPR81738: Split vect-alias-check-6.c
Richard Sandiford [Thu, 10 Aug 2017 19:58:16 +0000 (19:58 +0000)]
PR81738: Split vect-alias-check-6.c

The second loop in the testcase only vectorises if we can reverse
a vector and if aligned loads aren't required.

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

gcc/testsuite/
PR testsuite/81738
* gcc.dg/vect/vect-alias-check-6.c: Move second function to...
* gcc.dg/vect/vect-alias-check-7.c: ...this new file.  Require
vect_perm and vect_element_align for vectorization.

From-SVN: r251037

7 years agoPR c++/81359 - Unparsed NSDMI error from SFINAE context.
Jason Merrill [Thu, 10 Aug 2017 19:55:48 +0000 (15:55 -0400)]
PR c++/81359 - Unparsed NSDMI error from SFINAE context.

* method.c (synthesized_method_walk): Don't diagnose lack of
operator delete.

From-SVN: r251036

7 years agoPR c++/80452 - Core 1579, implicit move semantics on return/throw
Jason Merrill [Thu, 10 Aug 2017 19:07:30 +0000 (15:07 -0400)]
PR c++/80452 - Core 1579, implicit move semantics on return/throw

* cp-tree.h (LOOKUP_PREFER_RVALUE): Now means that we've already
tentatively changed the lvalue to an rvalue.
* call.c (reference_binding): Remove LOOKUP_PREFER_RVALUE handling.
(build_over_call): If LOOKUP_PREFER_RVALUE, check that the first
parameter is an rvalue reference.
* except.c (build_throw): Do maybe-rvalue overload resolution twice.
* typeck.c (check_return_expr): Likewise.

From-SVN: r251035

7 years ago* config/i386/i386.c (ix86_split_stack_boundary): Add comment.
Uros Bizjak [Thu, 10 Aug 2017 18:40:39 +0000 (20:40 +0200)]
* config/i386/i386.c (ix86_split_stack_boundary): Add comment.

From-SVN: r251033

7 years agoi386-protos.h (ix86_split_stack_boundary): New prototype.
Uros Bizjak [Thu, 10 Aug 2017 18:27:40 +0000 (20:27 +0200)]
i386-protos.h (ix86_split_stack_boundary): New prototype.

* config/i386/i386-protos.h (ix86_split_stack_boundary): New prototype.
* config/i386/i386.c (ix86_split_stack_boundary): New function.
(ix86_xpand_split_stack_prologue): Call ix86_split_stack_boundary.
(ix86_legitimate_address_p) <case UNSPEC_STACK_CHECK>: Remove.
(i386_asm_output_addr_const_extra) <case UNSPEC_STACK_CHECK>: Ditto.
(optput_pic_addr_const): Remove UNSPEC_STACK_CHECK handling.
* config/i386/i386.md (unspec): Remove UNSPEC_STACK_CHECK.
(split_stack_space_check): Call ix86_split_stack_boundary.

From-SVN: r251031

7 years agoprint-tree.c (print_node): Print location using the established format %s:%i%i.
Martin Sebor [Thu, 10 Aug 2017 17:43:28 +0000 (17:43 +0000)]
print-tree.c (print_node): Print location using the established format %s:%i%i.

gcc/ChangeLog:

* print-tree.c (print_node): Print location using the established
format %s:%i%i.
Replace spaces with colons.
(debug_raw, debug): Ditto.

From-SVN: r251030

7 years agoPR c++/81586 - valgrind error in output_buffer_append_r with -Wall
Martin Sebor [Thu, 10 Aug 2017 17:40:11 +0000 (17:40 +0000)]
PR c++/81586 - valgrind error in output_buffer_append_r with -Wall

gcc/ChangeLog:

PR c++/81586
* pretty-print.c (pp_format): Correct the handling of %s precision.

From-SVN: r251029

7 years agoi386: Don't use frame pointer without stack access
H.J. Lu [Thu, 10 Aug 2017 15:29:05 +0000 (15:29 +0000)]
i386: Don't use frame pointer without stack access

When there is no stack access, there is no need to use frame pointer
even if -fno-omit-frame-pointer is used and caller's frame pointer is
unchanged.

gcc/

PR target/81736
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
to ...
(ix86_finalize_stack_frame_flags): This.  Also clear
frame_pointer_needed if -fno-omit-frame-pointer is used without
stack access.
(ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
with ix86_finalize_stack_frame_flags.
(ix86_expand_epilogue): Likewise.
(ix86_expand_split_stack_prologue): Likewise.
* doc/invoke.texi: Add a note for -fno-omit-frame-pointer.

gcc/testsuite/

PR target/81736
* gcc.target/i386/pr81736-1.c: New test.
* gcc.target/i386/pr81736-2.c: Likewise.
* gcc.target/i386/pr81736-3.c: Likewise.
* gcc.target/i386/pr81736-4.c: Likewise.
* gcc.target/i386/pr81736-5.c: Likewise.
* gcc.target/i386/pr81736-6.c: Likewise.
* gcc.target/i386/pr81736-7.c: Likewise.

From-SVN: r251028

7 years agofold-vec-msum-short.c: Fix typo.
Will Schmidt [Thu, 10 Aug 2017 14:05:26 +0000 (14:05 +0000)]
fold-vec-msum-short.c: Fix typo.

[gcc/testsuite]

2017-08-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * gcc.target/powerpc/fold-vec-msum-short.c: Fix typo.
        * gcc.target/powerpc/fold-vec/pack-longlong.c: Mark for 64-bit only.

From-SVN: r251027

7 years agoC/C++: show pertinent open token when missing a close token
David Malcolm [Thu, 10 Aug 2017 13:22:27 +0000 (13:22 +0000)]
C/C++: show pertinent open token when missing a close token

gcc/c/ChangeLog:
* c-parser.c (c_parser_error): Rename to...
(c_parser_error_richloc): ...this, making static, and adding
"richloc" parameter, passing it to the c_parse_error call,
rather than calling c_parser_set_source_position_from_token.
(c_parser_error): Reintroduce, reimplementing in terms of the
above, converting return type from void to bool.
(class token_pair): New class.
(struct matching_paren_traits): New struct.
(matching_parens): New typedef.
(struct matching_brace_traits): New struct.
(matching_braces): New typedef.
(get_matching_symbol): New function.
(c_parser_require): Add param MATCHING_LOCATION, using it to
highlight matching "opening" tokens for missing "closing" tokens.
(c_parser_skip_until_found): Likewise.
(c_parser_static_assert_declaration_no_semi): Convert explicit
parsing of CPP_OPEN_PAREN and CPP_CLOSE_PAREN to use of
class matching_parens, so that the pertinent open parenthesis is
highlighted when there are problems locating the close
parenthesis.
(c_parser_struct_or_union_specifier): Likewise.
(c_parser_typeof_specifier): Likewise.
(c_parser_alignas_specifier): Likewise.
(c_parser_simple_asm_expr): Likewise.
(c_parser_braced_init): Likewise, for matching_braces.
(c_parser_paren_condition): Likewise, for matching_parens.
(c_parser_switch_statement): Likewise.
(c_parser_for_statement): Likewise.
(c_parser_asm_statement): Likewise.
(c_parser_asm_operands): Likewise.
(c_parser_cast_expression): Likewise.
(c_parser_sizeof_expression): Likewise.
(c_parser_alignof_expression): Likewise.
(c_parser_generic_selection): Likewise.
(c_parser_postfix_expression): Likewise for cases RID_VA_ARG,
RID_OFFSETOF, RID_TYPES_COMPATIBLE_P, RID_AT_SELECTOR,
RID_AT_PROTOCOL, RID_AT_ENCODE, reindenting as necessary.
In case CPP_OPEN_PAREN, pass loc_open_paren to the
c_parser_skip_until_found call.
(c_parser_objc_class_definition): Use class matching_parens as
above.
(c_parser_objc_method_decl): Likewise.
(c_parser_objc_try_catch_finally_statement): Likewise.
(c_parser_objc_synchronized_statement): Likewise.
(c_parser_objc_at_property_declaration): Likewise.
(c_parser_oacc_wait_list): Likewise.
(c_parser_omp_var_list_parens): Likewise.
(c_parser_omp_clause_collapse): Likewise.
(c_parser_omp_clause_default): Likewise.
(c_parser_omp_clause_if): Likewise.
(c_parser_omp_clause_num_threads): Likewise.
(c_parser_omp_clause_num_tasks): Likewise.
(c_parser_omp_clause_grainsize): Likewise.
(c_parser_omp_clause_priority): Likewise.
(c_parser_omp_clause_hint): Likewise.
(c_parser_omp_clause_defaultmap): Likewise.
(c_parser_oacc_single_int_clause): Likewise.
(c_parser_omp_clause_ordered): Likewise.
(c_parser_omp_clause_reduction): Likewise.
(c_parser_omp_clause_schedule): Likewise.
(c_parser_omp_clause_num_teams): Likewise.
(c_parser_omp_clause_thread_limit): Likewise.
(c_parser_omp_clause_aligned): Likewise.
(c_parser_omp_clause_linear): Likewise.
(c_parser_omp_clause_safelen): Likewise.
(c_parser_omp_clause_simdlen): Likewise.
(c_parser_omp_clause_depend): Likewise.
(c_parser_omp_clause_map): Likewise.
(c_parser_omp_clause_device): Likewise.
(c_parser_omp_clause_dist_schedule): Likewise.
(c_parser_omp_clause_proc_bind): Likewise.
(c_parser_omp_clause_uniform): Likewise.
(c_parser_omp_for_loop): Likewise.
(c_parser_cilk_clause_vectorlength): Likewise.
(c_parser_cilk_clause_linear): Likewise.
(c_parser_transaction_expression): Likewise.
* c-parser.h (c_parser_require): Add param matching_location with
default UNKNOWN_LOCATION.
(c_parser_error): Convert return type from void to bool.
(c_parser_skip_until_found): Add param matching_location with
default UNKNOWN_LOCATION.

gcc/c-family/ChangeLog:
* c-common.c (c_parse_error): Add rich_location * param, using it
rather implicitly using input_location.
* c-common.h (c_parse_error): Add rich_location * param.

gcc/cp/ChangeLog:
* parser.c (cp_parser_error): Update for new param to
c_parse_error.
(class token_pair): New class.
(struct matching_paren_traits): New struct.
(matching_parens): New typedef.
(struct matching_brace_traits): New struct.
(matching_braces): New typedef.
(cp_parser_statement_expr): Convert explicit parsing of
CPP_OPEN_PAREN and CPP_CLOSE_PAREN to use of
class matching_parens, so that the pertinent open parenthesis is
highlighted when there are problems locating the close
parenthesis.
(cp_parser_primary_expression): Likewise.
(cp_parser_compound_literal_p): Remove consumption of opening
paren.
(cp_parser_postfix_expression): Convert explicit parsing of
CPP_OPEN_PAREN and CPP_CLOSE_PAREN to use matching parens, as
above.  Use it to consume the opening paren previously consumed by
cp_parser_compound_literal_p.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_unary_expression): Likewise.
(cp_parser_new_expression): Likewise.
(cp_parser_cast_expression): Likewise.
(cp_parser_builtin_offsetof): Likewise.
(cp_parser_trait_expr): Likewise.
(cp_parser_lambda_declarator_opt): Likewise.
(cp_parser_lambda_body): Likewise, for matching_braces.
(cp_parser_compound_statement): Likewise.
(cp_parser_selection_statement): Likewise, for matching_parens.
(cp_parser_iteration_statement): Likewise.
(cp_parser_already_scoped_statement): Likewise, for
matching_braces.
(cp_parser_linkage_specification): Likewise.
(cp_parser_static_assert): Likewise, for matching_parens.
(cp_parser_decltype): Likewise.
(cp_parser_operator): Likewise.
(cp_parser_enum_specifier): Likewise.
(cp_parser_namespace_definition): Likewise.
(cp_parser_direct_declarator): Likewise.
(cp_parser_braced_list): Likewise.
(cp_parser_class_specifier_1): Likewise, for matching_braces.
(cp_parser_constant_initializer): Likewise.
(cp_parser_noexcept_specification_opt): Likewise, for
matching_parens.
(cp_parser_exception_specification_opt): Likewise.
(cp_parser_handler): Likewise.
(cp_parser_asm_specification_opt): Likewise.
(cp_parser_asm_operand_list): Likewise.
(cp_parser_gnu_attributes_opt): Likewise.
(cp_parser_std_attribute_spec): Likewise.
(cp_parser_requirement_parameter_list): Likewise.
(cp_parser_requirement_body): Likewise, for matching_braces.
(cp_parser_compound_requirement): Likewise.
(cp_parser_template_introduction): Likewise.
(cp_parser_sizeof_pack): Likewise, for matching_parens.
(cp_parser_sizeof_operand): Likewise; use it to consume the
opening paren previously consumed by cp_parser_compound_literal_p.
(get_matching_symbol): New function.
(cp_parser_required_error): Add param "matching_location".  Remove
calls to cp_parser_error, instead setting a non-NULL gmsgid, and
handling it if set by calling c_parse_error, potentially with a
secondary location if matching_location was set.
(cp_parser_require): Add param "matching_location", with a default
value of UNKNOWN_LOCATION.
(cp_parser_require_keyword): Update for new param of
cp_parser_required_error.
(cp_parser_objc_encode_expression): Update to class matching_parens
as above.
(cp_parser_objc_defs_expression): Likewise.
(cp_parser_objc_protocol_expression): Likewise.
(cp_parser_objc_selector_expression): Likewise.
(cp_parser_objc_typename): Likewise.
(cp_parser_objc_superclass_or_category): Likewise.
(cp_parser_objc_try_catch_finally_statement): Likewise.
(cp_parser_objc_synchronized_statement): Likewise.
(cp_parser_objc_at_property_declaration): Likewise.
(cp_parser_oacc_single_int_clause): Likewise.
(cp_parser_oacc_shape_clause): Likewise.
(cp_parser_omp_clause_collapse): Likewise.
(cp_parser_omp_clause_default): Likewise.
(cp_parser_omp_clause_final): Likewise.
(cp_parser_omp_clause_if): Likewise.
(cp_parser_omp_clause_num_threads): Likewise.
(cp_parser_omp_clause_num_tasks): Likewise.
(cp_parser_omp_clause_grainsize): Likewise.
(cp_parser_omp_clause_priority): Likewise.
(cp_parser_omp_clause_hint): Likewise.
(cp_parser_omp_clause_defaultmap): Likewise.
(cp_parser_omp_clause_ordered): Likewise.
(cp_parser_omp_clause_schedule): Likewise.
(cp_parser_omp_clause_num_teams): Likewise.
(cp_parser_omp_clause_thread_limit): Likewise.
(cp_parser_omp_clause_aligned): Likewise.
(cp_parser_omp_clause_linear): Likewise.
(cp_parser_omp_clause_safelen): Likewise.
(cp_parser_omp_clause_simdlen): Likewise.
(cp_parser_omp_clause_depend): Likewise.
(cp_parser_omp_clause_device): Likewise.
(cp_parser_omp_clause_dist_schedule): Likewise.
(cp_parser_oacc_clause_async): Likewise.
(cp_parser_omp_critical): Likewise.
(cp_parser_omp_for_loop): Likewise.
(cp_parser_omp_sections_scope): Likewise.
(cp_parser_omp_declare_reduction_exprs): Likewise.
Update for new param to cp_parser_required_error.
(cp_parser_oacc_routine): Likewise.
(cp_parser_transaction_expression): Likewise.
(cp_parser_cilk_simd_vectorlength): Likewise.

gcc/testsuite/ChangeLog:
* c-c++-common/missing-close-symbol.c: New test case.
* c-c++-common/missing-symbol.c: New test case.
* gcc.dg/unclosed-init.c: New test case.
* g++.dg/diagnostic/unclosed-extern-c.C: New test case.
* g++.dg/diagnostic/unclosed-function.C: New test case.
* g++.dg/diagnostic/unclosed-namespace.C: New test case.
* g++.dg/diagnostic/unclosed-struct.C: New test case.
* g++.dg/parse/pragma2.C: Update to reflect movement of the
"expected identifier" error.

From-SVN: r251026

7 years agooptions.c (set_dec_flags): Only set legacy standards when value is not zero.
Fritz Reese [Thu, 10 Aug 2017 12:52:01 +0000 (12:52 +0000)]
options.c (set_dec_flags): Only set legacy standards when value is not zero.

2017-08-10  Fritz Reese <fritzoreese@gmail.com>

    gcc/fortran/ChangeLog:

* options.c (set_dec_flags): Only set legacy standards when value
is not zero.

From-SVN: r251025

7 years agooptions.c (set_dec_flags, [...]): Only set flag_d_lines with -fdec when not set by...
Fritz Reese [Thu, 10 Aug 2017 12:36:44 +0000 (12:36 +0000)]
options.c (set_dec_flags, [...]): Only set flag_d_lines with -fdec when not set by user.

2017-08-10  Fritz Reese <Reese-Fritz@zai.com>

    gcc/fortran/ChangeLog:

* options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines
with -fdec when not set by user.

    gcc/testsuite/ChangeLog:

    gfortran.dg/
* dec_d_lines_1.f, dec_d_lines_2.f: New.

From-SVN: r251024

7 years agodecl.c (attr_seen): New static variable.
Fritz Reese [Thu, 10 Aug 2017 12:19:13 +0000 (12:19 +0000)]
decl.c (attr_seen): New static variable.

2017-08-10  Fritz Reese <Reese-Fritz@zai.com>

    gcc/fortran/ChangeLog:

* decl.c (attr_seen): New static variable.
* decl.c (variable_decl): Match %FILL in STRUCTURE body.
* gfortran.texi: Update documentation.

    gcc/testsuite/ChangeLog:

    gfortran.dg/
* dec_structure_18.f90, dec_structure_19.f90, dec_structure_20.f90,
dec_structure_21.f90: New.

From-SVN: r251023

7 years ago* objc.dg/proto-lossage-4.m: Accept int/long int as intptr_t.
Marek Polacek [Thu, 10 Aug 2017 09:26:14 +0000 (09:26 +0000)]
* objc.dg/proto-lossage-4.m: Accept int/long int as intptr_t.

From-SVN: r251022

7 years agore PR testsuite/81784 (gcc.dg/compare2.c fails starting with r250984)
Marek Polacek [Thu, 10 Aug 2017 08:54:04 +0000 (08:54 +0000)]
re PR testsuite/81784 (gcc.dg/compare2.c fails starting with r250984)

PR testsuite/81784
* gcc.dg/compare2.c: Update dg-bogus and dg-warning.

From-SVN: r251021

7 years agoFix target attribute handling (PR c++/81355).
Martin Liska [Thu, 10 Aug 2017 07:43:49 +0000 (09:43 +0200)]
Fix target attribute handling (PR c++/81355).

2017-08-10  Martin Liska  <mliska@suse.cz>

PR c++/81355
* c-attribs.c (handle_target_attribute):
Report warning for an empty string argument of target attribute.
2017-08-10  Martin Liska  <mliska@suse.cz>

PR c++/81355
* g++.dg/other/pr81355.C: New test.

From-SVN: r251020

7 years agore PR c/81687 (Compiler drops label in OpenMP region)
Jakub Jelinek [Thu, 10 Aug 2017 00:33:20 +0000 (02:33 +0200)]
re PR c/81687 (Compiler drops label in OpenMP region)

PR c/81687
* omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
LABEL_DECLs.
* tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
or DECL_NONLOCAL labels.
(move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
or DECL_NONLOCAL labels here.

* testsuite/libgomp.c/pr81687-1.c: New test.
* testsuite/libgomp.c/pr81687-2.c: New test.

From-SVN: r251019

7 years agojit: add gcc_jit_type_get_vector
David Malcolm [Thu, 10 Aug 2017 00:18:19 +0000 (00:18 +0000)]
jit: add gcc_jit_type_get_vector

gcc/jit/ChangeLog:
* docs/cp/topics/types.rst (Vector types): New section.
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_8): New tag.
* docs/topics/types.rst (gcc_jit_context_get_type): Fix typo in
example.
(Vector types): New section.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-playback.c (gcc::jit::playback::type::get_vector): New
method.
* jit-playback.h (gcc::jit::playback::type::get_vector): New
method.
* jit-recording.c: In namespace gcc::jit::recording::
(type::get_vector): New method.
(memento_of_get_aligned::write_reproducer): Fix typo
in leading comment.
(memento_of_get_vector::replay_into): New method.
(memento_of_get_vector::make_debug_string): New method.
(memento_of_get_vector::write_reproducer): New method.
* jit-recording.h: In namespace gcc::jit::recording::
(type::get_vector): New
 method.
(class memento_of_get_vector): New class.
* libgccjit++.h (gccjit::type::get_vector): New method.
* libgccjit.c (gcc_jit_type_get_vector): New public entrypoint.
* libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_type_get_vector): New
define.
(gcc_jit_type_get_vector): New decl.
* libgccjit.map (LIBGCCJIT_ABI_8): New ABI tag.

gcc/testsuite/ChangeLog:
* jit.dg/all-non-failing-tests.h: Add note about
test-vector-types.cc.
* jit.dg/test-error-gcc_jit_type_get_vector-bad-type.c: New test
case.
* jit.dg/test-error-gcc_jit_type_get_vector-non-power-of-two.c:
New test case.
* jit.dg/test-vector-types.cc: New test case.

From-SVN: r251018

7 years agoDaily bump.
GCC Administrator [Thu, 10 Aug 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r251017

7 years agovect-xorsign_exec.c: Add --save-temps to the options passed.
Andrew Pinski [Thu, 10 Aug 2017 00:05:30 +0000 (00:05 +0000)]
vect-xorsign_exec.c: Add --save-temps to the options passed.

2017-08-09  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/vect-xorsign_exec.c: Add
        --save-temps to the options passed.

From-SVN: r251013

7 years agoThis time with the file added.
Segher Boessenkool [Wed, 9 Aug 2017 21:52:30 +0000 (23:52 +0200)]
This time with the file added.

Testcase for PR81423

gcc/testsuite/
PR rtl-optimization/81423
* gcc.c-torture/execute/pr81423.c: New testcase.

From-SVN: r251011

7 years agopacked8.C: Remove -mstructure-size- boundary option and fix comment.
Michael Collison [Wed, 9 Aug 2017 21:46:10 +0000 (21:46 +0000)]
packed8.C: Remove -mstructure-size- boundary option and fix comment.

2017-08-09  Michael Collison  <michael.collison@arm.com>

* testsuite/g++.dg/ext/packed8.C: Remove -mstructure-size-
boundary option and fix comment.
* testsuite/g++.dg/init/array16.C: Remove -mstructure-size-
boundary option and fix comment.
* testsuite/g++.dg/other/crash-4.C: Remove -mstructure-size-
boundary option and fix comment.
* testsuite/gcc.dg/builtin-stringop-chk-1.c: Remove
-mstructure-size boundary option.

From-SVN: r251010

7 years agoFix test for __has_unique_object_representations support in Clang
Jonathan Wakely [Wed, 9 Aug 2017 21:38:05 +0000 (22:38 +0100)]
Fix test for __has_unique_object_representations support in Clang

* include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP):
Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use
__is_identifier to set it.

From-SVN: r251009

7 years agoFix test for __is_aggregate support in Clang
Katsuhiko Nishimra [Wed, 9 Aug 2017 21:37:52 +0000 (21:37 +0000)]
Fix test for __is_aggregate support in Clang

2017-08-09  Katsuhiko Nishimra  <ktns.87@gmail.com>

* include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use
__is_identifier instead of __has_builtin.

From-SVN: r251008

7 years agors6000.c (rs6000_option_override_internal): Add blurb to indicate when early gimple...
Will Schmidt [Wed, 9 Aug 2017 21:28:39 +0000 (21:28 +0000)]
rs6000.c (rs6000_option_override_internal): Add blurb to indicate when early gimple folding has been disabled.

[gcc]

        2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_option_override_internal): Add blurb
        to indicate when early gimple folding has been disabled.
        (rs6000_gimple_fold_builtin): Add debug content.
        (rs6000_invalid_builtin): Fix whitespace.
        (rs6000_expand_builtin): Fix whitespace.
        * config/rs6000/rs6000.opt: Add option for -mfold-gimple.

From-SVN: r251007

7 years agocompiler: fix buglet in lshift type determination
Ian Lance Taylor [Wed, 9 Aug 2017 21:24:00 +0000 (21:24 +0000)]
compiler: fix buglet in lshift type determination

    It's possible to construct an lshift expression using unsafe.Sizeof
    that is technically a compile-time constant but can't be evaluated
    without going through backend methods. In this case, insure that
    Type::make_non_abstract_type is called on the numeric operand of the
    shift (as opposed to leaving as abstract), to avoid an assert later on
    in the compiler flow.

    Fixes golang/go#21372.

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

From-SVN: r251006

7 years agors6000: Use SAVE_MULTIPLE only if we restore what it saves (PR80938)
Segher Boessenkool [Wed, 9 Aug 2017 21:08:33 +0000 (23:08 +0200)]
rs6000: Use SAVE_MULTIPLE only if we restore what it saves (PR80938)

We can have SAVE_MULTIPLE while we do not have REST_MULTIPLE.  If the
inline restore does not restore all registers, the CFI for the save
and restore can conflict if things are shrink-wrapped.

We could restore all registers that are saved (not ideal), or emit
the CFI notes to say we did (which will work fine, but is also not
so great); instead, let's not save the registers that are unused.

PR target/80938
* config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
SAVE_MULTIPLE if not all the registers that saves, should be saved.

From-SVN: r251005

7 years agoTestcase for PR81423
Segher Boessenkool [Wed, 9 Aug 2017 21:05:45 +0000 (23:05 +0200)]
Testcase for PR81423

gcc/testsuite/
PR rtl-optimization/81423
* gcc.c-torture/execute/pr81423.c: New testcase.

From-SVN: r251004

7 years agoAdd falkor pipeline description.
Jim Wilson [Wed, 9 Aug 2017 20:58:35 +0000 (20:58 +0000)]
Add falkor pipeline description.

gcc/
* config/aarch64/aarch64-cores.def (falkor): Use falkor pipeline.
(qdf24xx): Likewise.
* config/aarch64/aarch64.md: Include falkor.md.
* config/aarch64/falkor.md: New.

From-SVN: r251003

7 years agoPR c++/81525 - wrong constant value with generic lambda
Jason Merrill [Wed, 9 Aug 2017 19:21:49 +0000 (15:21 -0400)]
PR c++/81525 - wrong constant value with generic lambda

* pt.c (tsubst_decl) [VAR_DECL]: Avoid clobbering auto.
(tsubst_copy) [VAR_DECL]: Handle auto.

From-SVN: r250999

7 years agofold-vec-pack-double.c: New.
Will Schmidt [Wed, 9 Aug 2017 19:11:03 +0000 (19:11 +0000)]
fold-vec-pack-double.c: New.

[gcc/testsuite]

2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-pack-double.c: New.
* gcc.target/powerpc/fold-vec-pack-int.c: New.
* gcc.target/powerpc/fold-vec-pack-longlong.c: New.
* gcc.target/powerpc/fold-vec-pack-short.c: New.

From-SVN: r250998

7 years agofold-vec-msum-char.c: New.
Will Schmidt [Wed, 9 Aug 2017 19:06:35 +0000 (19:06 +0000)]
fold-vec-msum-char.c: New.

[gcc/testsuite]

2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-msum-char.c: New.
* gcc.target/powerpc/fold-vec-msum-short.c: New.

From-SVN: r250997

7 years agofold-vec-madd-double.c: New.
Will Schmidt [Wed, 9 Aug 2017 19:02:41 +0000 (19:02 +0000)]
fold-vec-madd-double.c: New.

[gcc/testsuite]

2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-madd-double.c: New.
* gcc.target/powerpc/fold-vec-madd-float.c: New.
* gcc.target/powerpc/fold-vec-madd-short.c: New.

From-SVN: r250996

7 years agofold-vec-cntlz-int.c: New.
Will Schmidt [Wed, 9 Aug 2017 18:58:37 +0000 (18:58 +0000)]
fold-vec-cntlz-int.c: New.

2017-08-09  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-cntlz-int.c: New.
* gcc.target/powerpc/fold-vec-cntlz-char.c: New.
* gcc.target/powerpc/fold-vec-cntlz-short.c: New.
* gcc.target/powerpc/fold-vec-cntlz-longlong.c: New.

From-SVN: r250995

7 years agoPR c++/81359 - Unparsed NSDMI error from SFINAE context.
Jason Merrill [Wed, 9 Aug 2017 18:32:02 +0000 (14:32 -0400)]
PR c++/81359 - Unparsed NSDMI error from SFINAE context.

* init.c (get_nsdmi): Add complain parm.
* typeck2.c (digest_nsdmi_init): Add complain parm.
(process_init_constructor_record): Pass complain to get_nsdmi.
* pt.c (maybe_instantiate_noexcept): Add complain parm, return bool.
* method.c (get_defaulted_eh_spec): Add complain parm.  Pass it into
synthesized_method_walk.
(synthesized_method_walk): Adjust.
(walk_field_subobs): Pass complain to get_nsdmi.
(defaulted_late_check): Skip other checks if deleted.
* decl2.c (mark_used): Pass complain to maybe_instantiate_noexcept.
* call.c (build_aggr_conv): Pass complain to get_nsdmi.
* parser.c (defarg_location): New.
* error.c (location_of): Use it.

From-SVN: r250994

7 years agoPR libstdc++/81751 don't call fflush(NULL)
Jonathan Wakely [Wed, 9 Aug 2017 17:52:10 +0000 (18:52 +0100)]
PR libstdc++/81751 don't call fflush(NULL)

PR libstdc++/79820
PR libstdc++/81751
* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
Call fflush on the stream instead of calling sync() while _M_cfile is
null. Restore original value of errno.
* testsuite/ext/stdio_filebuf/char/79820.cc: New.
* testsuite/ext/stdio_filebuf/char/81751.cc: New.

From-SVN: r250993

7 years agocompiler: handle >32bit exponent in Ldexp
Ian Lance Taylor [Wed, 9 Aug 2017 17:15:02 +0000 (17:15 +0000)]
compiler: handle >32bit exponent in Ldexp

    Libgo's implementation of math.Ldexp declared the libc "ldexp" as
    taking an 'int' exponent argument, which is not quite right for 64-bit
    platforms (exp arg is always int32); this could yield incorrect
    results for exponent values outside the range of Minint32/Maxint32.
    Fix by upating the type for the libc version of ldexp, and adding
    guards to screen for out-of-range exponents.

    Fixes #21323.

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

From-SVN: r250992

7 years ago* g++.dg/asan/asan.exp: Switch on *.cc tests.
Slava Barinov [Wed, 9 Aug 2017 16:26:58 +0000 (16:26 +0000)]
* g++.dg/asan/asan.exp: Switch on *.cc tests.

From-SVN: r250991

7 years agoBoolify some parameters.
Marek Polacek [Wed, 9 Aug 2017 12:34:36 +0000 (12:34 +0000)]
Boolify some parameters.

From-SVN: r250986

7 years agore PR c/81233 (--Wdiscarded-qualifiers and Wincompatible-pointer-types missing import...
Marek Polacek [Wed, 9 Aug 2017 11:28:22 +0000 (11:28 +0000)]
re PR c/81233 (--Wdiscarded-qualifiers and Wincompatible-pointer-types missing important detail)

PR c/81233
* c-typeck.c (pedwarn_init): Make the function take a variable list.
Call emit_diagnostic_valist instead of pedwarn.
(convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
Print the relevant types in diagnostics.

* diagnostic-core.h (emit_diagnostic_valist): Add declaration.
* diagnostic.c (emit_diagnostic): Add a comment.
(emit_diagnostic_valist): New function.

* gcc.dg/diagnostic-types-1.c: New test.
* gcc.dg/assign-warn-1.c: Update warning messages.
* gcc.dg/assign-warn-2.c: Likewise.
* gcc.dg/c90-const-expr-5.c: Likewise.
* gcc.dg/c99-const-expr-5.c: Likewise.
* gcc.dg/conv-2.c: Likewise.
* gcc.dg/init-bad-7.c: Likewise.
* gcc.dg/overflow-warn-1.c: Likewise.
* gcc.dg/overflow-warn-2.c: Likewise.
* gcc.dg/overflow-warn-3.c: Likewise.
* gcc.dg/overflow-warn-4.c: Likewise.
* gcc.dg/pointer-array-atomic.c: Likewise.
* gcc.dg/pr26865.c: Likewise.
* gcc.dg/pr61162-2.c: Likewise.
* gcc.dg/pr61162.c: Likewise.
* gcc.dg/pr67730-2.c: Likewise.
* gcc.dg/pr69156.c: Likewise.
* gcc.dg/pr70174.c: Likewise.
* objc.dg/proto-lossage-4.m: Likewise.

From-SVN: r250985

7 years agore PR c/81417 (-Wsign-compare should print types being compared)
Marek Polacek [Wed, 9 Aug 2017 08:51:20 +0000 (08:51 +0000)]
re PR c/81417 (-Wsign-compare should print types being compared)

PR c/81417
* c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
build_conditional_expr.
* c-parser.c (c_parser_conditional_expression): Create locations for
EXP1 and EXP2 from their source ranges.  Pass the locations down to
build_conditional_expr.
* c-tree.h (build_conditional_expr): Update declaration.
* c-typeck.c (build_conditional_expr): Add location_t parameters.
For -Wsign-compare, also print the types.

* input.c (make_location): New overload.
* input.h (make_location): Declare.

* objc-next-runtime-abi-02.c (build_v2_build_objc_method_call): Update
a call to build_conditional_expr.

* Wsign-compare-1.c: New test.
* gcc.dg/compare1.c: Adjust dg-bogus.
* gcc.dg/compare2.c: Likewise.
* gcc.dg/compare3.c: Likewise.
* gcc.dg/compare7.c: Likewise.
* gcc.dg/compare8.c: Likewise.
* gcc.dg/compare9.c: Likewise.
* gcc.dg/pr11492.c: Likewise.

From-SVN: r250984

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

From-SVN: r250983

7 years agoPR driver/81523: Make -static override -pie
H.J. Lu [Tue, 8 Aug 2017 22:06:21 +0000 (15:06 -0700)]
PR driver/81523: Make -static override -pie

-static and -pie together behave differently depending on whether GCC is
configured with --enable-default-pie.  On x86, "-static -pie" fails to
create executable when --enable-default-pie isn't used, but creates a
static executable when --enable-default-pie is used.  This patch makes
-static completely override -pie to create a static executable, regardless
if --enable-default-pie is used to configure GCC.

gcc/

PR driver/81523
* gcc.c (NO_PIE_SPEC): Delete.
(PIE_SPEC): Define as !no-pie/pie.  Move static|shared|r
exclusion..
(LINK_PIE_SPEC): ..to here.
(LINK_COMMAND_SPEC): Support -no-pie.
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
chain of crtbegin*.o selection, update for PIE_SPEC changes and
format.
(GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
(ENDFILE_CRTEND_SPEC): Similarly.

gcc/testsuite/

PR driver/81523
* gcc.dg/pie-7.c: New test.
* gcc.dg/pie-static-1.c: Likewise.
* gcc.dg/pie-static-2.c: Likewise.

From-SVN: r250974

7 years agore PR target/81708 (The x86 stack canary location should be customizable)
Uros Bizjak [Tue, 8 Aug 2017 16:48:46 +0000 (18:48 +0200)]
re PR target/81708 (The x86 stack canary location should be customizable)

PR target/81708
* config/i386/i386.opt (mstack-protector-guard-reg=): New option
(mstack-protector-guard-offset=): Ditto.
* config/i386/i386.c (ix86_option_override): Handle
-mstack-protector-guard-reg= and -mstack-protector-guard-offset=
options.
(ix86_stack_protect_guard): Use ix86_stack_protect_guard_reg and
ix86_stack_protect_guard_offset variables.
(TARGET_STACK_PROTECT_GUARD): Always define.
* doc/invoke.texi (x86 Options): Document -mstack-protector-guard-reg=
and -mstack-protector-guard-offset= options.

testsuite/ChangeLog:

PR target/81708
* gcc.target/i386/stack-prot-guard.c: New test.

From-SVN: r250965

7 years agotree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle boundary case...
Bin Cheng [Tue, 8 Aug 2017 14:52:25 +0000 (14:52 +0000)]
tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle boundary case for the last candidate.

* tree-ssa-loop-ivopts.c (relate_compare_use_with_all_cands): Handle
boundary case for the last candidate.

From-SVN: r250960

7 years agoinvoke.texi: Document -ftree-loop-distribution for O3.
Bin Cheng [Tue, 8 Aug 2017 14:09:10 +0000 (14:09 +0000)]
invoke.texi: Document -ftree-loop-distribution for O3.

* doc/invoke.texi: Document -ftree-loop-distribution for O3.
* opts.c (default_options_table): Add OPT_ftree_loop_distribution.

From-SVN: r250959

7 years agore PR middle-end/19706 (Recognize common Fortran usages of copysign.)
Tamar Christina [Tue, 8 Aug 2017 13:17:41 +0000 (13:17 +0000)]
re PR middle-end/19706 (Recognize common Fortran usages of copysign.)

2017-08-08  Tamar Christina  <tamar.christina@arm.com>

PR middle-end/19706
* config/aarch64/aarch64.md (xorsign<mode>3): New optabs.
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Added CASE_CFN_XORSIGN.
* config/aarch64/aarch64-simd-builtins.def: Added xorsign BINOP.
* config/aarch64/aarch64-simd.md: Added xorsign<mode>3.

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

* gcc.target/aarch64/xorsign.c: New.
* gcc.target/aarch64/xorsign_exec.c: New.
* gcc.target/aarch64/vect-xorsign_exec.c: New.

From-SVN: r250957

7 years agore PR middle-end/19706 (Recognize common Fortran usages of copysign.)
Tamar Christina [Tue, 8 Aug 2017 13:15:44 +0000 (13:15 +0000)]
re PR middle-end/19706 (Recognize common Fortran usages of copysign.)

2017-08-08  Tamar Christina  <tamar.christina@arm.com>
    Andrew Pinski <pinskia@gmail.com>

PR middle-end/19706
* internal-fn.def (XORSIGN): New.
* optabs.def (xorsign_optab): New.
* tree-ssa-math-opts.c (is_copysign_call_with_1): New.
(convert_expand_mult_copysign): New.
(pass_optimize_widening_mul::execute): Call convert_expand_mult_copysign.

Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r250956

7 years agore PR tree-optimization/81354 (Segmentation fault in SSA Strength Reduction using...
Bill Schmidt [Tue, 8 Aug 2017 12:52:22 +0000 (12:52 +0000)]
re PR tree-optimization/81354 (Segmentation fault in SSA Strength Reduction using -O3)

[gcc]

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

PR tree-optimization/81354
* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
Insert on edges rather than explicitly creating landing pads.
(analyze_candidates_and_replace): Commit edge inserts.

[gcc/testsuite]

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

PR tree-optimization/81354
* g++.dg/torture/pr81354.C: New file.

From-SVN: r250955

7 years agore PR middle-end/81719 (Range-based for loop on short fixed size array generates...
Richard Biener [Tue, 8 Aug 2017 12:51:20 +0000 (12:51 +0000)]
re PR middle-end/81719 (Range-based for loop on short fixed size array generates long unrolled loop)

2017-08-08  Richard Biener  <rguenther@suse.de>

PR middle-end/81719
* tree-ssa-loop-niter.c: Include tree-dfa.h.
(expand_simple_operations): Also look through ADDR_EXPRs with
MEM_REF bases treating them as POINTER_PLUS_EXPR.

* g++.dg/tree-ssa/pr81719.C: New testcase.

From-SVN: r250954

7 years agore PR tree-optimization/81723 (fortran build doesn't terminate on 64bit targets)
Richard Biener [Tue, 8 Aug 2017 12:49:39 +0000 (12:49 +0000)]
re PR tree-optimization/81723 (fortran build doesn't terminate on 64bit targets)

2017-08-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/81723
* tree-vect-slp.c (struct bst_traits): New hash traits.
(bst_fail): New global.
(vect_build_slp_tree_2): New worker, split out from ...
(vect_build_slp_tree): ... this now wrapping it with using
bst_fail set to cache SLP tree build fails.  Properly handle
max_tree_size.
(vect_analyze_slp_instance): Allocate and free bst_fail.

* gfortran.dg/pr81723.f: New testcase.

From-SVN: r250953

7 years agoscalar-extract-exp-2.c: Adjust diagnostic string.
Bill Schmidt [Tue, 8 Aug 2017 12:46:08 +0000 (12:46 +0000)]
scalar-extract-exp-2.c: Adjust diagnostic string.

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

* gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust diagnostic
string.
* gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise.
* gcc.target/powerpc/byte-in-set-2.c: Likewise.
* gcc.target/powerpc/cmpb-3.c: Likewise.
* gcc.target/powerpc/vsu/vec-xl-len-13.c: Likewise.
* gcc.target/powerpc/vsu/vec-xst-len-13.c: Likewise.

From-SVN: r250952

7 years agoICF: properly handle LABEL_DECLs (PR tree-opt/81696).
Martin Liska [Tue, 8 Aug 2017 11:59:23 +0000 (13:59 +0200)]
ICF: properly handle LABEL_DECLs (PR tree-opt/81696).

2017-08-08  Martin Liska  <mliska@suse.cz>

PR tree-opt/81696
* ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
LABEL_DECLs that can be from a different function.
2017-08-08  Martin Liska  <mliska@suse.cz>

PR tree-opt/81696
* gcc.dg/ipa/pr81696.c: New test.

From-SVN: r250951

7 years agore PR tree-optimization/81744 (ICE: verify_ssa failed, at tree-ssa.c:1186)
Bin Cheng [Tue, 8 Aug 2017 11:32:05 +0000 (11:32 +0000)]
re PR tree-optimization/81744 (ICE: verify_ssa failed, at tree-ssa.c:1186)

PR tree-optimization/81744
* tree-predcom.c (prepare_finalizers_chain): Deep copy expr of
loop's number of iterations.

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

From-SVN: r250950

7 years agoAdd missing include of attribs.h in lto.c
Tom de Vries [Tue, 8 Aug 2017 10:40:42 +0000 (10:40 +0000)]
Add missing include of attribs.h in lto.c

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

* lto.c: Include attribs.h.

From-SVN: r250949

7 years agore PR c++/81607 (Conditional operator: "type mismatch in shift expression" error)
Marek Polacek [Tue, 8 Aug 2017 08:55:43 +0000 (08:55 +0000)]
re PR c++/81607 (Conditional operator: "type mismatch in shift expression" error)

PR c++/81607
* cp-gimplify.c (cp_fold): If folding exposed a branch of
a COND_EXPR, convert it to the original type of the COND_EXPR, if
they differ.

* g++.dg/other/bitfield6.C: New test.

From-SVN: r250948

7 years agotrans.c: Include header files.
Martin Liska [Tue, 8 Aug 2017 04:46:51 +0000 (06:46 +0200)]
trans.c: Include header files.

.
2017-08-08  Martin Liska  <mliska@suse.cz>

* gcc-interface/trans.c: Include header files.
2017-08-08  Martin Liska  <mliska@suse.cz>

* objc-gnu-runtime-abi-01.c: Include header files.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
2017-08-08  Martin Liska  <mliska@suse.cz>

* asan.c: Include header files.
* attribs.c (build_decl_attribute_variant): New function moved
from tree.[ch].
(build_type_attribute_qual_variant): Likewise.
(cmp_attrib_identifiers): Likewise.
(simple_cst_list_equal): Likewise.
(omp_declare_simd_clauses_equal): Likewise.
(attribute_value_equal): Likewise.
(comp_type_attributes): Likewise.
(build_type_attribute_variant): Likewise.
(lookup_ident_attribute): Likewise.
(remove_attribute): Likewise.
(merge_attributes): Likewise.
(merge_type_attributes): Likewise.
(merge_decl_attributes): Likewise.
(merge_dllimport_decl_attributes): Likewise.
(handle_dll_attribute): Likewise.
(attribute_list_equal): Likewise.
(attribute_list_contained): Likewise.
* attribs.h (lookup_attribute): New function moved from tree.[ch].
(lookup_attribute_by_prefix): Likewise.
* bb-reorder.c: Include header files.
* builtins.c: Likewise.
* calls.c: Likewise.
* cfgexpand.c: Likewise.
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* convert.c: Likewise.
* dwarf2out.c: Likewise.
* final.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple.c: Likewise.
* gimplify.c: Likewise.
* hsa-common.c: Likewise.
* hsa-gen.c: Likewise.
* internal-fn.c: Likewise.
* ipa-chkp.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-fnsummary.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-visibility.c: Likewise.
* ipa.c: Likewise.
* lto-cgraph.c: Likewise.
* omp-expand.c: Likewise.
* omp-general.c: Likewise.
* omp-low.c: Likewise.
* omp-offload.c: Likewise.
* omp-simd-clone.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* predict.c: Likewise.
* sancov.c: Likewise.
* sanopt.c: Likewise.
* symtab.c: Likewise.
* toplev.c: Likewise.
* trans-mem.c: Likewise.
* tree-chkp.c: Likewise.
* tree-eh.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-object-size.c: Likewise.
* tree-parloops.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* tree.c: Remove functions moved to attribs.[ch].
* tree.h: Likewise.
* config/aarch64/aarch64.c: Add attrs.h header file.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/arm.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cr16/cr16.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin.c: Likewise.
* config/epiphany/epiphany.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/ft32/ft32.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/msp430/msp430.c: Likewise.
* config/nds32/nds32-isr.c: Likewise.
* config/nds32/nds32.c: Likewise.
* config/nios2/nios2.c: Likewise.
* config/nvptx/nvptx.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/powerpcspe/powerpcspe.c: Likewise.
* config/riscv/riscv.c: Likewise.
* config/rl78/rl78.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/visium/visium.c: Likewise.
* config/xtensa/xtensa.c: Likewise.
2017-08-08  Martin Liska  <mliska@suse.cz>

* call.c: Include header files.
* cp-gimplify.c: Likewise.
* cp-ubsan.c: Likewise.
* cvt.c: Likewise.
* init.c: Likewise.
* search.c: Likewise.
* semantics.c: Likewise.
* typeck.c: Likewise.
2017-08-08  Martin Liska  <mliska@suse.cz>

* lto-lang.c: Include header files.
* lto-symtab.c: Likewise.
2017-08-08  Martin Liska  <mliska@suse.cz>

* c-convert.c: Include header files.
* c-typeck.c: Likewise.
2017-08-08  Martin Liska  <mliska@suse.cz>

* c-ada-spec.c: Include header files.
* c-ubsan.c: Likewise.
* c-warn.c: Likewise.
2017-08-08  Martin Liska  <mliska@suse.cz>

* trans-types.c: Include header files.

From-SVN: r250946

7 years agoDaily bump.
GCC Administrator [Tue, 8 Aug 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r250940

7 years agore PR target/81593 (Optimize PowerPC vector set from vector extract)
Michael Meissner [Mon, 7 Aug 2017 23:51:27 +0000 (23:51 +0000)]
re PR target/81593 (Optimize PowerPC vector set from vector extract)

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

PR target/81593
* config/rs6000/vsx.md (vsx_concat_<mode>, VSX_D): Cleanup
constraints since the -mupper-regs-* switches have been
eliminated.
(vsx_concat_<mode>_1): New combiner insns to recognize inserting
into a vector from a double word element that was extracted from
another vector, and eliminate extra XXPERMDI instructions.
(vsx_concat_<mode>_2): Likewise.
(vsx_concat_<mode>_3): Likewise.
(vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
concat to allow optimizing inserts from previous extracts.

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

PR target/81593
* gcc.target/powerpc/vec-setup.h: New tests to test various
combinations of setting up vectors of 2 double word elements.
* gcc.target/powerpc/vec-setup-long.c: Likewise.
* gcc.target/powerpc/vec-setup-double.c: Likewise.
* gcc.target/powerpc/vec-setup-be-long.c: Likewise.
* gcc.target/powerpc/vec-setup-be-double.c: Likewise.
* gcc.target/powerpc/vsx-extract-6.c: New tests for optimzing
vector inserts from vector extracts.
* gcc.target/powerpc/vsx-extract-7.c: Likewise.

From-SVN: r250936

7 years agoi386.c (ix86_stack_protect_guard): Generate memory reference to a SSP offset in TLS...
Uros Bizjak [Mon, 7 Aug 2017 20:35:00 +0000 (22:35 +0200)]
i386.c (ix86_stack_protect_guard): Generate memory reference to a SSP offset in TLS address space.

* config/i386/i386.c (ix86_stack_protect_guard): Generate
memory reference to a SSP offset in TLS address space.
(ix86_print_operand) <case '@'>: Remove.
(ix86_print_operand_punct_valid_p): Remove '@' code.
* config/i386/i386.md (unspec): Remove UNSPEC_SP_TLS_SET and
UNSPEC_SP_TLS_TEST.
(stack_tls_protect_set_<mode>): Remove.
(stack_protect_set): Do not call gen_stack_tls_protect_set_<mode>.
(stack_tls_protect_test_<mode>): Remove.
(stack_protect_test): Do not call gen_stack_tls_protect_test_<mode>.

From-SVN: r250932

7 years agoOlivier Hainque <hainque@adacore.com>
Olivier Hainque [Mon, 7 Aug 2017 20:13:53 +0000 (20:13 +0000)]
Olivier Hainque  <hainque@adacore.com>

PR target/81755
* config/vxworksae.h (VXWORKS_HAVE_TLS): Define.

From-SVN: r250931

7 years agoMakefile.in (install-mkheaders): Fix typo, where the multi_dir variable was reference...
Doug Rupp [Mon, 7 Aug 2017 19:55:55 +0000 (19:55 +0000)]
Makefile.in (install-mkheaders): Fix typo, where the multi_dir variable was referenced as multidir in command.

2017-08-07  Douglas Rupp  <rupp@adacore.com>

* Makefile.in (install-mkheaders): Fix typo, where the multi_dir
variable was referenced as multidir in command.

From-SVN: r250930

7 years agore PR c/69389 (bit field incompatible with OpenMP atomic update)
Jakub Jelinek [Mon, 7 Aug 2017 18:34:29 +0000 (20:34 +0200)]
re PR c/69389 (bit field incompatible with OpenMP atomic update)

PR c/69389
* gimplify.c (goa_stabilize_expr): Handle BIT_INSERT_EXPR and
BIT_FIELD_REF.

* c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.

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

From-SVN: r250929

7 years agoAdd missing header file attribs.h to couple of targets.
Martin Liska [Mon, 7 Aug 2017 17:12:52 +0000 (19:12 +0200)]
Add missing header file attribs.h to couple of targets.

2017-08-07  Martin Liska  <mliska@suse.cz>

* config/m32c/m32c.c: Add include of stringpool.h and attribs.h.
* config/rl78/rl78.c: Add include of attribs.h.
* config/sh/sh.c: Likewise.
* config/v850/v850.c: Likewise.

From-SVN: r250926

7 years agoFix diff_type in expand_oacc_for char iter_type
Tom de Vries [Mon, 7 Aug 2017 17:06:11 +0000 (17:06 +0000)]
Fix diff_type in expand_oacc_for char iter_type

2017-08-07  Tom de Vries  <tom@codesourcery.com>

PR middle-end/78266
* omp-expand.c (expand_oacc_for): Ensure diff_type is large enough.

* testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.

From-SVN: r250925

7 years agoFix missing include of header file in mips.c.
Martin Liska [Mon, 7 Aug 2017 16:47:56 +0000 (18:47 +0200)]
Fix missing include of header file in mips.c.

2017-08-07  Martin Liska  <mliska@suse.cz>

* config/mips/mips.c: Include attribs.h.

From-SVN: r250924

7 years agore PR fortran/68829 (Segfaults with -Ofast due to large array on stack)
Thomas Koenig [Mon, 7 Aug 2017 16:43:05 +0000 (16:43 +0000)]
re PR fortran/68829 (Segfaults with -Ofast due to large array on stack)

2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/68829
* doc/invoke.texi: Document change in behvaior for -Ofast for
Fortran.

2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/68829
PR fortran/81701
* options.c: Make -Ofast honor -fmax-stack-var-size.
* invoke.texi: Document change.

2017-08-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/68829
PR fortran/81701
* gfortran.dg/o_fast_stacksize.90:  New test.

From-SVN: r250923

7 years ago* es.po: Update.
Joseph Myers [Mon, 7 Aug 2017 15:56:00 +0000 (16:56 +0100)]
* es.po: Update.

From-SVN: r250921

7 years agoc-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
Eric Botcazou [Mon, 7 Aug 2017 15:09:07 +0000 (15:09 +0000)]
c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.

* c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
(print_ada_methods): Likewise.
(print_ada_declaration): Likewise.

From-SVN: r250920

7 years ago[AArch64] Use gen_frame_mem for callee-saves
Wilco Dijkstra [Mon, 7 Aug 2017 14:17:09 +0000 (14:17 +0000)]
[AArch64] Use gen_frame_mem for callee-saves

The frame code uses a mixture of gen_rtx_MEM and gen_frame_mem for
callee-saves.  Callee-saves never alias with local variables, so using
gen_frame_mem is best.

    gcc/
* config/aarch64/aarch64.c (aarch64_pushwb_single_reg):
Use gen_frame_mem.
(aarch64_pop_regs): Likewise.
(aarch64_gen_load_pair): Likewise.
(aarch64_save_callee_saves): Likewise.
(aarch64_restore_callee_saves): Likewise.

From-SVN: r250919

7 years agoFix unresolved in gcc.dg/pr46932.c
Wilco Dijkstra [Mon, 7 Aug 2017 13:56:02 +0000 (13:56 +0000)]
Fix unresolved in gcc.dg/pr46932.c

Build only if pre-increment is supported.  Given there is no config test,
add a list of targets which have HAVE_PRE_INCREMENT set.

    testsuite/
PR middle-end/46932
* gcc.dg/pr46932.c: Compile on targets with pre-increment.

From-SVN: r250918

7 years agoRevert r250916
H.J. Lu [Mon, 7 Aug 2017 13:28:47 +0000 (13:28 +0000)]
Revert r250916

From-SVN: r250917

7 years agoi386: Don't use frame pointer without stack access
H.J. Lu [Mon, 7 Aug 2017 11:49:10 +0000 (11:49 +0000)]
i386: Don't use frame pointer without stack access

When there is no stack access, there is no need to use frame pointer
even if -fno-omit-frame-pointer is used.

gcc/

PR target/81736
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Renamed
to ...
(ix86_finalize_stack_frame_flags): This.  Also clear
frame_pointer_needed if -fno-omit-frame-pointer is used without
stack access.
(ix86_expand_prologue): Replace ix86_finalize_stack_realign_flags
with ix86_finalize_stack_frame_flags.
(ix86_expand_epilogue): Likewise.
(ix86_expand_split_stack_prologue): Likewise.

gcc/testsuite/

PR target/81736
* gcc.target/i386/pr81736-1.c: New test.
* gcc.target/i386/pr81736-2.c: Likewise.
* gcc.target/i386/pr81736-3.c: Likewise.
* gcc.target/i386/pr81736-4.c: Likewise.

From-SVN: r250916

7 years agoi386: Set priority to P_AES for Westmere
H.J. Lu [Mon, 7 Aug 2017 11:47:22 +0000 (11:47 +0000)]
i386: Set priority to P_AES for Westmere

The difference between Nehalem and Westmere is AES.  We should set
priority to P_AES for Westmere, not P_PROC_SSE4_2 which is for Nehalem.
Otherwise, we will pick Nehalem implementation on Westmere.  Tested on
Westmere.

PR target/81743
* config/i386/i386.c (get_builtin_code_for_version): Set priority
to P_AES for Westmere.

From-SVN: r250915

7 years agoShare mingw fset-stack-executable with cygwin
Jonathan Yong [Mon, 7 Aug 2017 11:40:08 +0000 (11:40 +0000)]
Share mingw fset-stack-executable with cygwin

This patch is in use by Cygwin for years, upstream to GCC.

* gcc/config/i386/mingw.opt (fset-stack-executable): Removed.
* gcc/config/i386/cygming.opt (fset-stack-executable): Moved
from mingw.opt.
* gcc/config/i386/cygwin.h: Define CHECK_EXECUTE_STACK_ENABLED.
* ligcc/config.host (*-cygwin): Include file from mingw
config/i386/enable-execute-stack-mingw32.c

From-SVN: r250914

7 years agoprint-rtl: NOT is ~, not !
Segher Boessenkool [Mon, 7 Aug 2017 10:21:32 +0000 (12:21 +0200)]
print-rtl: NOT is ~, not !

Slim RTL dumps print the RTL code NOT as !, but that is misleading:
its semantics are like the C operator ~.  This fixes it.

* print-rtl.c (print_exp): Print NOT as "~" instead of as "!".

From-SVN: r250913

7 years agore PR middle-end/81737 (164.gzip in SPEC CPU 2000 failed to build)
Marek Polacek [Mon, 7 Aug 2017 09:13:02 +0000 (09:13 +0000)]
re PR middle-end/81737 (164.gzip in SPEC CPU 2000 failed to build)

PR middle-end/81737
* fold-const.c (fold_indirect_ref_1): Check type_domain.

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

From-SVN: r250912

7 years agoCanonicalize names of attributes.
Martin Liska [Mon, 7 Aug 2017 08:37:07 +0000 (10:37 +0200)]
Canonicalize names of attributes.

2017-08-07  Martin Liska  <mliska@suse.cz>

* attribs.h (canonicalize_attr_name): New function.
(cmp_attribs): Move from c-format.c and adjusted.
(is_attribute_p): Moved from tree.h.
* tree-inline.c: Add new includes.
* tree.c (cmp_attrib_identifiers): Use cmp_attribs.
(private_is_attribute_p): Remove.
(private_lookup_attribute): Likewise.
(private_lookup_attribute_by_prefix): Simplify.
(remove_attribute): Use is_attribute_p.
* tree.h: Remove removed declarations.
2017-08-07  Martin Liska  <mliska@suse.cz>

* array-notation-common.c: Add new includes.
* c-format.c( handle_format_attribute): Canonicalize a format
function name.
* c-lex.c (c_common_has_attribute): Canonicalize name of an
attribute.
* c-pretty-print.c: Add new include.
2017-08-07  Martin Liska  <mliska@suse.cz>

* parser.c (cp_parser_gnu_attribute_list): Canonicalize name of an
attribute.
(cp_parser_std_attribute): Likewise.
* tree.c: Add new include.
2017-08-07  Martin Liska  <mliska@suse.cz>

* c-parser.c (c_parser_attributes): Canonicalize name of an
attribute.
2017-08-07  Martin Liska  <mliska@suse.cz>

* go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
and not __no_split_stack__.
2017-08-07  Martin Liska  <mliska@suse.cz>

* g++.dg/cpp0x/pr65558.C: Update scanned pattern.
* gcc.dg/parm-impl-decl-1.c: Likewise.
* gcc.dg/parm-impl-decl-3.c: Likewise.
* gcc.dg/Wattributes-5.c: New test.

From-SVN: r250911

7 years ago* include/system/sys/ptrace.h: New file.
Jakub Jelinek [Mon, 7 Aug 2017 08:32:47 +0000 (10:32 +0200)]
* include/system/sys/ptrace.h: New file.

From-SVN: r250910

7 years agore PR middle-end/81698 (expand_case uses wrong edge as default edge)
Jakub Jelinek [Mon, 7 Aug 2017 08:29:21 +0000 (10:29 +0200)]
re PR middle-end/81698 (expand_case uses wrong edge as default edge)

PR middle-end/81698
* stmt.c (emit_case_dispatch_table): Add DEFAULT_EDGE argument,
instead of computing it in the function.  Formatting fix.
(expand_case): Don't rely on default_edge being the first edge,
clear it if removing it, pass default_edge to
emit_case_dispatch_table.
(expand_sjlj_dispatch_table): Pass NULL as DEFAULT_EDGE, formatting
fix.

From-SVN: r250909

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

From-SVN: r250908

7 years agotarget_attr_10.c: Add -mcpu=generic.
Andrew Pinski [Sun, 6 Aug 2017 19:04:57 +0000 (19:04 +0000)]
target_attr_10.c: Add -mcpu=generic.

2017-08-06  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/target_attr_10.c: Add -mcpu=generic.
        * gcc.target/aarch64/target_attr_13.c: LIkewise.
        * gcc.target/aarch64/target_attr_15.c: LIkewise.
        * gcc.target/aarch64/target_attr_4.c: Likewise.
        * gcc.target/aarch64/target_attr_1.c: Add -march=armv8-a.
        * gcc.target/aarch64/target_attr_2.c: Likewise.
        * gcc.target/aarch64/target_attr_7.c: Likewise.
        * gcc.target/aarch64/target_attr_crypto_ice_1.c: Likewise.
        * gcc.target/aarch64/target_attr_crypto_ice_2.c: Likewise.
        * gcc.target/aarch64/target_attr_3.c: Add -mcpu=generic -march=armv8-a.

From-SVN: r250904

7 years agoatomic_cmp_exchange_zero_reg_1.c: Pass -march=armv8-a+nolse, skip if -mcpu= is passed.
Andrew Pinski [Sun, 6 Aug 2017 18:10:58 +0000 (18:10 +0000)]
atomic_cmp_exchange_zero_reg_1.c: Pass -march=armv8-a+nolse, skip if -mcpu= is passed.

2017-08-06  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/atomic_cmp_exchange_zero_reg_1.c: Pass
        -march=armv8-a+nolse, skip if -mcpu= is passed.
        * gcc.target/aarch64/atomic_cmp_exchange_zero_strong_1.c: Likewise.

From-SVN: r250903