1. 27 Feb, 2018 5 commits
    • [IEPM] don't preserve lexical blocks just for debug inline markers · 9893273d
      This patch stops preserving scope blocks just because they are inlined
      function scopes, when cleaning up unused scope blocks.  This change
      was introduced along with IEPM, but it preserved lots of blocks, and
      output debug information for them, although no code from the inlined
      function remained after optimization.
      
      The additional preserved blocks took up compile-time memory, and
      significant disk space and link time, in some cases more than 25%.
      This is deemed excessive, compared with the reasonably small benefit
      of allowing one to single-step into an inlined function using a
      view-capable debugger.
      
      There was another way of marking inlined function scopes as unused,
      based on the markers referencing them during stmt scanning, but that
      still preserved too much.
      
      So, this patch restores the pre-IEPM logic of preservation of scopes.
      Should a scope block referenced by an inline entry marker be found to
      be unused in remove_unused_scope_block_p, the marker will be cleaned
      up right after that, in clear_unused_block_pointer, so we won't keep
      a dangling reference to a dropped block.
      
      for  gcc/ChangeLog
      
      	* tree-ssa-live.c (remove_unused_scope_block_p): Do not
      	preserve inline entry blocks for the sake of debug inline
      	entry point markers alone.
      	(remove_unused_locals): Suggest in comments a better place to
      	force the preservation of inline entry blocks that are
      	otherwise unused, but do not preserve them.
      
      From-SVN: r258026
      Alexandre Oliva committed
    • PR c++/84560 - ICE capturing multi-dimensional VLA. · ed75f594
      	* tree.c (array_of_runtime_bound_p): False if the element is
      	variably-modified.
      
      From-SVN: r258023
      Jason Merrill committed
    • PR c++/84441 - ICE with base initialized from ?: · a2444ce9
      	* call.c (unsafe_copy_elision_p): Handle COND_EXPR.
      
      From-SVN: r258022
      Jason Merrill committed
    • PR c++/84520 - ICE with generic lambda in NSDMI. · ab5f26bb
      	* lambda.c (lambda_expr_this_capture): Don't look for fake NSDMI
      	'this' in a generic lambda instantiation.
      
      From-SVN: r258021
      Jason Merrill committed
    • Daily bump. · d36a19c7
      From-SVN: r258020
      GCC Administrator committed
  2. 26 Feb, 2018 33 commits
    • * es.po, sv.po: Update. · e64e6793
      From-SVN: r258016
      Joseph Myers committed
    • PR c++/84559 - ICE with constexpr VLA. · 8e9589bd
      	* constexpr.c (ensure_literal_type_for_constexpr_object): Check
      	for constexpr variable with VLA type.
      
      From-SVN: r258015
      Jason Merrill committed
    • re PR c++/84558 (ICE with invalid constexpr constructor) · c2236b9b
      	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
    • re PR c++/84540 (ICE with alignas in variadic template) · 08735f53
      /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
    • re PR c++/84557 (ICE with invalid firstprivate variable) · 2bb03eb7
      	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… · e5868319
      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
    • PR c++/84551 - ICE with concepts and -g. · 106b15ea
      	* parser.c (add_debug_begin_stmt): Do nothing in a concept.
      
      From-SVN: r258009
      Jason Merrill committed
    • re PR c++/84325 (internal compiler error, in cxx_eval_constant_expression gcc/cp/constexpr.c:4740) · b671df81
      	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
    • builtins-3.c: Move vec_neg builtin tests to Power 8 test file. · 40b864f1
      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
    • i386: Update comments for ix86_output_indirect_jmp · fc435836
      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
    • PR c++/84447 - ICE with deleted inherited ctor with default arg. · 18101e73
      	* call.c (build_over_call): Handle deleted functions in one place.
      
      From-SVN: r258003
      Jason Merrill committed
    • PR c++/81589 - error with is_trivially_constructible · f18f8ade
      	* g++.dg/ext/is_trivially_constructible6.C: New.
      
      From-SVN: r258002
      Jason Merrill committed
    • i386: Add TARGET_INDIRECT_BRANCH_REGISTER · c2c601b2
      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
    • Fix typo · 94e16982
      From-SVN: r257999
      Eric Botcazou committed
    • Re-add test. · e6799923
      From-SVN: r257998
      Eric Botcazou committed
    • Remove bogus test. · 70a1af61
      From-SVN: r257997
      Eric Botcazou committed
    • re PR rtl-optimization/83496 (wrong code generated with -Os -mbranch-cost=1) · f41881a4
      	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
    • Make fix for PR 83965 handle SLP reduction chains · d99dcb77
      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
    • [testsuite] Add missing function decl to regs-arg-size.c · 9992661c
      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
    • re PR debug/84545 (FAIL: g++.dg/debug/pr44182.C -gdwarf-2 -O2 (test for excess errors)) · 24086c20
      	PR debug/84545
      	* final.c (rest_of_clean_state): Also look for calls inside sequences.
      
      From-SVN: r257993
      Eric Botcazou committed
    • i386: Update -mfunction-return= for return with pop · b9d676b3
      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
    • re PR c++/84533 (ICE with duplicate enum value) · 98c26210
      /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
    • lambda.c (build_capture_proxy): Define static. · 856c79ea
      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
    • re PR bootstrap/84405 (Fails to bootstrap with GCC 4.1.2, GCC 4.2.4) · ff9fccdc
      	PR bootstrap/84405
      	* vec.h (vec_default_construct): For BROKEN_VALUE_INITIALIZATION use
      	memset and value initialization afterwards.
      
      From-SVN: r257989
      Jakub Jelinek committed
    • re PR c++/84537 (ICE in get_string, at spellcheck-tree.h) · 7518398d
      	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
    • Fix lto-wrapper link flags · bdb8ec2d
      2018-02-26  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	gcc/
      	* Makefile.in (lto-wrapper): Use ALL_LINKERFLAGS.
      
      From-SVN: r257987
      Christophe Lyon committed
    • re PR c++/84556 (C++17, lambda, OpenMP simd: sorry, unimplemented: unexpected AST) · 8562191a
      	PR c++/84556
      	* g++.dg/gomp/pr84556.C: New test.
      	* g++.dg/vect/pr84556.cc: New test.
      
      From-SVN: r257986
      Jakub Jelinek committed
    • re PR fortran/32957 (C/Fortran interoperability and -fdefault-integer-8) · f87f8897
      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
    • [Patch AArch64] Turn on frame pointer / partial fix for PR84521 · af3b4514
      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
    • [NDS32] Do not use multiple load/store instructions for volatile memory access. · cc9b241b
      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
    • [NDS32] Basic support for -mcpu= and --with-cpu= options. · 7f3101c0
      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
    • PR c++/84015 - ICE with class deduction and auto template parm. · a8a3f32d
      	* pt.c (rewrite_template_parm): Use tf_partial in first tsubst.
      
      From-SVN: r257979
      Jason Merrill committed
    • Daily bump. · 9445efc2
      From-SVN: r257978
      GCC Administrator committed
  3. 25 Feb, 2018 2 commits
    • rs6000: Warn for deprecated options · f727d9af
      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… · 09ef33c1
      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