1. 22 Feb, 2018 23 commits
    • runtime: funcfileline: get missing function name from symbol table · afedc99b
          
          Copy the idea of https://golang.org/cl/92756 to funcfileline, which is
          used by runtime.FuncForPC, runtime.(*Frames).Next, and others.
          
          Reviewed-on: https://go-review.googlesource.com/96175
      
      From-SVN: r257913
      Ian Lance Taylor committed
    • PR tree-optimization/84480 - bogus -Wstringop-truncation despite assignment with… · 5d0d5d68
      PR tree-optimization/84480 - bogus -Wstringop-truncation despite assignment with an inlined string literal
      
      gcc/ChangeLog:
      
      	PR tree-optimization/84480
      	* gimple-fold.c (gimple_fold_builtin_strcpy): Move warnings
      	to maybe_diag_stxncpy_trunc.  Call it.
      	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Integrate warnings
      	from gimple_fold_builtin_strcpy.  Print inlining stack.
      	(handle_builtin_stxncpy): Print inlining stack.
      	* tree-ssa-strlen.h (maybe_diag_stxncpy_trunc): Declare.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/84480
      	* c-c++-common/Wstringop-truncation.c: Adjust text of expected warnings.
      	* g++.dg/warn/Wstringop-truncation-1.C: New test.
      
      From-SVN: r257910
      Martin Sebor committed
    • i386: Add __x86_indirect_thunk_nt_reg for -fcf-protection -mcet · 73b8b822
      nocf_check attribute can be used with -fcf-protection -mcet to disable
      control-flow check by adding NOTRACK prefix before indirect branch.
      When -mindirect-branch=thunk-extern -mindirect-branch-register is added,
      indirect branch via register, "notrack call/jmp reg", is converted to
      
          call/jmp __x86_indirect_thunk_nt_reg
      
      When running on machines with CET enabled, __x86_indirect_thunk_nt_reg
      can be updated to
      
          notrack jmp reg
      
      at run-time to restore NOTRACK prefix in the original indirect branch.
      
      Since we don't support -mindirect-branch=thunk-extern, CET and MPX at
      the same time, -mindirect-branch=thunk-extern is disallowed with
      -fcf-protection=branch and -fcheck-pointer-bounds.
      
      Tested on i686 and x86-64.
      
      gcc/
      
      	PR target/84176
      	* config/i386/i386.c (ix86_set_indirect_branch_type): Issue an
      	error when -mindirect-branch=thunk-extern, -fcf-protection=branch
      	and -fcheck-pointer-bounds are used together.
      	(indirect_thunk_prefix): New enum.
      	(indirect_thunk_need_prefix): New function.
      	(indirect_thunk_name): Replace need_bnd_p with need_prefix.  Use
      	"_nt" instead of "_bnd" for NOTRACK prefix.
      	(output_indirect_thunk): Replace need_bnd_p with need_prefix.
      	(output_indirect_thunk_function): Likewise.
      	(): Likewise.
      	(ix86_code_end): Update output_indirect_thunk_function calls.
      	(ix86_output_indirect_branch_via_reg): Replace
      	ix86_bnd_prefixed_insn_p with indirect_thunk_need_prefix.
      	(ix86_output_indirect_branch_via_push): Likewise.
      	(ix86_output_function_return): Likewise.
      	* doc/invoke.texi: Document -mindirect-branch=thunk-extern is
      	incompatible with -fcf-protection=branch and
      	-fcheck-pointer-bounds.
      
      gcc/testsuite/
      
      	PR target/84176
      	* gcc.target/i386/indirect-thunk-11.c: New test.
      	* gcc.target/i386/indirect-thunk-12.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-12.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-13.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-14.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-15.c: Likewise.
      	* gcc.target/i386/indirect-thunk-attr-16.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-10.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-8.c: Likewise.
      	* gcc.target/i386/indirect-thunk-extern-9.c: Likewise.
      
      From-SVN: r257909
      H.J. Lu committed
    • re PR target/83335 ([aarch64,ilp32] gcc.target/aarch64/asm-2.c ICEs since 255481) · eae52f30
      2018-02-22  Steve Ellcey  <sellcey@cavium.com>
      
      	PR target/83335
      	* gcc/testsuite/gcc.target/aarch64/asm-2.c: Add dg-error for
      	ILP32 mode.
      	* gcc/testsuite/gcc.target/aarch64/asm-4.c: New test.
      
      From-SVN: r257908
      Steve Ellcey committed
    • re PR target/83335 ([aarch64,ilp32] gcc.target/aarch64/asm-2.c ICEs since 255481) · 67c58c8f
      2018-02-22  Steve Ellcey  <sellcey@cavium.com>
      
      	PR target/83335
      	* config/aarch64/aarch64.c (aarch64_print_address_internal):
      	Change gcc_assert call to output_operand_lossage.
      
      From-SVN: r257907
      Steve Ellcey committed
    • extend.texi (__builtin_extend_pointer): Document builtin. · c74a0faa
      2018-02-22  Steve Ellcey  <sellcey@cavium.com>
      
      	* doc/extend.texi (__builtin_extend_pointer): Document builtin.
      
      From-SVN: r257906
      Steve Ellcey committed
    • rx.c (rx_rtx_costs): New function. · ea49b4dd
      gcc/
      	* config/rx/rx.c (rx_rtx_costs): New function.
      	(TARGET_RTX_COSTS): Override to use rx_rtx_costs.
      
      
      Co-Authored-By: Oleg Endo <olegendo@gcc.gnu.org>
      Co-Authored-By: Sebastian Perta <sebastian.perta@renesas.com>
      
      From-SVN: r257905
      DJ Delorie committed
    • [ARM] Multilib mapping for Armv8-R · 9029d342
      Due to there being no multilib mapping for Armv8-R, default multilib
      builts for -march=armv4t with softfloat floating-point arithmetic is
      being used. This patch maps it instead to the existing Armv7 multilibs.
      Note that mapping for single-precision Armv8-R has been left out due to
      there being no Arm implementation of that architecture variant.
      
      2018-02-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/t-multilib: Map Armv8-R to Armv7 multilibs.
      
          gcc/testsuite/
          * gcc.target/arm/multilib.exp: Add tests for Armv8-R multilib mappings.
      
      From-SVN: r257904
      Thomas Preud'homme committed
    • PR 78534, 84509 Fix libgfortran API for PAUSE statement · 6cc22cf4
      This patch changes the libgfortran API for the PAUSE statement. By
      passing a GFC_INTEGER_8 it handles -fdefault-integer-8, and for the
      character version passing the length as a size_t.
      
      Regtested on x86_64-pc-linux-gnu, committed as obvious.
      
      gcc/fortran/ChangeLog:
      
      2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR 78534
      	PR 84509
      	* trans-decl.c (gfc_build_builtin_function_decls): Pass
      	gfc_int8_type node to pause_numeric, size_type_node to
      	pause_string.
      	* trans-stmt.c (gfc_trans_pause): Likewise.
      
      libgfortran/ChangeLog:
      
      2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR 78534
      	PR 84509
      	* runtime/pause.c (pause_numeric): Modify to take GFC_INTEGER_8
      	argument.
      	(pause_string): Modify to take size_t character length argument.
      
      From-SVN: r257903
      Janne Blomqvist committed
    • inclhack.def (aix_stdlib_vec_malloc): New. · 58730d18
      * inclhack.def (aix_stdlib_vec_malloc): New.
      (aix_stdlib_vec_calloc): New.
      * fixincl.x: Regenerate.
      * tests/base/stdlib.h [AIX_STDLIB_VEC_MALLOC]: New test.
      [AIX_STDLIB_VEC_CALLOC]: New test.
      
      From-SVN: r257902
      David Edelsohn committed
    • Add "native" as a valid option value for -mcpu/-mtune= on arm (PR driver/83193). · a11f3649
      2018-02-22  Martin Liska  <mliska@suse.cz>
      
      	PR driver/83193
      	* common/config/arm/arm-common.c (arm_print_hint_for_cpu_option):
      	Add "native" as a possible value.
      
      From-SVN: r257900
      Martin Liska committed
    • re PR c++/84493 (ICE with invalid cast) · caa7952a
      	PR c++/84493
      	* parser.c (cp_parser_braced_list): Use require_open instead of
      	consume_open.
      
      	* g++.dg/parse/error59.C: New test.
      
      From-SVN: r257899
      Marek Polacek committed
    • [testsuite] Require et alloca for pr82210.c · c8fe60e3
      2018-02-22  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.c-torture/execute/pr82210.c: Require effective target alloca.
      
      From-SVN: r257898
      Tom de Vries committed
    • re PR c++/77655 (ICE on invalid c++ code on x86_64-linux-gnu (internal compiler… · b9cf471a
      re PR c++/77655 (ICE on invalid c++ code on x86_64-linux-gnu (internal compiler error: Segmentation fault (program cc1plus)))
      
      2018-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/77655
      	* g++.dg/cpp0x/pr77655.C: New.
      
      From-SVN: r257896
      Paolo Carlini committed
    • re PR c++/84496 (Internal compiler error with lambda, static and auto since r236615) · 25c1b6cb
      	PR c++/84496
      	* g++.dg/cpp1y/pr84496.C: New test.
      
      From-SVN: r257895
      Jakub Jelinek committed
    • Character length cleanup for Coarray Fortran library · 3f5fabc0
      Following the change to use size_t for Fortran character lengths (PR
      78534), this patch modifies the Coarray ABI in a similar way. The
      single-image implementation that is included in libgfortran is
      updated, but this needs corresponding work in the OpenCoarray library
      as well for multi-image support. I also fixed the types for the STOP
      and ERROR STOP implementation in libgfortran, as the calling of them
      is somewhat intertwined with the calling of the corresponding CAF
      functions. I'll send the OpenCoarray changes as a separate pull
      request to the OpenCoarrays repository.
      
      Regtested on x86_64-pc-linux-gnu.
      
      gcc/fortran/ChangeLog:
      
      2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* gfortran.texi: Update Coarray API description.
      	* trans-decl.c (gfc_build_builtin_function_decls): Use size_t for
      	character lengths, int for exit codes.
      	(generate_coarray_sym_init): Use size_t for character length.
      	* trans-intrinsic.c (conv_co_collective): Likewise.
      	* trans-stmt.c (gfc_trans_lock_unlock): Likewise.
      	(gfc_trans_event_post_wait): Likewise.
      	(gfc_trans_sync): Likewise.
      	(gfc_trans_stop): Use size_t for character lengths, int for exit
      	codes.
      
      libgfortran/ChangeLog:
      
      2018-02-22  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* libgfortran.h (stop_string): Use size_t for character length.
      	* runtime/stop.c (stop_string): Likewise.
      	(error_stop_string): Likewise.
      	(stop_numeric): Use int for exit code.
      	(error_stop_numeric): Likewise.
      	* caf/libcaf.h: Remove stdint.h include.
      	(_gfortran_caf_register): Use size_t for character length.
      	(_gfortran_caf_deregister): Likewise.
      	(_gfortran_caf_sync_all): Likewise.
      	(_gfortran_caf_sync_memory): Likewise.
      	(_gfortran_caf_sync_images): Likewise.
      	(_gfortran_caf_stop_numeric): Use int for exit code.
      	(_gfortran_caf_stop_str): Use size_t for character length.
      	(_gfortran_caf_error_stop_str): Likewise.
      	(_gfortran_caf_error_stop): Use int for exit code.
      	(_gfortran_caf_co_broadcast): Use size_t for character length.
      	(_gfortran_caf_co_sum): Likewise.
      	(_gfortran_caf_co_min): Likewise.
      	(_gfortran_caf_co_max): Likewise.
      	(_gfortran_caf_co_reduce): Likewise.
      	(_gfortran_caf_lock): Likewise.
      	(_gfortran_caf_unlock): Likewise.
      	(_gfortran_caf_event_post): Likewise.
      	(_gfortran_caf_event_wait): Likewise.
      	* caf/mpi.c (_gfortran_caf_register): Update implementation to
      	match prototype.
      	(_gfortran_caf_deregister): Likewise.
      	(_gfortran_caf_sync_all): Likewise.
      	(_gfortran_caf_sync_images): Likewise.
      	(_gfortran_caf_error_stop_str): Likewise.
      	(_gfortran_caf_error_stop): Likewise.
      	* caf/single.c (caf_internal_error): Likewise.
      	(_gfortran_caf_register): Likewise.
      	(_gfortran_caf_deregister): Likewise.
      	(_gfortran_caf_sync_all): Likewise.
      	(_gfortran_caf_sync_memory): Likewise.
      	(_gfortran_caf_sync_images): Likewise.
      	(_gfortran_caf_stop_numeric): Likewise.
      	(_gfortran_caf_stop_str): Likewise.
      	(_gfortran_caf_error_stop_str): Likewise.
      	(_gfortran_caf_error_stop): Likewise.
      	(_gfortran_caf_co_broadcast): Likewise.
      	(_gfortran_caf_co_sum): Likewise.
      	(_gfortran_caf_co_min): Likewise.
      	(_gfortran_caf_co_max): Likewise.
      	(_gfortran_caf_co_reduce): Likewise.
      	(_gfortran_caf_event_post): Likewise.
      	(_gfortran_caf_event_wait): Likewise.
      	(_gfortran_caf_lock): Likewise.
      	(_gfortran_caf_unlock): Likewise.
      
      From-SVN: r257894
      Janne Blomqvist committed
    • Add "native" as a valid option value for -march= on i386 (PR driver/83193). · 4b3fc654
      2018-02-22  Martin Liska  <mliska@suse.cz>
      
      	PR driver/83193
      	* config/i386/i386.c (ix86_option_override_internal):
      	Add "native" as a possible value for -march and -mtune.
      
      From-SVN: r257893
      Martin Liska committed
    • re PR c++/84502 (Argument corruption when passing empty templated struct) · d3d4a52a
      	PR target/84502
      	* stor-layout.c (finalize_type_size): Propagate TYPE_EMPTY_P flag
      	to all type variants.
      
      	* g++.dg/torture/pr84502.C: New test.
      
      From-SVN: r257892
      Jakub Jelinek committed
    • re PR tree-optimization/84503 (store-merging miscompilation on powerpc64 with -O3 since r241789) · c5679c37
      	PR tree-optimization/84503
      	* gimple-ssa-store-merging.c (merged_store_group::merge_into): Compute
      	width as info->bitpos + info->bitsize - start.
      	(merged_store_group::merge_overlapping): Simplify width computation.
      	(check_no_overlap): New function.
      	(imm_store_chain_info::try_coalesce_bswap): Compute expected
      	start + width and last_order of the group, fail if check_no_overlap
      	fails.
      	(imm_store_chain_info::coalesce_immediate_stores): Don't merge info
      	to group if check_no_overlap fails.
      
      	* gcc.dg/pr84503-1.c: New test.
      	* gcc.dg/pr84503-2.c: New test.
      
      From-SVN: r257891
      Jakub Jelinek committed
    • rs6000: Delete meaningless arguments to define_{expand,split,peephole2} · ad18eed2
      This removes the (usually empty) constraint arguments to define_expand,
      define_split, and define_peephole2: this argument is meaningless and
      just noise.
      
      
      	* config/rs6000/altivec.md: Delete contraint arguments to
      	define_expand, define_split, and define_peephole2, and in
      	define_insn_and_split if always unused.
      	* config/rs6000/darwin.md: Ditto.
      	* config/rs6000/dfp.md: Ditto.
      	* config/rs6000/rs6000.md: Ditto.
      	* config/rs6000/sync.md: Ditto.
      	* config/rs6000/vector.md: Ditto.
      	* config/rs6000/vsx.md: Ditto.
      
      From-SVN: r257890
      Segher Boessenkool committed
    • rs6000: Use brace blocks in define_insn · 6c332313
      This patch changes the remaining cases in our machine description files
      to use brace blocks instead of double-quoted strings as the output
      control string.  This increases readability by making the blocks look
      more like normal C code, mostly because backslash quoting is no longer
      needed.  It also removes such quoting where it was still there (usually
      harmless but always confusing). and it writes "\n\t" as "\;" in one
      place where we didn't already.
      
      
      	* config/rs6000/altivec.md: Write output control strings as braced
      	blocks instead of double-quoted strings.
      	* config/rs6000/darwin.md: Ditto.
      	* config/rs6000/rs6000.md: Ditto.
      	* config/rs6000/vector.md: Ditto.
      	* config/rs6000/vsx.md: Ditto.
      
      From-SVN: r257889
      Segher Boessenkool committed
    • Daily bump. · 78a85122
      From-SVN: r257887
      GCC Administrator committed
  2. 21 Feb, 2018 9 commits
  3. 20 Feb, 2018 8 commits