- 27 Feb, 2018 2 commits
-
-
* lambda.c (lambda_expr_this_capture): Don't look for fake NSDMI 'this' in a generic lambda instantiation. From-SVN: r258021
Jason Merrill committed -
From-SVN: r258020
GCC Administrator committed
-
- 26 Feb, 2018 33 commits
-
-
From-SVN: r258016
Joseph Myers committed -
* constexpr.c (ensure_literal_type_for_constexpr_object): Check for constexpr variable with VLA type. From-SVN: r258015
Jason Merrill committed -
PR c++/84558 * constexpr.c (cxx_eval_vec_init_1): For reuse, treat NULL eltinit like a valid constant initializer. Formatting fixes. * g++.dg/cpp1y/pr84558.C: New test. From-SVN: r258014
Jakub Jelinek committed -
/cp 2018-02-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84540 * pt.c (tsubst_attributes): Handle correctly tsubst_attribute returning NULL_TREE. (apply_late_template_attributes): Likewise. /testsuite 2018-02-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84540 * g++.dg/cpp0x/alignas14.C: New. * g++.dg/cpp0x/alignas15.C: Likewise. From-SVN: r258012
Paolo Carlini committed -
PR c++/84557 * parser.c (cp_parser_omp_var_list_no_open): Only call cp_parser_lookup_name_simple on names satisfying identifier_p. (cp_parser_oacc_routine): Likewise. * g++.dg/gomp/pr84557.C: New test. From-SVN: r258011
Jakub Jelinek committed -
re PR debug/83917 (with -mcall-ms2sysv-xlogues, stepping into x86 tail-call restore stub gives bad backtrace) PR debug/83917 * config/i386/i386-asm.h (PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME, PACKAGE_URL): Undefine between inclusion of auto-target.h and auto-host.h. (USE_GAS_CFI_DIRECTIVES): Define if not defined already based on __GCC_HAVE_DWARF2_CFI_ASM. (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset, cfi_def_cfa_register, cfi_def_cfa, cfi_register, cfi_offset, cfi_push, cfi_pop): Define. * config/i386/cygwin.S: Don't include auto-host.h here, just define USE_GAS_CFI_DIRECTIVES to 1 or 0 and include i386-asm.h. (cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset, cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): Remove. * config/i386/resms64fx.h: Add cfi_* directives. * config/i386/resms64x.h: Likewise. From-SVN: r258010
Jakub Jelinek committed -
* parser.c (add_debug_begin_stmt): Do nothing in a concept. From-SVN: r258009
Jason Merrill committed -
PR c++/84325 * tree.c (replace_placeholders_r): Only check TREE_CONSTANT on non-types. * g++.dg/cpp1z/pr84325.C: New test. From-SVN: r258008
Marek Polacek committed -
gcc/testsuite/ChangeLog: 2018-02-26 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtins-3.c: Move vec_neg builtin tests to Power 8 test file. * gcc.target/powerpc/builtins-3-p8.c: Add vec_neg builtin tests. * gcc.target/powerpc/fold-vec-neg-char.c(dg-options): Add -mcpu=power8. * gcc.target/powerpc/fold-vec-neg-floatdouble.c(dg-options): Add -mcpu=power8. * gcc.target/powerpc/fold-vec-neg-int.c(dg-options): Remove file. * gcc.target/powerpc/fold-vec-neg-short.c(dg-options): Add -mcpu=power8. From-SVN: r258006
Carl Love committed -
Revision 257992 removed the bool argument from ix86_output_indirect_jmp. Update comments to reflect it. * config/i386/i386.c (ix86_output_indirect_jmp): Update comments. From-SVN: r258005
H.J. Lu committed -
* call.c (build_over_call): Handle deleted functions in one place. From-SVN: r258003
Jason Merrill committed -
* g++.dg/ext/is_trivially_constructible6.C: New. From-SVN: r258002
Jason Merrill committed -
For --- struct C { virtual ~C(); virtual void f(); }; void f (C *p) { p->f(); p->f(); } --- -mindirect-branch=thunk-extern -O2 on x86-64 GNU/Linux generates: _Z1fP1C: .LFB0: .cfi_startproc pushq %rbx .cfi_def_cfa_offset 16 .cfi_offset 3, -16 movq (%rdi), %rax movq %rdi, %rbx jmp .LIND1 .LIND0: pushq 16(%rax) jmp __x86_indirect_thunk .LIND1: call .LIND0 movq (%rbx), %rax movq %rbx, %rdi popq %rbx .cfi_def_cfa_offset 8 movq 16(%rax), %rax jmp __x86_indirect_thunk_rax .cfi_endproc x86-64 is supposed to have asynchronous unwind tables by default, but there is nothing that reflects the change in the (relative) frame address after .LIND0. That region really has to be moved outside of the .cfi_startproc/.cfi_endproc bracket. This patch adds TARGET_INDIRECT_BRANCH_REGISTER to force indirect branch via register whenever -mindirect-branch= is used. Now, -mindirect-branch=thunk-extern -O2 on x86-64 GNU/Linux generates: _Z1fP1C: .LFB0: .cfi_startproc pushq %rbx .cfi_def_cfa_offset 16 .cfi_offset 3, -16 movq (%rdi), %rax movq %rdi, %rbx movq 16(%rax), %rax call __x86_indirect_thunk_rax movq (%rbx), %rax movq %rbx, %rdi popq %rbx .cfi_def_cfa_offset 8 movq 16(%rax), %rax jmp __x86_indirect_thunk_rax .cfi_endproc so that "-mindirect-branch=thunk-extern" is equivalent to "-mindirect-branch=thunk-extern -mindirect-branch-register", which is used by Linux kernel. gcc/ PR target/84039 * config/i386/constraints.md (Bs): Replace ix86_indirect_branch_register with TARGET_INDIRECT_BRANCH_REGISTER. (Bw): Likewise. * config/i386/i386.md (indirect_jump): Likewise. (tablejump): Likewise. (*sibcall_memory): Likewise. (*sibcall_value_memory): Likewise. Peepholes of indirect call and jump via memory: Likewise. (*sibcall_GOT_32): Disallowed for TARGET_INDIRECT_BRANCH_REGISTER. (*sibcall_value_GOT_32): Likewise. * config/i386/i386.opt: Likewise. * config/i386/predicates.md (indirect_branch_operand): Likewise. (GOT_memory_operand): Likewise. (call_insn_operand): Likewise. (sibcall_insn_operand): Likewise. (GOT32_symbol_operand): Likewise. * config/i386/i386.h (TARGET_INDIRECT_BRANCH_REGISTER): New. gcc/testsuite/ PR target/84039 * gcc.target/i386/indirect-thunk-1.c: Updated. * gcc.target/i386/indirect-thunk-2.c: Likewise. * gcc.target/i386/indirect-thunk-3.c: Likewise. * gcc.target/i386/indirect-thunk-4.c: Likewise. * gcc.target/i386/indirect-thunk-5.c: Likewise. * gcc.target/i386/indirect-thunk-6.c: Likewise. * gcc.target/i386/indirect-thunk-7.c: Likewise. * gcc.target/i386/indirect-thunk-attr-1.c: Likewise. * gcc.target/i386/indirect-thunk-attr-2.c: Likewise. * gcc.target/i386/indirect-thunk-attr-3.c: Likewise. * gcc.target/i386/indirect-thunk-attr-4.c: Likewise. * gcc.target/i386/indirect-thunk-attr-5.c: Likewise. * gcc.target/i386/indirect-thunk-attr-6.c: Likewise. * gcc.target/i386/indirect-thunk-attr-7.c: Likewise. * gcc.target/i386/indirect-thunk-bnd-1.c: Likewise. * gcc.target/i386/indirect-thunk-bnd-2.c: Likewise. * gcc.target/i386/indirect-thunk-bnd-3.c: Likewise. * gcc.target/i386/indirect-thunk-bnd-4.c: Likewise. * gcc.target/i386/indirect-thunk-extern-1.c: Likewise. * gcc.target/i386/indirect-thunk-extern-2.c: Likewise. * gcc.target/i386/indirect-thunk-extern-3.c: Likewise. * gcc.target/i386/indirect-thunk-extern-4.c: Likewise. * gcc.target/i386/indirect-thunk-extern-5.c: Likewise. * gcc.target/i386/indirect-thunk-extern-6.c: Likewise. * gcc.target/i386/indirect-thunk-extern-7.c: Likewise. * gcc.target/i386/indirect-thunk-inline-1.c: Likewise. * gcc.target/i386/indirect-thunk-inline-2.c: Likewise. * gcc.target/i386/indirect-thunk-inline-3.c: Likewise. * gcc.target/i386/indirect-thunk-inline-4.c: Likewise. * gcc.target/i386/indirect-thunk-inline-5.c: Likewise. * gcc.target/i386/indirect-thunk-inline-6.c: Likewise. * gcc.target/i386/indirect-thunk-inline-7.c: Likewise. * gcc.target/i386/ret-thunk-9.c: Likewise. * gcc.target/i386/ret-thunk-10.c: Likewise. * gcc.target/i386/ret-thunk-11.c: Likewise. * gcc.target/i386/ret-thunk-12.c: Likewise. * gcc.target/i386/ret-thunk-13.c: Likewise. * gcc.target/i386/ret-thunk-14.c: Likewise. * gcc.target/i386/ret-thunk-15.c: Likewise. From-SVN: r258001
H.J. Lu committed -
From-SVN: r257999
Eric Botcazou committed -
From-SVN: r257998
Eric Botcazou committed -
From-SVN: r257997
Eric Botcazou committed -
PR rtl-optimization/83496 * reorg.c (steal_delay_list_from_target): Change REDUNDANT array from booleans to RTXes. Call fix_reg_dead_note on every non-null element. (steal_delay_list_from_fallthrough): Call fix_reg_dead_note on a redundant insn, if any. (relax_delay_slots): Likewise. (update_reg_unused_notes): Rename REDUNDANT_INSN to OTHER_INSN. From-SVN: r257996
Eric Botcazou committed -
This patch prevents pattern-matching of fold-left SLP reduction chains, which the previous patch for 83965 didn't handle properly. It only stops the last statement in the group from being matched, but that's enough to cause the group to be dissolved later. A better fix would be to put all the information about the reduction on the the first statement in the reduction chain, so that every statement in the group can tell what the group is doing. That doesn't seem like stage 4 material though. 2018-02-26 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/83965 * tree-vect-patterns.c (vect_reassociating_reduction_p): Assume that grouped statements are part of a reduction chain. Return true if the statement is not marked as a reduction itself but is part of a group. (vect_recog_dot_prod_pattern): Don't check whether the statement is part of a group here. (vect_recog_sad_pattern): Likewise. (vect_recog_widen_sum_pattern): Likewise. gcc/testsuite/ PR tree-optimization/83965 * gcc.dg/vect/pr83965-2.c: New test. From-SVN: r257995
Richard Sandiford committed -
2018-02-26 Tom de Vries <tom@codesourcery.com> * gcc.c-torture/compile/regs-arg-size.c (swprintf): Declare. From-SVN: r257994
Tom de Vries committed -
PR debug/84545 * final.c (rest_of_clean_state): Also look for calls inside sequences. From-SVN: r257993
Eric Botcazou committed -
When -mfunction-return= is used, simple_return_pop_internal should pop return address into ECX register, adjust stack by bytes to pop from stack and jump to the return thunk via ECX register. Tested on i686 and x86-64. PR target/84530 * config/i386/i386-protos.h (ix86_output_indirect_jmp): Remove the bool argument. (ix86_output_indirect_function_return): New prototype. (ix86_split_simple_return_pop_internal): Likewise. * config/i386/i386.c (indirect_return_via_cx): New. (indirect_return_via_cx_bnd): Likewise. (indirect_thunk_name): Handle return va CX_REG. (output_indirect_thunk_function): Create alias for __x86_return_thunk_[re]cx and __x86_return_thunk_[re]cx_bnd. (ix86_output_indirect_jmp): Remove the bool argument. (ix86_output_indirect_function_return): New function. (ix86_split_simple_return_pop_internal): Likewise. * config/i386/i386.md (*indirect_jump): Don't pass false to ix86_output_indirect_jmp. (*tablejump_1): Likewise. (simple_return_pop_internal): Change it to define_insn_and_split. Call ix86_split_simple_return_pop_internal to split it for -mfunction-return=. (simple_return_indirect_internal): Call ix86_output_indirect_function_return instead of ix86_output_indirect_jmp. gcc/testsuite/ PR target/84530 * gcc.target/i386/ret-thunk-22.c: New test. * gcc.target/i386/ret-thunk-23.c: Likewise. * gcc.target/i386/ret-thunk-24.c: Likewise. * gcc.target/i386/ret-thunk-25.c: Likewise. * gcc.target/i386/ret-thunk-26.c: Likewise. From-SVN: r257992
H.J. Lu committed -
/cp 2018-02-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84533 * decl.c (redeclaration_error_message): Don't try to use DECL_DECLARED_CONSTEXPR_P on CONST_DECLs. /testsuite 2018-02-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84533 * g++.dg/cpp1z/pr84533.C: New. From-SVN: r257991
Paolo Carlini committed -
2018-02-26 Paolo Carlini <paolo.carlini@oracle.com> * lambda.c (build_capture_proxy): Define static. * cp-tree.h (build_capture_proxy): Remove. From-SVN: r257990
Paolo Carlini committed -
PR bootstrap/84405 * vec.h (vec_default_construct): For BROKEN_VALUE_INITIALIZATION use memset and value initialization afterwards. From-SVN: r257989
Jakub Jelinek committed -
PR c++/84537 * name-lookup.c (suggest_alternative_in_explicit_scope): Return false if name is error node. * g++.dg/parse/error60.C: New test. From-SVN: r257988
Marek Polacek committed -
2018-02-26 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * Makefile.in (lto-wrapper): Use ALL_LINKERFLAGS. From-SVN: r257987
Christophe Lyon committed -
PR c++/84556 * g++.dg/gomp/pr84556.C: New test. * g++.dg/vect/pr84556.cc: New test. From-SVN: r257986
Jakub Jelinek committed -
2018-02-26 Dominique d'Humieres <dominiq@gcc.gnu.org> PR fortran/32957 * gfortran.dg/c_f_pointer_shape_tests_2.f03: Use explicit KIND c_int. * gfortran.dg/c_f_pointer_shape_tests_4.f03: Likewise. * gfortran.dg/c_funloc_tests_3.f03: Likewise. * gfortran.dg/c_loc_test.f90: Likewise. * gfortran.dg/c_loc_tests_2.f03: Likewise. * gfortran.dg/proc_decl_17.f90: Likewise. * gfortran.dg/proc_ptr_8.f90: Likewise. From-SVN: r257985
Dominique d'Humieres committed -
This fixes a GCC-8 regression that we accidentally switched off frame pointers in the AArch64 backend when changing the defaults in the common parts of the code. This breaks an ABI decision that was made in GCC at the dawn of the port with respect to having a frame pointer at all times. If we really want to turn this off lets have a discussion around that separately. For now turn this back on and I believe this will leave PR84521 latent again with -fomit-frame-pointer and (hopefully) make the ruby issue go away. I'm asking Sudi to pick that up. Bootstrapped and regression tested on AArch64-none-linux-gnu but I see one regression in gcc.c-torture/execute/960419-2.c which needs to be looked at next (PR84528, thanks Kyrill). Ok to put in and then look at PR84528 ? 2018-02-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/84521 * common/config/aarch64/aarch64-common.c (aarch_option_optimization_table[]): Switch off fomit-frame-pointer 2018-02-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/84521 * gcc.target/aarch64/lr_free_2.c: Revert changes in r254814 disabling -fomit-frame-pointer by default. * gcc.target/aarch64/spill_1.c: Likewise. * gcc.target/aarch64/test_frame_11.c: Likewise. * gcc.target/aarch64/test_frame_12.c: Likewise. * gcc.target/aarch64/test_frame_13.c: Likewise. * gcc.target/aarch64/test_frame_14.c: Likewise. * gcc.target/aarch64/test_frame_15.c: Likewise. * gcc.target/aarch64/test_frame_3.c: Likewise. * gcc.target/aarch64/test_frame_5.c: Likewise. * gcc.target/aarch64/test_frame_9.c: Likewise. From-SVN: r257984
Ramana Radhakrishnan committed -
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
Kito Cheng committed -
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
Kito Cheng committed -
* pt.c (rewrite_template_parm): Use tf_partial in first tsubst. From-SVN: r257979
Jason Merrill committed -
From-SVN: r257978
GCC Administrator committed
-
- 25 Feb, 2018 5 commits
-
-
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
Segher Boessenkool committed -
re PR fortran/83633 (gfortran internal compiler error for explicit-shape 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
Steven G. Kargl committed -
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
Paul Thomas committed -
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
Thomas Koenig committed -
From-SVN: r257967
GCC Administrator committed
-