summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* i386: Replace frame pointer with stack pointer in debug insnshjl/pr81820/masterH.J. Lu2017-08-111-0/+36
| | | | | | | | | | | | | | | | | | | | | | | When we eliminate frame pointer, we should also replace frame pointer with stack pointer - UNITS_PER_WORD in debug insns. This patch fixed: FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b1 == 9 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b2 == 73 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b3 == 585 FAIL: gcc.dg/guality/pr58791-5.c -Os line pr58791-5.c:20 b4 == 4681 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s1.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s1.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:17 s2.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s1.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s1.g == 6.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s2.f == 5.0 FAIL: gcc.dg/guality/pr59776.c -Os line pr59776.c:20 s2.g == 6.0 on Linux/i386. PR target/81820 * config/i386/i386.c (ix86_finalize_stack_frame_flags): Replace frame pointer with stack pointer - UNITS_PER_WORD in debug insns.
* PR c/81795mpolacek2017-08-114-10/+33
| | | | | | | | | | * c-decl.c (pushtag): Only print inform if the warning was printed. (grokdeclarator): Likewise. * gcc.dg/pr81795.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251056 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2017-08-112-4/+8
| | | | | | | | * invoke.texi: Actually commit change about -Ofast. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251055 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-11 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2017-08-114-13/+33
| | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251054 138bc75d-0d04-0410-961f-82ee72b054a4
* [PR lto/81430] Revert "Add nvptx_override_options_after_change"tschwinge2017-08-112-14/+7
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251053 138bc75d-0d04-0410-961f-82ee72b054a4
* Correct invalid ChangeLog entrywschmidt2017-08-111-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251052 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-11 Tamar Christina <tamar.christina@arm.com>tnfchris2017-08-113-8/+9
| | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251051 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-sra.c (build_access_from_expr_1): Use more precise diagnosticsebotcazou2017-08-112-1/+12
| | | | | | | for storage order barriers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251050 138bc75d-0d04-0410-961f-82ee72b054a4
* Do not instrument void variables with MPX (PR tree-opt/79987).marxin2017-08-114-0/+19
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251049 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce TARGET_SUPPORTS_ALIASESmarxin2017-08-1112-49/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251048 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix ifunc and resolver (PR ipa/81213).marxin2017-08-114-19/+48
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251047 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/81671 - nullptr_t template parameterjason2017-08-113-1/+21
| | | | | | * pt.c (convert_nontype_argument): Fix nullptr_t check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251046 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-08-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251045 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/81808 skip test if reading directory doesn't failredi2017-08-112-0/+31
| | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251041 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/81708uros2017-08-106-9/+71
| | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251040 138bc75d-0d04-0410-961f-82ee72b054a4
* Rename ix86_split_stack_boundary to ix86_split_stack_guard.uros2017-08-104-9/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251039 138bc75d-0d04-0410-961f-82ee72b054a4
* PR81738: Split vect-alias-check-6.crsandifo2017-08-103-9/+25
| | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251037 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/81359 - Unparsed NSDMI error from SFINAE context.jason2017-08-103-4/+21
| | | | | | | * method.c (synthesized_method_walk): Don't diagnose lack of operator delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251036 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/80452 - Core 1579, implicit move semantics on return/throwjason2017-08-106-19/+92
| | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251035 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (ix86_split_stack_boundary): Add comment.uros2017-08-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251033 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386-protos.h (ix86_split_stack_boundary): New prototype.uros2017-08-104-45/+47
| | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251031 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:msebor2017-08-102-27/+34
| | | | | | | | | | | * print-tree.c (print_node): Print location using the established format %s:%i%i. Replace spaces with colons. (debug_raw, debug): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251030 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/81586 - valgrind error in output_buffer_append_r with -Wallmsebor2017-08-102-1/+16
| | | | | | | | | | | gcc/ChangeLog: PR c++/81586 * pretty-print.c (pp_format): Correct the handling of %s precision. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251029 138bc75d-0d04-0410-961f-82ee72b054a4
* i386: Don't use frame pointer without stack accesshjl2017-08-1011-11/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251028 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/testsuite]willschm2017-08-103-2/+7
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251027 138bc75d-0d04-0410-961f-82ee72b054a4
* C/C++: show pertinent open token when missing a close tokendmalcolm2017-08-1017-518/+1279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251026 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-10 Fritz Reese <fritzoreese@gmail.com>foreese2017-08-102-5/+12
| | | | | | | | | | | gcc/fortran/ChangeLog: * options.c (set_dec_flags): Only set legacy standards when value is not zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251025 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-10 Fritz Reese <Reese-Fritz@zai.com>foreese2017-08-105-7/+38
| | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251024 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-10 Fritz Reese <Reese-Fritz@zai.com>foreese2017-08-108-2/+185
| | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251023 138bc75d-0d04-0410-961f-82ee72b054a4
* * objc.dg/proto-lossage-4.m: Accept int/long int as intptr_t.mpolacek2017-08-102-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251022 138bc75d-0d04-0410-961f-82ee72b054a4
* PR testsuite/81784mpolacek2017-08-102-8/+13
| | | | | | | * gcc.dg/compare2.c: Update dg-bogus and dg-warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251021 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix target attribute handling (PR c++/81355).marxin2017-08-104-0/+38
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251020 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/81687jakub2017-08-106-1/+92
| | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251019 138bc75d-0d04-0410-961f-82ee72b054a4
* jit: add gcc_jit_type_get_vectordmalcolm2017-08-1018-464/+1047
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251018 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2017-08-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251017 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-09 Andrew Pinski <apinski@cavium.com>pinskia2017-08-102-1/+6
| | | | | | | | | * gcc.target/aarch64/vect-xorsign_exec.c: Add --save-temps to the options passed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251013 138bc75d-0d04-0410-961f-82ee72b054a4
* This time with the file added.segher2017-08-091-0/+36
| | | | | | | | | | | Testcase for PR81423 gcc/testsuite/ PR rtl-optimization/81423 * gcc.c-torture/execute/pr81423.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251011 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-09 Michael Collison <michael.collison@arm.com>collison2017-08-095-10/+14
| | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251010 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix test for __has_unique_object_representations support in Clangredi2017-08-092-6/+14
| | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251009 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix test for __is_aggregate support in Clangredi2017-08-092-2/+7
| | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251008 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]willschm2017-08-093-5/+39
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251007 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: fix buglet in lshift type determinationian2017-08-092-2/+2
| | | | | | | | | | | | | | | | 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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251006 138bc75d-0d04-0410-961f-82ee72b054a4
* rs6000: Use SAVE_MULTIPLE only if we restore what it saves (PR80938)segher2017-08-092-0/+21
| | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251005 138bc75d-0d04-0410-961f-82ee72b054a4
* Testcase for PR81423segher2017-08-091-0/+5
| | | | | | | | | gcc/testsuite/ PR rtl-optimization/81423 * gcc.c-torture/execute/pr81423.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251004 138bc75d-0d04-0410-961f-82ee72b054a4
* Add falkor pipeline description.wilson2017-08-094-2/+691
| | | | | | | | | | | gcc/ * config/aarch64/aarch64-cores.def (falkor): Use falkor pipeline. (qdf24xx): Likewise. * config/aarch64/aarch64.md: Include falkor.md. * config/aarch64/falkor.md: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251003 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/81525 - wrong constant value with generic lambdajason2017-08-093-0/+36
| | | | | | | * pt.c (tsubst_decl) [VAR_DECL]: Avoid clobbering auto. (tsubst_copy) [VAR_DECL]: Handle auto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250999 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/testsuite]willschm2017-08-095-0/+109
| | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250998 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/testsuite]willschm2017-08-093-0/+55
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250997 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/testsuite]willschm2017-08-094-0/+78
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250996 138bc75d-0d04-0410-961f-82ee72b054a4
* 2017-08-09 Will Schmidt <will_schmidt@vnet.ibm.com>willschm2017-08-095-0/+95
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250995 138bc75d-0d04-0410-961f-82ee72b054a4