aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2018-02-26[NDS32] Do not use multiple load/store instructions for volatile memory access.Kito Cheng2-3/+14
gcc/ * config/nds32/nds32-multiple.md(load_multiple): Disallow volatile memory. (store_multiple): Ditto. Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com> From-SVN: r257983
2018-02-26[NDS32] Basic support for -mcpu= and --with-cpu= options.Kito Cheng4-1/+37
gcc/ * config.gcc: Add --with-cpu support for nds32 target. * config/nds32/nds32-opts.h(nds32_cpu_type): New. * config/nds32/nds32.opt: Add -mcpu= option. From-SVN: r257982
2018-02-26PR c++/84015 - ICE with class deduction and auto template parm.Jason Merrill3-1/+21
* pt.c (rewrite_template_parm): Use tf_partial in first tsubst. From-SVN: r257979
2018-02-26Daily bump.GCC Administrator1-1/+1
From-SVN: r257978
2018-02-25rs6000: Warn for deprecated optionsSegher Boessenkool2-4/+9
Some command-line options have been deprecated for a long time. This patch adds a warning for them, so that we can remove them in GCC 9 without surprising any users. * config/rs6000/rs6000.opt (mvrsave=no, mvrsave=yes, isel=no, isel=yes): Warn for these deprecated options. From-SVN: r257975
2018-02-25re PR fortran/83633 (gfortran internal compiler error for explicit-shape ↵Steven G. Kargl9-13/+90
array with non-constant bounds) 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/83633 * decl.c (variable_decl): Check that an explicit-shape-array with nonconstant bounds is allowed. 2018-02-25 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/83633 * gfortran.dg/explicit_shape_1.f90: New test. * gfortran.dg/automatic_module_variable.f90: Update regex. * gfortran.dg/bad_automatic_objects_1.f90: Ditto. * gfortran.dg/constant_shape.f90: Ditto. * gfortran.dg/dec_structure_23.f90: Ditto. * gfortran.dg/pr78240.f90: Ditto. From-SVN: r257971
2018-02-25re PR fortran/84523 (Runtime crash deallocating allocatable array within ↵Paul Thomas4-0/+58
derived type) 2018-02-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/84523 * trans-intrinsic.c (gfc_conv_allocated): If the argument se has a pre block, add it to the expression pre block. 2018-02-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/84523 * gfortran.dg/pr84523.f90: New test. From-SVN: r257970
2018-02-25re PR fortran/78238 ([OOP] ICE: verify_gimple failed, with -fdefault-integer-8)Thomas Koenig5-1/+30
2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78238 * gfortran.h (gfc_integer_4_kind): Define. * resolve.c (resolve_select_type): Make sure that the kind of c->high is gfc_integer_4_kind. 2018-02-25 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78238 * gfortran.dg/select_type_40.f90: New test. From-SVN: r257968
2018-02-25Daily bump.GCC Administrator1-1/+1
From-SVN: r257967
2018-02-24re PR fortran/30792 (DATA implied-do substring allowed with -std=f95/f2003)Steven G. Kargl4-0/+31
2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/30792 * decl.c (gfc_match_data): Check for invalid substring in data-implied-do 2018-02-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/30792 * gfortran.dg/data_substring.f90: New test. From-SVN: r257962
2018-02-24re PR c++/83692 (Rejects valid constexpr with unrelated code fixing problem)Marek Polacek6-6/+60
PR c++/83692 * constexpr.c (maybe_constant_init_1): New function. (maybe_constant_init): Make it a wrapper around maybe_constant_init_1. (cxx_constant_init): New function. * cp-tree.h (cxx_constant_init): Declare. * typeck2.c (store_init_value): Call cxx_constant_init instead of cxx_constant_value. Move the maybe_constant_init call under an 'else'. * g++.dg/cpp1z/constexpr-83692.C: New test. From-SVN: r257961
2018-02-24Daily bump.GCC Administrator1-1/+1
From-SVN: r257960
2018-02-23compiler: ignore aliases in fieldtrack infoIan Lance Taylor2-2/+2
We want to track references to fields in the real struct, not in aliases to the struct. Reviewed-on: https://go-review.googlesource.com/96816 From-SVN: r257954
2018-02-23intrinsic.texi: Arguments to MATMUL cannot both be rank one.Steven G. Kargl2-0/+5
2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> * intrinsic.texi: Arguments to MATMUL cannot both be rank one. From-SVN: r257952
2018-02-23* config/rs6000/aix71.h (TARGET_DEFAULT): Change to ISA_2_5_MASKS_EMBEDDED.David Edelsohn2-1/+10
From-SVN: r257944
2018-02-23re PR fortran/84511 (Internal compiler error from directly printing return ↵Steven G. Kargl2-0/+15
of C_LOC) 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/84511 * trans-io.c (transfer_expr): Deal with C_LOC in transfer statement. From-SVN: r257943
2018-02-23re PR fortran/84346 (Statement functions should not accept keywords)Steven G. Kargl4-5/+19
2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/84346 * interface.c (compare_actual_formal): Issue error if keyword is used in a statement function. 2018-02-23 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/84346 * gfortran.dg/statement_function_1.f90: Update test. From-SVN: r257942
2018-02-23re PR fortran/84506 (INQUIRE(pos=) always sets pos=0 with -fdefault-integer-8)Jerry DeLisle4-3/+27
2018-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/84506 * trans-io.c (set_parameter_value_inquire): Adjust range check of negative unit values for kind=8 units to the kind=4 negative limit. * gfortran.dg/inquire_19.f90: New test. From-SVN: r257941
2018-02-23ipa-prop.c (ipa_vr_ggc_hash_traits::hash): Hash p->min and p->max as ↵Jakub Jelinek2-6/+12
pointers rather than using iterative_hash_expr. * ipa-prop.c (ipa_vr_ggc_hash_traits::hash): Hash p->min and p->max as pointers rather than using iterative_hash_expr. From-SVN: r257940
2018-02-23* lto-partition.c (lto_balanced_map): Watch overflow.Jan Hubicka2-1/+6
From-SVN: r257939
2018-02-23re PR fortran/83149 ([6- and 7-branches] Missing test for ↵Paul Thomas5-0/+40
sym->ns->proc_name: crash_signal in toplev.c:325) 2018-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/83149 * trans-types.c (gfc_sym_type): Test sym->ns->proc_name before accessing its components. 2018-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/83149 * gfortran.dg/pr83149_b.f90: New test. * gfortran.dg/pr83149_a.f90: Additional source for previous. From-SVN: r257938
2018-02-23rs6000-builtin.def: Change VSIGNED2 and VUNSIGNED2 macro expansions from ↵Carl Love6-38/+187
BU_VSX_2 to BU_P8V_VSX_2... gcc/ChangeLog: 2018-02-23 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-builtin.def: Change VSIGNED2 and VUNSIGNED2 macro expansions from BU_VSX_2 to BU_P8V_VSX_2 and BU_VSX_OVERLOAD_2 to BU_P8V_OVERLOAD_2. * config/rs6000/rs6000-c.c: Change VSX_BUILTIN_VEC_VSIGNED2 to P8V_BUILTIN_VEC_VSIGNED2. Change VSX_BUILTIN_VEC_VUNSIGNED2 to P8V_BUILTIN_VEC_VUNSIGNED2. gcc/testsuite/ChangeLog: 2018-02-23 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtins-3-runnable.c: Move tests for vec_float2, vec_signed2 and vec_unsigned2 to new Power 8 test file. * gcc.target/powerpc/builtins-3-runnable-p8.c: New test file for Power 8 tests. From-SVN: r257937
2018-02-23pr80695-p8.c: Update dg-requires stanza.Will Schmidt3-2/+7
[testsuite] 2018-02-23 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/pr80695-p8.c: Update dg-requires stanza. * gcc.target/powerpc/pr80695-p9.c: Update dg-requires stanza. From-SVN: r257936
2018-02-23[testsuite]Will Schmidt2-1/+6
2018-02-23 Will Schmidt <will_schmidt@vnet.ibm.com> * fold-vec-mult-int128-p9.c: Add maddld insn to expected output. From-SVN: r257935
2018-02-23re PR fortran/83149 ([6- and 7-branches] Missing test for ↵Paul Thomas5-4/+57
sym->ns->proc_name: crash_signal in toplev.c:325) 2018-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/83149 * trans-decl.c (gfc_finish_var_decl): Test sym->ns->proc_name before accessing its components. 2018-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/83149 * gfortran.dg/pr83149_1.f90: New test. * gfortran.dg/pr83149.f90: Additional source for previous. From-SVN: r257934
2018-02-23Fix tsan race_on_mutex.c testcase (PR80551)Segher Boessenkool2-1/+7
The testcase did not match the glibc internal names while it should. This fixes it. gcc/testsuite/ PR testsuite/80551 * c-c++-common/tsan/race_on_mutex.c: Change regexp to allow __GI___pthread_mutex_init as well. From-SVN: r257932
2018-02-23PR c++/70468 - ICE with constructor delegation via typedef.Jason Merrill3-0/+59
* pt.c (tsubst_initializer_list): Check for other mem-initializers with constructor delegation. From-SVN: r257931
2018-02-23re PR fortran/83148 (ICE: crash_signal from toplev.c:325)Paul Thomas5-8/+48
2018-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/83148 * trans-const.c : Clean up some whitespace issues. * trans-expr.c (gfc_conv_initializer): If an iso_c_binding derived type has a kind value of zero, set it to the default integer kind. 2018-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/83148 * gfortran.dg/class_68.f90: New test. From-SVN: r257930
2018-02-23PR 84519 Handle optional QUIET specifier for STOP and ERROR STOPJanne Blomqvist3-9/+22
Fortran 2018 adds a new QUIET specifier for the STOP and ERROR STOP statements, in order to suppress the printing of signaling FP exceptions and the stop code. This patch adds the necessary library changes, but for now the new specifier is not parsed and the frontend unconditionally adds a false value for the new argument. Regtested on x86_64-pc-linux-gnu. gcc/fortran/ChangeLog: 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/84519 * trans-decl.c (gfc_build_builtin_function_decls): Add bool argument to stop and error stop decls. * trans-stmt.c (gfc_trans_stop): Add false value to argument lists. libgfortran/ChangeLog: 2018-02-23 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/84519 * caf/libcaf.h (_gfortran_caf_stop_numeric): Add bool argument. (_gfortran_caf_stop_str): Likewise. (_gfortran_caf_error_stop_str): Likewise. (_gfortran_caf_error_stop): Likewise. * caf/mpi.c (_gfortran_caf_error_stop_str): Handle new argument. (_gfortran_caf_error_stop): Likewise. * caf/single.c (_gfortran_caf_stop_numeric): Likewise. (_gfortran_caf_stop_str): Likewise. (_gfortran_caf_error_stop_str): Likewise. (_gfortran_caf_error_stop): Likewise. (_gfortran_caf_lock): Likewise. (_gfortran_caf_unlock): Likewise. * libgfortran.h (stop_string): Add bool argument. * runtime/pause.c (do_pause): Add false argument. * runtime/stop.c (stop_numeric): Handle new argument. (stop_string): Likewise. (error_stop_string): Likewise. (error_stop_numeric): Likewise. From-SVN: r257928
2018-02-23Daily bump.GCC Administrator1-1/+1
From-SVN: r257927
2018-02-22PR c++/84424 - ICE with constexpr and __builtin_shuffle.Jason Merrill3-1/+21
* constexpr.c (reduced_constant_expression_p): Handle CONSTRUCTOR of VECTOR_TYPE. From-SVN: r257924
2018-02-22re PR fortran/59781 ([F03] Incorrect initialisation of derived type)Thomas Koenig2-0/+29
2018-02-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/59781 * gfortran.dg/derived_init_5.f90: New test. From-SVN: r257917
2018-02-22re PR target/82851 (g++.dg/vect/slp-pr56812.cc, i386/avx2-vpaddq-3.c, ↵Jakub Jelinek3-2/+8
i386/avx2-vpsubq-3.c fails) PR target/82851 * gcc.target/i386/avx2-vpaddq-3.c: Add -mtune=generic to dg-options. * gcc.target/i386/avx2-vpsubq-3.c: Likewise. From-SVN: r257916
2018-02-22re PR target/81572 (gcc-7 regression: unnecessary vector regmove on compare)Vladimir Makarov9-14/+61
2018-02-22 Vladimir Makarov <vmakarov@redhat.com> PR target/81572 * lra-int.h (LRA_UNKNOWN_ALT, LRA_NON_CLOBBERED_ALT): New macros. * lra.c (lra_set_insn_recog_data, lra_update_insn_recog_data): Use LRA_UNKNOWN_ALT. * lra-constraints.c (curr_insn_transform): Set up LRA_NON_CLOBBERED_ALT for moves processed on the fast path. Use LRA_UNKNOWN_ALT. (remove_inheritance_pseudos): Use LRA_UNKNOWN_ALT. * lra-eliminations.c (spill_pseudos): Ditto. (process_insn_for_elimination): Ditto. * lra-lives.c (reg_early_clobber_p): Use the new macros. * lra-spills.c (spill_pseudos): Use LRA_UNKNOWN_ALT and LRA_NON_CLOBBERED_ALT. 2018-02-22 Vladimir Makarov <vmakarov@redhat.com> PR target/81572 * gcc.target/powerpc/pr81572.c: New. From-SVN: r257915
2018-02-22re PR go/84484 (libgo configure tests fail to find -latomic)Andreas Schwab2-0/+7
PR go/84484 libgo: add support for riscv64 Patch by Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/96377 * go.test/go-test.exp (go-set-goarch): Recognize riscv64-*-*. From-SVN: r257914
2018-02-22runtime: funcfileline: get missing function name from symbol tableIan Lance Taylor1-1/+1
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
2018-02-22libgo: add -L option for libatomic when using -pthreadIan Lance Taylor1-1/+1
Fixes https://gcc.gnu.org/PR84484 Reviewed-on: https://go-review.googlesource.com/95436 From-SVN: r257911
2018-02-22PR tree-optimization/84480 - bogus -Wstringop-truncation despite assignment ↵Martin Sebor7-62/+220
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
2018-02-22i386: Add __x86_indirect_thunk_nt_reg for -fcf-protection -mcetH.J. Lu14-43/+258
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
2018-02-22re PR target/83335 ([aarch64,ilp32] gcc.target/aarch64/asm-2.c ICEs since ↵Steve Ellcey3-1/+18
255481) 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
2018-02-22re PR target/83335 ([aarch64,ilp32] gcc.target/aarch64/asm-2.c ICEs since ↵Steve Ellcey2-1/+8
255481) 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
2018-02-22extend.texi (__builtin_extend_pointer): Document builtin.Steve Ellcey2-0/+14
2018-02-22 Steve Ellcey <sellcey@cavium.com> * doc/extend.texi (__builtin_extend_pointer): Document builtin. From-SVN: r257906
2018-02-22rx.c (rx_rtx_costs): New function.DJ Delorie2-0/+66
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
2018-02-22[ARM] Multilib mapping for Armv8-RThomas Preud'homme4-0/+36
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
2018-02-22PR 78534, 84509 Fix libgfortran API for PAUSE statementJanne Blomqvist3-7/+17
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
2018-02-22Add "native" as a valid option value for -mcpu/-mtune= on arm (PR driver/83193).Martin Liska2-0/+12
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
2018-02-22re PR c++/84493 (ICE with invalid cast)Marek Polacek4-1/+18
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
2018-02-22[testsuite] Require et alloca for pr82210.cTom de Vries2-0/+5
2018-02-22 Tom de Vries <tom@codesourcery.com> * gcc.c-torture/execute/pr82210.c: Require effective target alloca. From-SVN: r257898
2018-02-22re PR c++/77655 (ICE on invalid c++ code on x86_64-linux-gnu (internal ↵Paolo Carlini2-0/+18
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
2018-02-22re PR c++/84496 (Internal compiler error with lambda, static and auto since ↵Jakub Jelinek2-0/+47
r236615) PR c++/84496 * g++.dg/cpp1y/pr84496.C: New test. From-SVN: r257895