[cfe-dev] [libcxx] A few questions about external threading support

Liu Hao via cfe-dev cfe-dev at lists.llvm.org
Tue Mar 28 20:51:10 PDT 2017


Hello libcxx developers:

I am the maintainer of the mcfgthread library 
(https://github.com/lhmouse/mcfgthread). At the moment I provide support 
for libstdc++ only, but I am also willing to add support for libcxx. 
Here are a few questions:

1. The prototype of `__libcpp_recursive_mutex_trylock()` was changed 
from RELEASE_400 to trunk. It used to return an `int` but now it returns 
a `bool` instead. Since the old function returns zero on success while 
the new function returns non-zero on success, this results in horrible 
incompatibility. Would you please provide some details about why you 
changed its return type?

2. There is no `__libcpp_recursive_mutex_timedlock()`. 
`std::recursive_mutex` is implemented using a non-recursive mutex plus a 
condition variable. Are there any reasons why you don't make use of it? 
I know that Windows SRW lock doesn't support timed locking but 
`pthread_mutex_timedlock()` is a standard function in POSIX so it should 
be used in favor of sort of emulation.

3. The inline assembler in Clang doesn't support Intel syntax even with 
`-masm=intel`. Is there a command line option to have Clang pass asm 
code directly to the assembler that accepts Intel syntax?

Thanks in advance.

-- 
Best regards,
LH_Mouse




More information about the cfe-dev mailing list