[PATCH] D79588: [llvm][Support] Use std::atomic for llvm::call_once

2020-05-07 Thread Brad Smith via Phabricator via cfe-commits
brad added a comment.

OpenBSD 6.7 is just wrapping up and will be released in a few days. We have 
switched to Clang for our PowerPC system compiler and thus libc++. It should be 
Ok to remove OpenBSD from that bit of code.

The original issue as far as I remember is that because we don't have TLS 
support it was exposing another code path that could sometimes have deadlocks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79588/new/

https://reviews.llvm.org/D79588



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D79588: [llvm][Support] Use std::atomic for llvm::call_once

2020-05-07 Thread JF Bastien via Phabricator via cfe-commits
jfb added a subscriber: brad.
jfb added a comment.

is this code still relevant?

  #if defined(_MSC_VER)
  // MSVC's call_once implementation worked since VS 2015, which is the minimum
  // supported version as of this writing.
  #define LLVM_THREADING_USE_STD_CALL_ONCE 1
  #elif defined(LLVM_ON_UNIX) &&
 \
  (defined(_LIBCPP_VERSION) ||  
 \
   !(defined(__NetBSD__) || defined(__OpenBSD__) || 
 \
 (defined(__ppc__) || defined(__PPC__
  // std::call_once from libc++ is used on all Unix platforms. Other
  // implementations like libstdc++ are known to have problems on NetBSD,
  // OpenBSD and PowerPC.
  #define LLVM_THREADING_USE_STD_CALL_ONCE 1
  #elif defined(LLVM_ON_UNIX) &&
 \
  ((defined(__ppc__) || defined(__PPC__)) && defined(__LITTLE_ENDIAN__))
  #define LLVM_THREADING_USE_STD_CALL_ONCE 1
  #else
  #define LLVM_THREADING_USE_STD_CALL_ONCE 0
  #endif

Seems like something that's probably aged out? Check with @brad since it's from 
2016 in b4f6ebf80695. What's the actual problem?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79588/new/

https://reviews.llvm.org/D79588



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D79588: [llvm][Support] Use std::atomic for llvm::call_once

2020-05-07 Thread Eli Friedman via Phabricator via cfe-commits
efriedma requested changes to this revision.
efriedma added a comment.
This revision now requires changes to proceed.

This code is basically untested; I'd rather not touch it until we eventually 
kill it off.  (See the definition of LLVM_THREADING_USE_STD_CALL_ONCE.)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79588/new/

https://reviews.llvm.org/D79588



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits