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
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
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
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
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
GCC Administrator [Fri, 11 Aug 2017 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r251045
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 10 Aug 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r251017
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Marek Polacek [Wed, 9 Aug 2017 12:34:36 +0000 (12:34 +0000)]
Boolify some parameters.
From-SVN: r250986
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
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
GCC Administrator [Wed, 9 Aug 2017 00:16:27 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250983
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 8 Aug 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250940
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
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
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
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
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
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
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
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
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
Joseph Myers [Mon, 7 Aug 2017 15:56:00 +0000 (16:56 +0100)]
* es.po: Update.
From-SVN: r250921
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
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
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
H.J. Lu [Mon, 7 Aug 2017 13:28:47 +0000 (13:28 +0000)]
Revert r250916
From-SVN: r250917
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
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
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
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
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
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
Jakub Jelinek [Mon, 7 Aug 2017 08:32:47 +0000 (10:32 +0200)]
* include/system/sys/ptrace.h: New file.
From-SVN: r250910
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
GCC Administrator [Mon, 7 Aug 2017 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250908
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
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
Andrew Pinski [Sun, 6 Aug 2017 17:47:03 +0000 (17:47 +0000)]
_Float16_1.c: Skip if supplied a -mcpu= option.
2017-08-06 Andrew Pinski <apinski@cavium.com>
* gcc.target/aarch64/_Float16_1.c: Skip if supplied a -mcpu= option.
* gcc.target/aarch64/_Float16_2.c: Likewise.
* gcc.target/aarch64/_Float16_3.c: Likewise.
From-SVN: r250902
Uros Bizjak [Sun, 6 Aug 2017 15:48:37 +0000 (17:48 +0200)]
alpha.c (alpha_reorg): If trap is the last active insn in the function, emit NOP after the insn.
* config/alpha/alpha.c (alpha_reorg): If trap is the last active
insn in the function, emit NOP after the insn.
From-SVN: r250901
Tom de Vries [Sun, 6 Aug 2017 09:56:38 +0000 (09:56 +0000)]
Add missing edge probabilities in expand_oacc_for, tile case
;; basic block 11, loop depth 2, freq 0, maybe hot
;; prev block 22, next block 23, flags: (NEW, REACHABLE)
;; pred: 22 (TRUE_VALUE)
;; 24 (TRUE_VALUE)
...
if (.e_offset.15D.1971 < .e_bound.14D.1972)
- goto <bb 23>; [100.00%] [count: INV]
+ goto <bb 23>; [80.01%] [count: INV]
else
- goto <bb 24>; [INV] [count: INV]
+ goto <bb 24>; [19.99%] [count: INV]
;; basic block 23, loop depth 3, freq 0, maybe hot
;; prev block 11, next block 24, flags: (NEW)
;; pred: 11 [always] (TRUE_VALUE)
;; 23 (TRUE_VALUE)
ixD.1974 = .outer.4D.1967 + .e_offset.15D.1971;
.e_offset.15D.1971 = .e_offset.15D.1971 + .e_step.16D.1973;
if (.e_offset.15D.1971 < .e_bound.14D.1972)
- goto <bb 23>; [INV] [count: INV]
+ goto <bb 23>; [80.01%] [count: INV]
else
- goto <bb 24>; [100.00%] [count: INV]
+ goto <bb 24>; [19.99%] [count: INV]
2017-08-06 Tom de Vries <tom@codesourcery.com>
* omp-expand.c (expand_oacc_for): Add missing edge probability for tile
and element loops.
From-SVN: r250900
Tom de Vries [Sun, 6 Aug 2017 09:56:25 +0000 (09:56 +0000)]
Add missing edge probability in expand_oacc_for
;; basic block 10, loop depth 1, freq 0, maybe hot
;; prev block 9, next block 19, flags: (NEW, REACHABLE)
;; pred: 18 (FALSE_VALUE)
;; 9 (FALSE_VALUE)
GIMPLE_NOP
.chunk_no.7D.1948 = .chunk_no.7D.1948 + 1;
if (.chunk_no.7D.1948 < .chunk_max.6D.1949)
- goto <bb 18>; [INV] [count: INV]
+ goto <bb 18>; [80.01%] [count: INV]
else
- goto <bb 19>; [100.00%] [count: INV]
+ goto <bb 19>; [19.99%] [count: INV]
2017-08-06 Tom de Vries <tom@codesourcery.com>
* omp-expand.c (expand_oacc_for): Add missing edge probability for chunk
loop.
From-SVN: r250899
Tom de Vries [Sun, 6 Aug 2017 08:26:24 +0000 (08:26 +0000)]
Require nonlocal_goto for gcc.dg/pr78582.c
2017-08-06 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr78582.c: Require effective target nonlocal_goto.
From-SVN: r250898
Tom de Vries [Sun, 6 Aug 2017 08:26:12 +0000 (08:26 +0000)]
Fix my_memmove in gcc.c-torture/execute/builtins/memops-asm-lib.c
2017-08-06 Tom de Vries <tom@codesourcery.com>
* gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memmove): Fix return
type. Add missing return.
From-SVN: r250897
Tom de Vries [Sun, 6 Aug 2017 07:54:29 +0000 (07:54 +0000)]
Fix call arguments mismatch in gcc.dg/torture/pr78218.c
2017-08-06 Tom de Vries <tom@codesourcery.com>
PR testsuite/81731
* gcc.dg/torture/pr78218.c (struct v): New type, factored type out of
variable 'a' definition.
(b): Remove unused variable.
(gp): New variable.
(check): Add parameter corresponding to call in main, and handle.
From-SVN: r250896
GCC Administrator [Sun, 6 Aug 2017 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r250894