1. 16 Jul, 2019 9 commits
    • Simplify type-specifier parsing. · fd860f7d
      Previously, the tentative parses for optional type-specifier and to support
      class template argument deduction were combined awkwardly.  This
      reorganization was motivated by the new concepts branch.
      
      	* parser.c (cp_parser_simple_type_specifier): Separate tentative
      	parses for optional type-spec and CTAD.
      
      From-SVN: r273514
      Jason Merrill committed
    • Fix g++.dg/template/pr84789.C on new concepts branch. · 19bd9028
      On the concepts branch I ran into trouble where a pre-parsed dependent
      nested-name-specifier got replaced on a subsequent parse with is_declaration
      by one with typenames resolved, which was then used wrongly on a further
      parse with !is_declaration.
      
          * parser.c (cp_parser_nested_name_specifier_opt): If the token is
          already CPP_NESTED_NAME_SPECIFIER, leave it alone.
      
      From-SVN: r273513
      Jason Merrill committed
    • Report ambiguous uses of .md attributes · 10b04d1e
      This patch reports an error if the .md file has an unscoped
      attribute that maps to more than one possible value.
      
      2019-07-16  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* read-md.h (md_reader::record_potential_iterator_use): Add a
      	file_location parameter.
      	* read-rtl.c (attribute_use::loc): New field.
      	(map_attr_string): Take a file_location parameter.  Report cases
      	in which attributes map to multiple distinct values.
      	(apply_attribute_uses): Update call accordingly.
      	(md_reader::handle_overloaded_name): Likewise.
      	(md_reader::apply_iterator_to_string): Likewise.  Skip empty
      	nonnull strings.
      	(record_attribute_use): Take a file_location parameter.
      	Initialize attribute_use::loc.
      	(md_reader::record_potential_iterator_use): Take a file_location
      	parameter.  Update call to record_attribute_use.
      	(rtx_reader::rtx_alloc_for_name): Update call accordingly.
      	(rtx_reader::read_rtx_code): Likewise.
      	(rtx_reader::read_rtx_operand): Likewise.  Record a location
      	for implicitly-expanded empty strings.
      
      From-SVN: r273511
      Richard Sandiford committed
    • Use file_location for md_reader's ptr_loc · 737eb767
      Also make it public, so that clients can use the location for error
      reporting.
      
      2019-07-16  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* read-md.h (md_reader::ptr_loc): Moved from read-md.c.
      	Use file_location instead of separate fields.
      	(md_reader::set_md_ptr_loc): Take a file_location instead of a
      	separate filename and line number.
      	* read-md.c (ptr_loc): As above.
      	(md_reader::copy_md_ptr_loc): Update for new ptr_loc layout.
      	(md_reader::fprint_md_ptr_loc): Likewise.
      	(md_reader::set_md_ptr_loc): Likewise.  Take a file_location
      	instead of a separate filename and line number.
      	(md_reader::read_string): Update call accordingly.
      
      From-SVN: r273510
      Richard Sandiford committed
    • [rs6000] Fix ambiguous .md attribute uses · f6e5e4b8
      This patch is part of a series that fixes ambiguous attribute
      uses in .md files, i.e. cases in which attributes didn't use
      <ITER:ATTR> to specify an iterator, and in which <ATTR> could
      have different values depending on the iterator chosen.
      
      No behavioural change -- produces the same code as before except
      for formatting and line numbers.
      
      2019-07-16  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/rs6000/rs6000.md (*mov<mode>_update1): Explicitly
      	use <SFDF:mode>, <SFDF:MODE>, <SFDF:Ff> and <SFDF:bits> rather than
      	leaving the choice between SFDF and P implicit.
      	(*mov<mode>_update2): Likewise.
      	(*cmp<IBM128:mode>_internal2): Explicitly use <IBM128:MODE>
      	rather than leaving the choice betweem IBM128 and GPR implicit.
      	(*fix<uns>_trunc<IEEE128:mode><QHSI:mode>2_mem): Explicitly use
      	<IEEE128:MODE> rather than leaving the choice between IEEE128 and
      	QHSI implicit.
      	(AltiVec define_peephole2s): Explicitly use <ALTIVEC_DFORM:MODE>
      	rather than leaving the choice between ALTIVEC_DFORM and P implicit.
      	* config/rs6000/vsx.md
      	(*vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>)
      	(*vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Explicitly
      	use <FL_CONV:VSisa> rather than leaving the choice between FL_CONV
      	and VSX_EXTRACT_I implicit.
      
      From-SVN: r273509
      Richard Sandiford committed
    • [mips] Fix ambiguous .md attribute uses · 8f5b6165
      This patch is part of a series that fixes ambiguous attribute
      uses in .md files, i.e. cases in which attributes didn't use
      <ITER:ATTR> to specify an iterator, and in which <ATTR> could
      have different values depending on the iterator chosen.
      
      No behavioural change -- produces the same code as before.
      
      2019-07-16  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/mips/micromips.md (*movep<MOVEP1:mode><MOVEP2:mode>):
      	Explicitly use <MOVEP1:MODE> for the mode attribute.
      
      From-SVN: r273508
      Richard Sandiford committed
    • PR91176: Skip debug insns when computing inline costs · d3ed5b56
      Apply Honza's fix for an aarch64-linux-gnu bootstrap failure.
      
      2019-07-16  Jan Hubicka  <hubicka@ucw.cz>
      
      gcc/
      	PR bootstrap/91176
      	* ipa-fnsummary.c (analyze_function_body): Skip debug stmts
      
      From-SVN: r273507
      Jan Hubicka committed
    • Remove trailing space. · 42b593d5
      From-SVN: r273506
      Jason Merrill committed
    • Daily bump. · b4ad799f
      From-SVN: r273505
      GCC Administrator committed
  2. 15 Jul, 2019 8 commits
  3. 14 Jul, 2019 7 commits
    • re PR fortran/87233 (Constraint C1279 still followed after f2008 standard revision (?)) · 1b034a95
      2019-07-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/87233
      	* expr.c (check_restricted): Relax constraint C1279 which was
      	removed from F2008 and above.
      
      	* gfortran.dg/initialization_14.f90: Modify to now pass by
      	removing two dg-error commands. Added comments.
      	* gfortran.dg/initialization_30.f90: New test that includes the
      	two tests removed above with the 'dg-options -std=f95'.
      
      From-SVN: r273484
      Jerry DeLisle committed
    • pr84512.c (dg-final): Remove XFAIL on alpha*-*-*. · c5e02838
      	* gcc.dg/tree-ssa/pr84512.c (dg-final): Remove XFAIL on alpha*-*-*.
      
      From-SVN: r273483
      Uros Bizjak committed
    • i386.md (nonmemory_szext_operand): New mode attribute. · 3e4ceed0
      	* config/i386/i386.md (nonmemory_szext_operand): New mode attribute.
      	(test<mode>_ccno_1): Macroize insn pattern from testsi_ccno_1
      	and testdi_ccno_1 using SWI48 mode attribute.
      	(*testdi_1): Use x86_64_szext_nonmemory_operand instead of
      	x86_64_szext_general_operand.
      	(*testqi_1_maybe_si): Use nonmemory_operand instead of general_operand.
      	(*test<mode>_1): Use nonmemory_szext_operand mode attribute
      	instead of genera_operand mode attribute.
      
      From-SVN: r273482
      Uros Bizjak committed
    • gdbhooks.py: dump-fn, dot-fn: cast ret values of fopen/fclose · cbfde6ee
      Work around the following
      
          (gdb) Python Exception <class 'gdb.error'> 'fclose@@GLIBC_2.2.5' has
          unknown return type; cast the call to its declared return type:
          (gdb) Error occurred in Python: 'fclose@@GLIBC_2.2.5' has unknown
          return type; cast the call to its declared return type
      
      This is due to GDB not being able to pick up and use the return types from
      debug info for external declarations.
      
      2019-07-14  Vladislav Ivanishin <vlad@ispras.ru>
      
              * gdbhooks.py (DumpFn.invoke): Add explicit casts of return values of
              fopen and fclose to their respective types.
              (DotFn.invoke): Ditto.
      
      From-SVN: r273480
      Vladislav Ivanishin committed
    • ipa-fnsummary.c (ipa_dump_hints): Do not dump array_index. · a20f263b
      
      	* ipa-fnsummary.c (ipa_dump_hints): Do not dump array_index.
      	(ipa_fn_summary::~ipa_fn_summary): Do not destroy array_index.
      	(ipa_fn_summary_t::duplicate): Do not duplicate array_index.
      	(array_index_predicate): Remove.
      	(analyze_function_body): Account cost for variable ofsetted array
      	indexing.
      	(estimate_node_size_and_time): Do not compute array index hint.
      	(ipa_merge_fn_summary_after_inlining): Do not merge array index hint.
      	(inline_read_section): Do not read array index hint.
      	(ipa_fn_summary_write): Do not write array index hint.
      	* doc/invoke.texi (ipa-cp-array-index-hint-bonus): Remove.
      	* ipa-cp.c (hint_time_bonus): Remove.
      	* ipa-fnsummary.h (ipa_hints_vals): Remove array_index.
      	(ipa_fnsummary): Remove array_index.
      	* ipa-inline.c (want_inline_small_function_p): Do not use
      	array_index.
      	(edge_badness): Likewise.
      	* params.def (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS): Remove.
      
      From-SVN: r273479
      Jan Hubicka committed
    • rs6000: Shut up -Wformat-diag a little more · d67dfb85
      
      	PR target/91148
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Remove
      	superfluous "builtin function" phrasing.
      
      gcc/testsuite/
      	* gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Adjust.
      	* gcc.target/powerpc/byte-in-set-2.c: Adjust.
      	* gcc.target/powerpc/cmpb-3.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-all-nez-7.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-any-eqz-7.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xl-len-13.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xst-len-12.c: Adjust.
      
      From-SVN: r273475
      Segher Boessenkool committed
    • Daily bump. · 0d67fe7e
      From-SVN: r273474
      GCC Administrator committed
  4. 13 Jul, 2019 8 commits
    • [Darwin, PPC, testsuite] Require stabs support for a test. · 8028dd3f
      The test fails if the assembler doesn't support stabs.
      
      2019-07-13  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* gcc.target/powerpc/stabs-attrib-vect-darwin.c: Require stabs
      	support.
      
      From-SVN: r273470
      Iain Sandoe committed
    • tree-ssa-alias.c (component_ref_to_zero_sized_trailing_array_p): Break out from ... · e2bc581f
      	* tree-ssa-alias.c (component_ref_to_zero_sized_trailing_array_p):
      	Break out from ...
      	(aliasing_component_refs_walk): Break out from ...
      	(aliasing_component_refs_p): ... here.
      
      From-SVN: r273469
      Jan Hubicka committed
    • rs6000: Shut up -Wformat-diag somewhat · 5c695c29
      We currently get lot of build warnings like
      /home/segher/src/gcc/gcc/config/rs6000/rs6000-c.c:7039:12: warning: misspelled term 'builtin function' in format; use 'built-in function' instead [-Wformat-diag]
       7039 |    error ("builtin function %qs not supported in this compiler "
            |            ^~~~~~~~~~~~~~~~
      
      That would print something like
        builtin function '__builtin_example' not supported in this compiler
      
      Changing that to "built-in" as suggested only makes this worse.
      Instead, let's just remove the whole "builtin function" phrase.
      
      
      	PR target/91148
      	* config/rs6000/rs6000.c (rs6000_invalid_builtin): Remove superfluous
      	"builtin function" phrasing.
      
      gcc/testsuite/
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-test-neg-2.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-test-neg-3.c: Adjust.
      	* gcc.target/powerpc/bfp/scalar-test-neg-5.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-extract-exp-2.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-extract-exp-3.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-extract-sig-2.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-extract-sig-3.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-insert-exp-2.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-insert-exp-3.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-insert-exp-6.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-insert-exp-7.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-test-data-class-2.c: Adjust.
      	* gcc.target/powerpc/bfp/vec-test-data-class-3.c: Adjust.
      	* gcc.target/powerpc/byte-in-either-range-1.c: Adjust.
      	* gcc.target/powerpc/byte-in-range-1.c: Adjust.
      	* gcc.target/powerpc/byte-in-set-1.c: Adjust.
      	* gcc.target/powerpc/byte-in-set-2.c: Adjust.
      	* gcc.target/powerpc/cmpb-3.c: Adjust.
      	* gcc.target/powerpc/crypto-builtin-2.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-1.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-11.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-16.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-21.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-26.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-31.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-36.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-41.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-46.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-51.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-56.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-6.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-61.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-66.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-71.c: Adjust.
      	* gcc.target/powerpc/dfp/dtstsfi-76.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-all-nez-7.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-any-eqz-7.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-cmpnez-7.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xl-len-12.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xl-len-13.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xlx-7.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xrx-7.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xst-len-12.c: Adjust.
      	* gcc.target/powerpc/vsu/vec-xst-len-13.c: Adjust.
      
      From-SVN: r273468
      Segher Boessenkool committed
    • * Makefile.rtl: Use g-sercom__linux.adb for all linuxes. · 544a74f0
      From-SVN: r273467
      Andreas Schwab committed
    • re PR target/90723 (pr88598-2.c segfaults with -msve-vector-bits=256) · f2b29269
      2019-07-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	PR target/90723
      	* recog.h (temporary_volatile_ok): New class.
      	* config/aarch64/aarch64.c (aarch64_emit_sve_pred_move): Set
      	volatile_ok temporarily to true using temporary_volatile_ok.
      	* expr.c (emit_block_move_via_cpymem): Likewise.
      	* optabs.c (maybe_legitimize_operand): Likewise.
      
      From-SVN: r273466
      Prathamesh Kulkarni committed
    • re PR c/91149 (GCC 9 and later incorrectly rejects OpenMP task… · 1a888209
      re PR c/91149 (GCC 9 and later incorrectly rejects OpenMP task reduction-modifier on target parallel combined construct)
      
      	PR c/91149
      	* c-omp.c (c_omp_split_clauses): Fix a pasto in
      	OMP_CLAUSE_REDUCTION_TASK handling.
      
      	* c-c++-common/gomp/reduction-task-3.c: New test.
      
      From-SVN: r273465
      Jakub Jelinek committed
    • gimplify.c (struct gimplify_omp_ctx): Add order_concurrent member. · 70468604
      	* gimplify.c (struct gimplify_omp_ctx): Add order_concurrent member.
      	(omp_notice_threadprivate_variable): Diagnose threadprivate variable
      	uses inside of order(concurrent) constructs.
      	(gimplify_scan_omp_clauses): Set ctx->order_concurrent if
      	OMP_CLAUSE_ORDER is seen.
      	* omp-low.c (struct omp_context): Add order_concurrent member.
      	(scan_sharing_clauses): Set ctx->order_concurrent if
      	OMP_CLAUSE_ORDER is seen.
      	(check_omp_nesting_restrictions): Diagnose ordered or atomic inside
      	of simd order(concurrent).  Diagnose constructs not allowed inside of
      	for order(concurrent).
      	(setjmp_or_longjmp_p): Add a context and TREE_PUBLIC check to avoid
      	complaining about static double setjmp (double); or class static
      	methods or non-global namespace setjmps.
      	(omp_runtime_api_call): New function.
      	(scan_omp_1_stmt): Diagnose OpenMP runtime API calls inside of
      	order(concurrent) loops.
      
      	* c-c++-common/gomp/order-3.c: New test.
      	* c-c++-common/gomp/order-4.c: New test.
      
      From-SVN: r273464
      Jakub Jelinek committed
    • Daily bump. · bf85a038
      From-SVN: r273463
      GCC Administrator committed
  5. 12 Jul, 2019 8 commits