Skip to content
Snippets Groups Projects
  1. May 19, 2021
    • Thomas Schwinge's avatar
      Add 'libgomp.oacc-c-c++-common/private-atomic-1.c' [PR83812] · 1467100f
      Thomas Schwinge authored
      ... to at least document/test/XFAIL nvptx offloading: PR83812 "operation not
      supported on global/shared address space".
      
      	libgomp/
      	PR target/83812
      	* testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
      1467100f
    • Julian Brown's avatar
      Add 'libgomp.oacc-c-c++-common/loop-gwv-2.c' · 5a16fb19
      Julian Brown authored
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
      5a16fb19
    • Jakub Jelinek's avatar
      builtins: Fix ICE with unprototyped builtin call [PR100576] · e6683450
      Jakub Jelinek authored
      For unprototyped builtins the checking we perform is only about whether
      the used argument is integral, pointer etc., not the exact precision.
      We emit a warning about the problem though:
      pr100576.c: In function ‘foo’:
      pr100576.c:9:11: warning: implicit declaration of function ‘memcmp’ [-Wimplicit-function-declaration]
          9 |   int n = memcmp (p, v, b);
            |           ^~~~~~
      pr100576.c:1:1: note: include ‘<string.h>’ or provide a declaration of ‘memcmp’
        +++ |+#include <string.h>
          1 | /* PR middle-end/100576 */
      pr100576.c:9:25: warning: ‘memcmp’ argument 3 type is ‘int’ where ‘long unsigned int’ is expected in a call to built-in function declared without prototype
      +[-Wbuiltin-declaration-mismatch]
          9 |   int n = memcmp (p, v, b);
            |                         ^
      It means in the testcase below where the user incorrectly called memcmp
      with last argument int rather then size_t, the warning stuff in builtins.c
      ICEs because it compares a wide_int from such a bound with another wide_int
      which has precision of size_t/sizetype and wide_int asserts the compared
      wide_ints are compatible.
      
      Fixed by forcing the bound to have the right type.
      
      2021-05-19  Jakub Jelinek  <jakub@redhat.com>
      
      	PR middle-end/100576
      	* builtins.c (check_read_access): Convert bound to size_type_node if
      	non-NULL.
      
      	* gcc.c-torture/compile/pr100576.c: New test.
      e6683450
    • Richard Biener's avatar
      apply TLC to GIMPLE reference verification · a73a5af2
      Richard Biener authored
      This inlines verify_types_in_gimple_min_lval and makes sure we
      also verify call lhs and arguments.  It also asserts that
      WITH_SIZE_EXPR in plain assignments does not happen, instead
      those should have become memcpy/memset.
      
      2021-05-18  Richard Biener  <rguenther@suse.de>
      
      	* tree-cfg.c (verify_types_in_gimple_min_lval): Inline...
      	(verify_types_in_gimple_reference): ... here.  Sanitize.
      	(verify_gimple_call): Verify references in LHS and arguments.
      	(verify_gimple_assign_single): Reject WITH_SIZE_EXPR.
      a73a5af2
    • Uros Bizjak's avatar
      i386: Allow 64bit vector modes in general registers · ea30c7bd
      Uros Bizjak authored
      Allow V8QI, V4HI and V2SI modes in 64bit general registers for
      TARGET_64BIT and add alternatives using general registers
      to 64bit vector logic instructions.
      
      2021-05-19  Uroš Bizjak  <ubizjak@gmail.com>
      
      gcc/
      	* config/i386/i386.h (VALID_INT_MODE_P):
      	Add V8QI, V4HI and V2SI modes for TARGET_64BIT.
      	* config/i386/i386.md (isa): Add x64_bmi.
      	(enabled): Handle x64_bmi.
      	* config/i386/mmx.md (mmx_andnot<MMXMODEI:mode>3):
      	Add alternative using 64bit general registers.
      	(*mmx_<any_logic:code><MMXMODEI:mode>3): Ditto.
      ea30c7bd
    • Bernd Edlinger's avatar
      Fix commit mistake in testcase gcc.dg/tree-ssa/ssa-sink-3.c · 51cfa554
      Bernd Edlinger authored
      the test case was accidenally changed to empty file.
      
      2021-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	* gcc.dg/tree-ssa/ssa-sink-3.c: Fix test case.
      51cfa554
    • Jakub Jelinek's avatar
      openmp: Handle lastprivate on combined target correctly [PR99928] · 780e5d4a
      Jakub Jelinek authored
      This patch deals with 2 issues:
      1) the gimplifier couldn't differentiate between
       #pragma omp parallel master
       #pragma omp taskloop simd
      and
       #pragma omp parallel master taskloop simd
      when there is a significant difference for clause handling between
      the two; as master construct doesn't have any clauses, we don't currently
      represent it during gimplification by an gimplification omp context at all,
      so this patch makes sure we don't set OMP_PARALLEL_COMBINED on parallel master
      when not combined further.  If we ever add a separate master context during
      gimplification, we'd use ORT_COMBINED_MASTER vs. ORT_MASTER (or MASKED probably).
      2) lastprivate when combined with target should be map(tofrom:) on the target,
      this change handles it only when not combined with firstprivate though, that
      will need further work (similarly to linear or reduction).
      
      2021-05-19  Jakub Jelinek  <jakub@redhat.com>
      
      	PR middle-end/99928
      gcc/
      	* tree.h (OMP_MASTER_COMBINED): Define.
      	* gimplify.c (gimplify_scan_omp_clauses): Rewrite lastprivate
      	handling for outer combined/composite constructs to a loop.
      	Handle lastprivate on combined target.
      	(gimplify_expr): Formatting fix.
      gcc/c/
      	* c-parser.c (c_parser_omp_master): Set OMP_MASTER_COMBINED on
      	master when combined with taskloop.
      	(c_parser_omp_parallel): Don't set OMP_PARALLEL_COMBINED on
      	parallel master when not combined with taskloop.
      gcc/cp/
      	* parser.c (cp_parser_omp_master): Set OMP_MASTER_COMBINED on
      	master when combined with taskloop.
      	(cp_parser_omp_parallel): Don't set OMP_PARALLEL_COMBINED on
      	parallel master when not combined with taskloop.
      gcc/testsuite/
      	* c-c++-common/gomp/pr99928-2.c: Remove all xfails.
      	* c-c++-common/gomp/pr99928-12.c: New test.
      780e5d4a
    • Ian Lance Taylor's avatar
    • Ian Lance Taylor's avatar
      gofrontend: revert startswith change · 2ebddf2e
      Ian Lance Taylor authored
      This file is copied from a different repo and should not be changed
      directly in the GCC repo.
      2ebddf2e
    • Ian Lance Taylor's avatar
      libgo: update configure to current sources · c922c653
      Ian Lance Taylor authored
      Change-Id: I12766baf02bfdf2233f1c5bde1a270f06b020aa7
      Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/321076
      
      
      Trust: Ian Lance Taylor <iant@golang.org>
      Reviewed-by: default avatarCherry Mui <cherryyz@google.com>
      Reviewed-by: default avatarThan McIntosh <thanm@google.com>
      c922c653
    • Ian Lance Taylor's avatar
    • Xionghu Luo's avatar
      Run pass_sink_code once more before store_merging · de56f95a
      Xionghu Luo authored
      Gimple sink code pass runs quite early, there may be some new
      oppertunities exposed by later gimple optmization passes, this patch
      runs the sink code pass once more before store_merging.  For detailed
      discussion, please refer to:
      https://gcc.gnu.org/pipermail/gcc-patches/2020-December/562352.html
      
      Tested the SPEC2017 performance on P8LE, 544.nab_r is improved
      by 2.43%, but no big changes to other cases, GEOMEAN is improved quite
      small with 0.25%.
      
      gcc/ChangeLog:
      
      2021-05-18  Xionghu Luo  <luoxhu@linux.ibm.com>
      
      	* passes.def: Add sink_code pass before store_merging.
      	* tree-ssa-sink.c (pass_sink_code:clone): New.
      
      gcc/testsuite/ChangeLog:
      
      2021-05-18  Xionghu Luo  <luoxhu@linux.ibm.com>
      
      	* gcc.dg/tree-ssa/ssa-sink-1.c: Adjust.
      	* gcc.dg/tree-ssa/ssa-sink-2.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-3.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-4.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-5.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-6.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-7.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-8.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-9.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-10.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-13.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-14.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-16.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-17.c: Ditto.
      	* gcc.dg/tree-ssa/ssa-sink-18.c: New.
      de56f95a
    • Ian Lance Taylor's avatar
      39ed6a88
    • Jason Merrill's avatar
      c++: ICE with bad definition of decimal32 [PR100261] · 01b28647
      Jason Merrill authored
      The change to only look at the global binding for non-classes meant that
      here, when dealing with decimal32 which is magically mangled like its first
      non-static data member, we got a collision with the mangling for float.
      Fixed by also looking up an existing binding for such magical classes.
      
      	PR c++/100261
      
      gcc/cp/ChangeLog:
      
      	* rtti.c (get_tinfo_decl_direct): Check TYPE_TRANSPARENT_AGGR.
      
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/dfp/mangle-6.C: New test.
      01b28647
    • Jason Merrill's avatar
      c++: template template parm pack expansion [PR100372] · 061fe8c5
      Jason Merrill authored
      Here we have a pack expansion of a template template parameter pack, of
      which the pattern is a TEMPLATE_DECL, which strip_typedefs doesn't want to
      see.
      
      	PR c++/100372
      
      gcc/cp/ChangeLog:
      
      	* tree.c (strip_typedefs): Only look at the pattern of a
      	TYPE_PACK_EXPANSION if it's a type.
      
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/cpp0x/alias-decl-ttp1.C: New test.
      061fe8c5
    • GCC Administrator's avatar
      Daily bump. · a8daf9a1
      GCC Administrator authored
      a8daf9a1
  2. May 18, 2021
    • Mike Frysinger's avatar
      sim: depend on gnulib · 17af39e1
      Mike Frysinger authored
      We're going to start using gnulib in the sim, so make sure it exists.
      
      ChangeLog:
      
      	* Makefile.def: Add configure-sim dependency on all-gnulib.
      	* Makefile.in: Regenerated.
      17af39e1
    • Bill Schmidt's avatar
      rs6000: Remove old psabi warnings · 79cf0004
      Bill Schmidt authored
      Long ago we were forced to make some small ABI breaks to correct errors
      in the implementation, and we added warning messages for the changes
      from GCC 4.9 to GCC 5.  Enough time has passed that these are now just
      irritants, so let's remove them.  Also clean up associated macros using
      rs6000_special_adjust_field_align_p, which has been always returning
      false for a long time.
      
      2021-05-18  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      gcc/
      	* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Remove call to
      	rs6000_special_adjust_field_align_p.
      	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
      	* config/rs6000/rs6000-call.c (rs6000_function_arg_boundary):
      	Remove ABI warning.
      	(rs6000_function_arg): Likewise.
      	* config/rs6000/rs6000-protos.h
      	(rs6000_special_adjust_field_align_p): Remove prototype.
      	* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
      	Remove.
      	* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove call to
      	rs6000_special_adjust_field_align_p.
      
      gcc/testsuite/
      	* gcc.target/powerpc/ppc64-abi-warn-1.c: Remove.
      	* gcc.target/powerpc/ppc64-abi-warn-2.c: Remove.
      	* gcc.target/powerpc/ppc64-abi-warn-3.c: Remove.
      79cf0004
    • Iain Buclaw's avatar
      d: Use filename_ncmp instead of strncmp · 5c66a1a3
      Iain Buclaw authored
      gcc/d/ChangeLog:
      
      	* d-incpath.cc (prefixed_path): Use filename_ncmp instead of strncmp.
      5c66a1a3
    • Iain Buclaw's avatar
      d: Use startswith function instead of strncmp · f87ce014
      Iain Buclaw authored
      gcc/d/ChangeLog:
      
      	* types.cc (TypeVisitor::visit (TypeEnum *)): Use startswith function
      	instead of strncmp.
      f87ce014
    • Iain Buclaw's avatar
      d: Revert "Come up with startswith function." · 3e0ad856
      Iain Buclaw authored
      This reverts changes to the DMD front-end in commit
      6ba3079d.
      
      Changes were incorrectly committed directly to the GCC repo instead of
      the master repository.
      
      gcc/d/ChangeLog:
      
      	* dmd/dinterpret.c (evaluateIfBuiltin): Revert last change.
      	* dmd/dmangle.c: Likewise.
      	* dmd/hdrgen.c: Likewise.
      	* dmd/identifier.c (Identifier::toHChars2): Likewise.
      3e0ad856
    • Marek Polacek's avatar
      c++: Prune dead functions. · fef7c899
      Marek Polacek authored
      I was looking at the LCOV coverage report for the C++ FE and
      found a bunch of unused functions that I think we can remove.
      Obviously, I left alone various dump_* and debug_* routines.
      I haven't removed cp_build_function_call although it is also
      currently unused.
      
      * lambda_return_type: was used in parser.c in GCC 7, unused since r255950,
      * classtype_has_non_deleted_copy_ctor: appeared in GCC 10, its usage
        was removed in c++/95350,
      * contains_wildcard_p: used in GCC 9, unused since r276764,
      * get_template_head_requirements: seems to never have been used,
      * check_constrained_friend: seems to never have been used,
      * subsumes_constraints: unused since r276764,
      * push_void_library_fn: usage removed in r248328,
      * get_template_parms_at_level: unused since r157857,
      * get_pattern_parm: unused since r275387.
      
      (Some of the seemingly unused functions, such as set_global_friend, are
      actually used in libcc1.)
      
      gcc/cp/ChangeLog:
      
      	* class.c (classtype_has_non_deleted_copy_ctor): Remove.
      	* constraint.cc (contains_wildcard_p): Likewise.
      	(get_template_head_requirements): Likewise.
      	(check_constrained_friend): Likewise.
      	(subsumes_constraints): Likewise.
      	* cp-tree.h (classtype_has_non_deleted_copy_ctor): Likewise.
      	(push_void_library_fn): Likewise.
      	(get_pattern_parm): Likewise.
      	(get_template_parms_at_level): Likewise.
      	(lambda_return_type): Likewise.
      	(get_template_head_requirements): Likewise.
      	(check_constrained_friend): Likewise.
      	(subsumes_constraints): Likewise.
      	* decl.c (push_void_library_fn): Likewise.
      	* lambda.c (lambda_return_type): Likewise.
      	* pt.c (get_template_parms_at_level): Likewise.
      	(get_pattern_parm): Likewise.
      fef7c899
    • Jason Merrill's avatar
      c++: non-static member, decltype, {} [PR100205] · 8c114759
      Jason Merrill authored
      This test was fixed by my second patch for PR93314, which distinguishes
      between constant-expression and potentially-constant-evaluated contexts in a
      way that my first patch did not.
      
      	PR c++/100205
      	PR c++/99314
      
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/cpp0x/decltype-nonstatic1.C: New test.
      8c114759
    • Jason Merrill's avatar
      c++: "perfect" implicitly deleted move [PR100644] · f71ca97d
      Jason Merrill authored
      Here we were ignoring the template constructor because the implicit move
      constructor had all perfect conversions.  But CWG1402 says that an
      implicitly deleted move constructor is ignored by overload resolution; we
      implement that instead by preferring any other candidate in joust, to get
      better diagnostics, but that means we need to handle that case here as well.
      
      gcc/cp/ChangeLog:
      
      	PR c++/100644
      	* call.c (perfect_candidate_p): An implicitly deleted move
      	is not perfect.
      
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/cpp0x/implicit-delete1.C: New test.
      f71ca97d
    • David Malcolm's avatar
      analyzer: fix missing leak after call to strsep [PR100615] · cd323d97
      David Malcolm authored
      PR analyzer/100615 reports a missing leak diagnostic.
      The issue is that the code calls strsep which the analyzer doesn't
      have special knowledge of, and so conservatively assumes that it
      could free the pointer, so drops malloc state for it.
      
      Properly "teaching" the analyzer about strsep would require it
      to support bifurcating state at a call, which is currently fiddly to
      do, so for now this patch notes that strsep doesn't affect the
      malloc state machine, allowing the analyzer to correctly detect the leak.
      
      gcc/analyzer/ChangeLog:
      	PR analyzer/100615
      	* sm-malloc.cc: Include "analyzer/function-set.h".
      	(malloc_state_machine::on_stmt): Call unaffected_by_call_p and
      	bail on the functions it recognizes.
      	(malloc_state_machine::unaffected_by_call_p): New.
      
      gcc/testsuite/ChangeLog:
      	PR analyzer/100615
      	* gcc.dg/analyzer/pr100615.c: New test.
      cd323d97
    • Uros Bizjak's avatar
      i386: Implement 4-byte vector support [PR100637] · 46ca31d6
      Uros Bizjak authored
      Add infrastructure, logic and arithmetic support for 4-byte vectors.
      These can be used with SSE2 targets, where movd instructions from/to
      XMM registers are available.  x86_64 ABI passes 4-byte vectors in
      integer registers, so also add logic operations with integer registers.
      
      2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>
      
      gcc/
      	PR target/100637
      	* config/i386/i386.h (VALID_SSE2_REG_MODE):
      	Add V4QI and V2HI modes.
      	(VALID_INT_MODE_P): Ditto.
      	* config/i386/mmx.md (VI_32): New mode iterator.
      	(mmxvecsize): Handle V4QI and V2HI.
      	(Yv_Yw): Ditto.
      	(mov<VI_32:mode>): New expander.
      	(*mov<mode>_internal): New insn pattern.
      	(movmisalign<VI_32:mode>): New expander.
      	(neg<VI_32:mode>): New expander.
      	(<plusminus:insn><VI_32:mode>3): New expander.
      	(*<plusminus:insn><VI_32:mode>3): New insn pattern.
      	(mulv2hi3): New expander.
      	(*mulv2hi3): New insn pattern.
      	(one_cmpl<VI_32:mode>2): New expander.
      	(*andnot<VI_32:mode>3): New insn pattern.
      	(<any_logic:code><VI_32:mode>3): New expander.
      	(*<any_logic:code><VI_32:mode>3): New insn pattern.
      
      gcc/testsuite/
      
      	PR target/100637
      	* gcc.target/i386/pr100637-1b.c: New test.
      	* gcc.target/i386/pr100637-1w.c: Ditto.
      
      	* gcc.target/i386/pr92658-avx2-2.c: Do not XFAIL scan for pmovsxbq.
      	* gcc.target/i386/pr92658-avx2.c: Do not XFAIL scan for pmovzxbq.
      	* gcc.target/i386/pr92658-avx512vl.c: Do not XFAIL scan for vpmovdb.
      	* gcc.target/i386/pr92658-sse4-2.c: Do not XFAIL scan for
      	pmovsxbd and pmovsxwq.
      	* gcc.target/i386/pr92658-sse4.c: Do not XFAIL scan for
      	pmovzxbd and pmovzxwq.
      46ca31d6
    • Mike Frysinger's avatar
      config: delete unused sim macros · 7d3711a5
      Mike Frysinger authored
      Nothing in gcc or binutils or gdb or anything anywhere uses these.
      
      config/
      
      	* acinclude.m4 (CYG_AC_PATH_SIM, CYG_AC_PATH_DEVO): Delete.
      7d3711a5
    • Tobias Burnus's avatar
      Fortran/OpenMP: Add missing EXEC_OMP_DEPOBJ case val [PR100642] · cc193ac8
      Tobias Burnus authored
      	PR fortran/100642
      
      gcc/fortran/ChangeLog:
      
      	* openmp.c (omp_code_to_statement): Add missing EXEC_OMP_DEPOBJ.
      
      gcc/testsuite/ChangeLog:
      
      	* gfortran.dg/goacc-gomp/depobj.f90: New test.
      cc193ac8
    • Patrick Palka's avatar
      libstdc++: Fix access issue in elements_view::_Sentinel [PR100631] · 38751c4d
      Patrick Palka authored
      In the earlier commit r12-854 I forgot to also rewrite the other operator-
      overload in terms of the split-out member function _M_distance_from.
      
      libstdc++-v3/ChangeLog:
      
      	PR libstdc++/100631
      	* include/std/ranges (elements_view::_Sentinel::operator-): Use
      	_M_distance_from in the other operator- overload too.
      	* testsuite/std/ranges/adaptors/elements.cc (test06): Augment test.
      38751c4d
    • Uros Bizjak's avatar
      i386: Fix <any_extend:insn>v4qiv4di2 expander · 8b9484c5
      Uros Bizjak authored
      Fix a mode mismatch.
      
      2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>
      
      gcc/
      	* config/i386/sse.md (<any_extend:insn>v4qiv4di2):
      	Fix a mode mismatch with operand 1.
      8b9484c5
    • Uros Bizjak's avatar
      i386: Fix split_double_mode with paradoxical subreg [PR100626] · d39fbed7
      Uros Bizjak authored
      split_double_mode calls simplify_gen_subreg, which fails for the
      high half of the paradoxical subreg.  Return temporary register
      instead of NULL RTX in this case.
      
      2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>
      
      gcc/
      	PR target/100626
      	* config/i386/i386-expand.c (split_double_mode): Return
      	temporary register when simplify_gen_subreg fails with
      	the high half od the paradoxical subreg.
      d39fbed7
    • Richard Biener's avatar
      Avoid setting TREE_ADDRESSABLE on stack vars during RTL expansion · d3a0208e
      Richard Biener authored
      This avoids setting TREE_ADDRESSABLE on variables we want to force to
      the stack.  Instead track those in a temporary bitmap and force
      stack expansion that way, leaving TREE_ADDRESSABLE alone, not
      pessimizing future alias queries.
      
      2021-05-17  Richard Biener  <rguenther@suse.de>
      
      	* cfgexpand.c (expand_one_var): Pass in forced_stack_var
      	and honor it when expanding.
      	(expand_used_vars_for_block): Pass through forced_stack_var.
      	(expand_used_vars): Likewise.
      	(discover_nonconstant_array_refs_r): Set bits in
      	forced_stack_vars instead of marking vars TREE_ADDRESSABLE.
      	(avoid_type_punning_on_regs): Likewise.
      	(discover_nonconstant_array_refs): Likewise.
      	(pass_expand::execute): Create and pass down forced_stack_var
      	bitmap.  For parameters and returns temporarily set
      	TREE_ADDRESSABLE when expand_function_start.
      d3a0208e
    • Thomas Schwinge's avatar
      [libgomp, testsuite] Don't shadow global 'offload_targets' variable · b5c3145a
      Thomas Schwinge authored
      See local 'offload_targets' variable in
      'libgomp/testsuite/lib/libgomp.exp:libgomp_check_effective_target_offload_target'
      vs. global 'libgomp/testsuite/libgomp-test-support.exp.in:offload_targets'
      variable.
      
      	libgomp/
      	* testsuite/lib/libgomp.exp
      	(check_effective_target_offload_target_nvptx): Don't shadow global
      	'offload_targets' variable.
      b5c3145a
    • Thomas Schwinge's avatar
      'libgomp.c-c++-common/reduction-{5,6}.c': Restrict '-latomic' to nvptx offloading compilation · 937fa5fb
      Thomas Schwinge authored
      Fix-up for recent commit 33b64795
      "OpenMP: Fix SIMT for complex/float reduction with && and ||"; see
      commit d42088e4 "Avoid -latomic for amdgcn
      offloading".
      
      	libgomp/
      	* testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
      	'-latomic' to nvptx offloading compilation.
      	* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
      937fa5fb
    • Thomas Schwinge's avatar
      'libgomp.c/target-44.c': Restrict '-latomic' to nvptx offloading compilation · abf937ac
      Thomas Schwinge authored
      Fix-up for recent commit f87990a2
      "[openmp, simt] Disable SIMT for user-defined reduction"; see commit
      d42088e4 "Avoid -latomic for amdgcn
      offloading".
      
      	libgomp/
      	* testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
      	offloading compilation.
      abf937ac
    • Thomas Schwinge's avatar
      Add 'dg-note', 'dg-lto-note' · 03eb7791
      Thomas Schwinge authored
      That's 'dg-message "note: [...]"' with a twist: inhibit default notes pruning,
      such that "if 'dg-note' is used at least once in a testcase, [notes] are not
      pruned and instead must *all* be handled explicitly".
      
      The rationale is that either you're not interested in notes at all (default
      behavior of pruning all notes), but often, when you're interested in one note,
      you're in fact interested in all notes, and especially interested if
      *additional* notes appear over time, as GCC evolves.
      
      	gcc/testsuite/
      	* lib/gcc-dg.exp: Implement 'dg-note'.
      	* lib/prune.exp: Likewise.
      	* gcc.dg/vect/nodump-vect-opt-info-2.c: Use 'dg-note', and
      	'dg-prune-output "note: ".
      	* gfortran.dg/goacc/routine-external-level-of-parallelism-2.f: Use
      	'dg-note', match up additional notes, one class of them with
      	XFAILed 'dg-bogus'.
      	* lib/lto.exp: Implement 'dg-lto-note'.
      	* g++.dg/lto/odr-1_0.C: Use 'dg-lto-note', match up additional
      	notes.
      	* g++.dg/lto/odr-1_1.C: Likewise.
      	* g++.dg/lto/odr-2_1.C: Likewise.
      	libstdc++-v3/
      	* testsuite/lib/prune.exp: Add note about 'dg-note'.
      	gcc/
      	* doc/sourcebuild.texi: Document 'dg-note'.
      03eb7791
    • Tobias Burnus's avatar
      gcc/configure.ac: Fix cross build by using $(CFLAGS-$@) [PR100598] · 5116b54e
      Tobias Burnus authored
      BUILD_CFLAGS is set by configure; by default, BUILD_CFLAGS = $(ALL_CFLAGS)
      is used. The latter contains (see gcc/Makefile.in) $(CFLAGS-$@), which is used
      to pass .o-file specific flags to the compiler.
      For cross builds, BUILD_CFLAGS is constructed in configure{,.ac} and missed
      the $(CFLAGS-$@) - despite the comment above ALL_CFLAGS that configure.ac
      might have to kept in sync.
      
      gcc/ChangeLog:
      
      	PR other/100598
      	* configure: Regenerate.
      	* configure.ac (BUILD_CFLAG, BUILD_CXXFLAGS): Add $(CFLAGS-$@).
      5116b54e
    • Thomas Schwinge's avatar
      [OMP] Tighten 'is_gimple_omp_oacc' · e1cca880
      Thomas Schwinge authored
      No overall change in behavior.
      
      	gcc/
      	* gimple.h (is_gimple_omp_oacc): Tighten.
      	* omp-low.c (check_omp_nesting_restrictions): Adjust.
      e1cca880
    • Richard Biener's avatar
      operand scanner TLC · 3e2c7158
      Richard Biener authored
      This applies some TLC to mark_address_taken which ends up setting
      TREE_ADDRESSABLE on nodes where it doesn't have any semantics.
      It also does work (incomplete) that get_base_address already does,
      likewise we'll never get WITH_SIZE_EXPR in this context and thus
      get_base_address never fails.
      
      2021-05-18  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-operands.c (mark_address_taken): Simplify.
      3e2c7158
    • Martin Liska's avatar
      startswith: Fix offloading targets. · 6806469d
      Martin Liska authored
      gcc/ChangeLog:
      
      	* config/gcn/mkoffload.c (STR): Redefine.
      	* config/i386/intelmic-mkoffload.c (STR): Likewise.
      	* config/nvptx/mkoffload.c (STR): Likewise.
      6806469d
Loading