rmaprath added inline comments.

================
Comment at: src/config.h:22
@@ +21,3 @@
+
+#if defined(__GNUC__) || defined(__clang__)
+#define _LIBCXXABI_PRAGMA(_parameter_) _Pragma(#_parameter_)
----------------
EricWF wrote:
> What's the point of defining `_LIBCXXABI_WARNING`? It's unused and seems 
> unneeded.
Good catch. I have copy-pasted this lot without checking.

================
Comment at: src/config.h:41
@@ +40,3 @@
+    defined(__CloudABI__) || \
+    defined(__sun__)
+#  define _LIBCXXABI_HAS_THREAD_API_PTHREAD
----------------
compnerd wrote:
> Can you change this to `defined(__sun__) && defined(_POSIX_THREADS)` at the 
> very least?  There is no reason to assume pthreads on Solaris.  Solaris 
> Threads are a valid threading model.
Not sure if I understand completely, `libcxxabi` currently either supports 
`pthread` or no-threads, either of which can be explicitly configured through a 
cmake option. So I don't see the point in checking for `_POSIX_THREADS` here as 
the only current threading option is `pthread`. When we add another threading 
system into the mix (like external threading), that too will be configurable 
with a cmake option, the defaulting to `pthread` is only when no particular 
threading system is selected.

Or is it that `pthread.h` et. al can be provided by Solaris Threads as well? 
So, the pthread API has two implementations on Solaris?

================
Comment at: src/config.h:42
@@ +41,3 @@
+    defined(__sun__)
+#  define _LIBCXXABI_HAS_THREAD_API_PTHREAD
+# else
----------------
compnerd wrote:
> Can we use `_LIBCXXABI_USE_THREAD_API_PTHREAD` instead?  You can have more 
> than one threading API on a platform, and wish to use a specific one.
Makes sense. Need to change the convention used in `libcxx` too, but that can 
be done later.

================
Comment at: src/config.h:46
@@ +45,3 @@
+# endif
+#endif
+
----------------
compnerd wrote:
> I really think that we should use `_POSIX_THREADS` macro rather than this 
> enumeration approach.
`_LIBCXXABI_USE_THREAD_API_XXXX` allows us to be consistent with naming of the 
different threading variants (e.g. I'm going to add 
`_LIBCXXABI_USE_THREAD_API_EXTENRAL` soon). Is there some functional benefit to 
using `_POSIX_THREADS` for the pthread variant?

================
Comment at: src/fallback_malloc.ipp:30
@@ -29,3 +29,3 @@
 #ifndef _LIBCXXABI_HAS_NO_THREADS
-static pthread_mutex_t heap_mutex = PTHREAD_MUTEX_INITIALIZER;
+static __libcxxabi_mutex_t heap_mutex = _LIBCXXABI_MUTEX_INITIALIZER;
 #else
----------------
Thanks for the catch.


https://reviews.llvm.org/D24864



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

Reply via email to