Skip to content
Snippets Groups Projects
  1. Mar 18, 2019
    • Johannes Pfau's avatar
      mh-mingw: Also set __USE_MINGW_ACCESS flag for C++ code. · eea4e2ff
      Johannes Pfau authored
      From-SVN: r269784
      eea4e2ff
    • Joseph Myers's avatar
      * sv.po: Update. · 3d8ce9ba
      Joseph Myers authored
      From-SVN: r269783
      3d8ce9ba
    • H.J. Lu's avatar
      Add a test for PR c++/89630 · 0bf09c37
      H.J. Lu authored
      	PR c++/89630
      	* g++.target/i386/pr89630.C: New test.
      
      From-SVN: r269781
      0bf09c37
    • Ian Lance Taylor's avatar
      libgo: update to Go 1.12.1 · a8b58d84
      Ian Lance Taylor authored
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/167749
      
      From-SVN: r269780
      a8b58d84
    • Kito Cheng's avatar
      RISC-V: Fix testsuite regression caused by quotes around options. · 891cd9e3
      Kito Cheng authored
      	2019-03-18  Kito Cheng  <kito.cheng@gmail.com>
      	* gcc.target/riscv/arch-1.c: Add quotes around march in dg-error.
      
      From-SVN: r269779
      891cd9e3
    • Jason Merrill's avatar
      PR c++/89630 - ICE with dependent using-decl as template arg. · 7834e5a0
      Jason Merrill authored
      Even though these two using-declarations have the same effect, they are not
      the same declaration, and we don't need to work to treat them as the same
      like we do for typedefs.  If we did need to, we would need to handle them
      specially in iterative_hash_template_arg as well as here.
      
      	* tree.c (cp_tree_equal): Always return false for USING_DECL.
      
      From-SVN: r269777
      7834e5a0
    • Jason Merrill's avatar
      PR c++/89761 - ICE with sizeof... in pack expansion. · d849cfae
      Jason Merrill authored
      In this testcase we get confused when looking at the sizeof... because the
      argument pack for 'args' has been wrapped in an ARGUMENT_PACK_SELECT as part
      of expanding the fold-expression.  We handle this situation a bit lower down
      in tsubst_pack_expansion, but that doesn't help the call to
      argument_pack_element_is_expansion_p, which happens earlier.
      
      	* pt.c (argument_pack_element_is_expansion_p): Handle
      	ARGUMENT_PACK_SELECT.
      
      From-SVN: r269776
      d849cfae
    • Jason Merrill's avatar
      PR c++/89640 - GNU attributes on lambda. · 6e3587db
      Jason Merrill authored
      My patch for PR 60503 to fix C++11 attribute parsing on lambdas accidentally
      removed support for GNU attributes.
      
      	* parser.c (cp_parser_lambda_declarator_opt): Allow GNU attributes.
      
      From-SVN: r269775
      6e3587db
    • Segher Boessenkool's avatar
      rs6000: Fix altivec-7.c testcase · 5a1d5d6a
      Segher Boessenkool authored
      It currently wants to see lvx insns on AIX, and no lvx insns on Linux.
      What is really wanted is lvx insns when no VSX, and lxv* insns if VSX.
      This fixes it.
      
      
      	* gcc.target/powerpc/altivec-7.c: Look for lxv* if generating VSX
      	instructions, and lvx if not.
      
      From-SVN: r269772
      5a1d5d6a
    • Segher Boessenkool's avatar
      rs6000: Use pointers in bswap testcases · 0a6d5a9e
      Segher Boessenkool authored
      Currently these bswap testcases use global variables, which causes
      problems with -m32: the memory access is a D-form access, and when
      combine tries to combine that with the bswap it tries a D-form store
      with byte reverse.  That instruction does not exist, and since combine
      started with only two insns here it will not try splitting this.
      
      This should be improved, but it is not what this test is testing, and
      the "load" case already uses a pointer, so let's do that for the store
      case as well.
      
      
      	* gcc.target/powerpc/bswap16.c: Use a pointer instead of a global for
      	the "store" test as well.
      	* gcc.target/powerpc/bswap32.c: Ditto.
      
      From-SVN: r269771
      0a6d5a9e
    • Segher Boessenkool's avatar
      rs6000: Fix pr18096-1.c test · b2ebe973
      Segher Boessenkool authored
      For the big stack frame in the test GCC used to say
      
      pr18096-1.c:7:6: error: total size of local objects too large
      
      but now it says
      
      pr18096-1.c:7:6: error: total size of local objects 2147483647 exceeds maximum 2147483392
      
      Let's just allow both in the test.
      
      
      gcc/testsuite/
      	* gcc.target/powerpc/pr18096-1.c: Allow an error message that says
      	"exceeds" instead of just one that talks about "too large".
      
      From-SVN: r269770
      b2ebe973
    • Thomas Koenig's avatar
      re PR fortran/68009 (prototype for gfortran_runtime_error with inline matmul) · 3051b25e
      Thomas Koenig authored
      2019-03-18  Thomas Koenig  <tkoeng@gcc.gnu.org>
      
      	PR fortran/68009
      	* iresolve.c: Include trans.h.
      	(gfc_resolve_fe_runtine_error): Set backend_decl on
      	resolved_sym.
      
      From-SVN: r269769
      3051b25e
    • Jason Merrill's avatar
      PR c++/89682 - wrong access error in default argument. · b6e45a40
      Jason Merrill authored
      Here we were pushing into the right access context, but we were called from
      a deferred checking context, so didn't end up doing the checks until after
      we left the access context.
      
      	* pt.c (tsubst_default_argument): Don't defer access checks.
      
      From-SVN: r269766
      b6e45a40
    • Richard Biener's avatar
      re PR tree-optimization/88945 (ICE in fold_convert_loc in FRE when using -fdump-tree-fre-details) · ca6d4a08
      Richard Biener authored
      2019-03-18  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/88945
      	* tree-ssanames.c (release_ssa_name_fn): For released SSA names
      	use a TREE_TYPE of error_mark_node to avoid ICEs when dumping
      	basic-blocks that are removed.  Remove restoring SSA_NAME_VAR.
      	* tree-outof-ssa.c (eliminate_useless_phis): Remove redundant checking.
      
      From-SVN: r269765
      ca6d4a08
    • Andrew Stubbs's avatar
      Implement circular print buffer. · f9cacebb
      Andrew Stubbs authored
      2019-03-18  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn-run.c (struct output): Make next_output unsigned.
      	Extend queue to 1024 entries.
      	Add "consumed" field.
      	(gomp_print_output): Remove print_index parameter.
      	Add final parameter.
      	Change limit to unsigned.
      	Use consumed field to implement circular buffer.
      	Detect interrupted print in final pass.
      	Flush output at the end.
      	(run): Update gomp_print_output usage.
      	(main): Initialize kernargs->output_data.consumed.
      
      From-SVN: r269764
      f9cacebb
    • Richard Sandiford's avatar
      Fix a case in which the vector cost model was ignored · c57546fe
      Richard Sandiford authored
      This patch fixes a case in which we vectorised something with a
      fully-predicated loop even after the cost model had rejected it.
      E.g. the loop in the testcase has the costs:
      
        Vector inside of loop cost: 27
        Vector prologue cost: 0
        Vector epilogue cost: 0
        Scalar iteration cost: 7
        Scalar outside cost: 6
        Vector outside cost: 0
        prologue iterations: 0
        epilogue iterations: 0
      
      and we can see that the loop executes at most three times, but we
      decided to vectorise it anyway.
      
      (The costs here are equal for three iterations, but the same thing
      happens even when the vector code is strictly more expensive.)
      
      The problem is the handling of "/VF" in:
      
        /* Calculate number of iterations required to make the vector version
           profitable, relative to the loop bodies only.  The following condition
           must hold true:
           SIC * niters + SOC > VIC * ((niters-PL_ITERS-EP_ITERS)/VF) + VOC
           where
           SIC = scalar iteration cost, VIC = vector iteration cost,
           VOC = vector outside cost, VF = vectorization factor,
           PL_ITERS = prologue iterations, EP_ITERS= epilogue iterations
           SOC = scalar outside cost for run time cost model check.  */
      
      We treat the "/VF" as truncating, but for fully-predicated loops, it's
      closer to a ceil division, since fractional iterations are handled by a
      full iteration with some predicate bits set to false.
      
      The easiest fix seemed to be to calculate the minimum number of vector
      iterations first, then use that to calculate the minimum number of scalar
      iterations.
      
      Calculating the minimum number of vector iterations might make sense for
      unpredicated loops too, since calculating the scalar niters directly
      doesn't take into account the fact that the VIC multiple has to be an
      integer.  But the handling of PL_ITERS and EP_ITERS for unpredicated
      loops is a bit hand-wavy anyway, so maybe vagueness here cancels out
      vagueness there?
      
      Either way, changing this for unpredicated loops would be much too
      invasive for stage 4, so the patch keeps it specific to fully-predicated
      loops (i.e. SVE) for now.  There's no functional change for other targets.
      
      2019-03-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Fix the
      	calculation of the minimum number of scalar iterations for
      	fully-predicated loops.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/cost_model_1.c: New test.
      
      From-SVN: r269763
      c57546fe
    • Martin Jambor's avatar
      Add forgotten requeing in propagate_subaccesses_across_link · cfce6e05
      Martin Jambor authored
      2019-03-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/89546
      	* tree-sra.c (propagate_subaccesses_across_link): Requeue new_acc if
      	any propagation to its children took place.
      
      	testsuite/
      	* gcc.dg/tree-ssa/pr89546.c: New test.
      
      From-SVN: r269761
      cfce6e05
    • Andrew Burgess's avatar
      gcc/riscv: Correctly ignore empty C++ structs when flattening for ABI · 4d7dfada
      Andrew Burgess authored
      This fixes PR target/89627.
      
      The RISC-V ABI document[1] says:
      
         For the purposes of this section, "struct" refers to a C struct
         with its hierarchy flattened, including any array fields. That is,
         struct { struct { float f[1]; } g[2]; } and struct { float f; float
         g; } are treated the same. Fields containing empty structs or
         unions are ignored while flattening, even in C++, unless they have
         nontrivial copy constructors or destructors.
      
      However, this flattening only applies when one of the fields of the
      flattened structure can be placed into a floating point register,
      otherwise no flattening occurs.
      
      Currently GCC fails to correctly consider that empty C++ structures
      have a non-zero size when constructing the arguments from a flattened
      structure, and as a result, trying to pass a C++ structure like this:
      
        struct sf { struct {} e; float f; };
      
      Doesn't work correctly, GCC fails to take the offset of 'f' within
      'sf' into account and will actually pass the space backing 'e' as the
      contents of 'f'.
      
      This patch fixes this so that 'f' will be passed correctly.  A couple
      of new tests are added to cover this functionality.
      
      [1] https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
      
      gcc/ChangeLog:
      
      	PR target/89627
      	* config/riscv/riscv.c (riscv_pass_fpr_single): Add offset
      	parameter, and make use of it.
      	(riscv_get_arg_info): Pass offset to riscv_pass_fpr_single.
      
      gcc/testsuite/ChangeLog:
      
      	PR target/89627
      	* g++.target/riscv/call-with-empty-struct-float.C: New file.
      	* g++.target/riscv/call-with-empty-struct-int.C: New file.
      	* g++.target/riscv/call-with-empty-struct.H: New file.
      	* g++.target/riscv/riscv.exp: New file.
      
      From-SVN: r269760
      4d7dfada
    • Paolo Carlini's avatar
      re PR c++/85014 (internal compiler error: in lookup_base, at cp/search.c:185) · e6da0bf1
      Paolo Carlini authored
      /cp
      2019-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85014
      	* semantics.c (finish_non_static_data_member): Check return value
      	of context_for_name_lookup and immediately return error_mark_node
      	if isn't a type.
      
      /testsuite
      2019-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/85014
      	* g++.dg/cpp0x/pr85014.C: New.
      
      From-SVN: r269759
      e6da0bf1
    • Claudiu Zissulescu's avatar
      [ARC] Enable code density frame option for elf targets. · f5d56cf9
      Claudiu Zissulescu authored
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.opt (mcode-density-frame): Get the inital value
      	from TARGET_CODE_DENSITY_FRAME_DEFAULT.
      	* config/arc/elf.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
      	* config/arc/linux.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
      	* config/arc/arc.md (pop_multi_fp_blink): Adjust constraints to
      	match what the ops is doing.
      	(push_multi_fp_blink): Likewise.
      	* config/arc/arc.c (arc_override_options): Enable enter/leave when
      	compiling for size and elf target.
      	(arc_save_callee_enter): Adjust note to match what enter/leave
      	operation does.
      
      From-SVN: r269758
      f5d56cf9
    • Claudiu Zissulescu's avatar
      [ARC] Fix tst_movb pattern. · a0947960
      Claudiu Zissulescu authored
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.md (tst_movb): Fix constraint.
      
      From-SVN: r269757
      a0947960
    • Claudiu Zissulescu's avatar
      [ARC] Define TARGET_HAVE_SPECULATION_SAFE_VALUE. · 8e95721a
      Claudiu Zissulescu authored
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
      
      From-SVN: r269756
      8e95721a
    • Claudiu Zissulescu's avatar
      [ARC] Introduce ADJUST_REG_ALLOC_ORDER. · 864e2eaa
      Claudiu Zissulescu authored
      The ARC port is changing the allocation order in the
      arc_conditional_register_usage function, but this is not the proper
      way. Thus, we employ ADJUST_REG_ALLOC_ORDER hook for this task.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc-protos.h (arc_adjust_reg_alloc_order): Declare.
      	* config/arc/arc.c (arc_conditional_register_usage): Remove all
      	reg_alloc_order references.
      	(size_alloc_order): Define.
      	(arc_adjust_reg_alloc_order): New function.
      	* config/arc/arc.h (REG_ALLOC_ORDER): Proper define the register
      	order.
      	(ADJUST_REG_ALLOC_ORDER): Define.
      	(HONOR_REG_ALLOC_ORDER): Likewise.
      
      From-SVN: r269755
      864e2eaa
    • Richard Biener's avatar
      re PR target/87561 (416.gamess is slower by ~10% starting from r264866 with -Ofast) · 7d7d1ce8
      Richard Biener authored
      2019-03-18  Richard Biener  <rguenther@suse.de>
      
      	PR target/87561
      	* config/i386/i386.c (ix86_add_stmt_cost): Pessimize strided
      	loads and stores a bit more.
      
      From-SVN: r269754
      7d7d1ce8
    • Richard Biener's avatar
      re PR target/87561 (416.gamess is slower by ~10% starting from r264866 with -Ofast) · 0538ed1d
      Richard Biener authored
      2019-03-18  Richard Biener  <rguenther@suse.de>
      
      	PR target/87561
      	* config/i386/i386.c (ix86_add_stmt_cost): Apply strided
      	load pessimization to stores as well.
      
      From-SVN: r269753
      0538ed1d
    • Jakub Jelinek's avatar
      re PR middle-end/86979 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2348 with -m32 on darwin) · 1d24f24c
      Jakub Jelinek authored
      	PR middle-end/86979
      	* gcc.dg/pr86979.c: New test.
      
      From-SVN: r269752
      1d24f24c
    • Andrey Belevantsev's avatar
      re PR rtl-optimization/89676 (Redundant moves for long long shift on 32bit x86) · 4e3f3c46
      Andrey Belevantsev authored
              PR middle-end/89676
              * sel-sched.c (compute_av_set_at_bb_end): When we have an ineligible
              successor, use NULL as its av set.
      
      From-SVN: r269751
      4e3f3c46
    • Thomas Koenig's avatar
      re PR fortran/88008 (ICE in check_typebound_baseobject, at fortran/resolve.c:6058) · 7e703f01
      Thomas Koenig authored
      2019-03-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88008
      	* gfortran.h (expr_t): Add EXPR_UNKNOWN.
      	* expr.c (gfc_copy_expr): Add EXPR_UNKNOWN to switch statement.
      	(gfc_simplify_expr): Likewise.
      	* module.c (mio_expr): Likewise.
      	* resovle.c (extract_compcall_passed_object): Issue error on
      	unknown type.
      	(check_typebound_baseobject): Issue error on wrong type.
      	* trans-expr.c (gfc_apply_interface_mapping_to_expr): Add
      	EXPR_UNKNOWN to switch statement.
      
      2019-03-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88008
      	 * gfortran.dg/typebound_call_31.f90: New test.
      
      From-SVN: r269750
      7e703f01
    • GCC Administrator's avatar
      Daily bump. · af52cce0
      GCC Administrator authored
      From-SVN: r269749
      af52cce0
  2. Mar 17, 2019
  3. Mar 16, 2019
Loading