<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJztWdty2joU_RryojFjfAH7gQcDJvGUQIbQSfukkW0Z1PrCkeQk_P3ZsiGQhCTQtHTOGTrUlqV91ZLWluOwiFdduWACRUWWMYlcwzENajmOS2hbN50ockKTtqlluSQxiBu6ZscioYVoTsKUoobdb5h9IouMRVXbRw8LmiO54JTEAhFOUcyEkm029EFD98JSQm92386QJHxOJYoLKlBeSLQg9xSRfIUEm-c0bhjDMq-bKC2in1rCKUVytaSiNtVo6-tf_WiYMU1YThHG_ZE3vsTebHId9HFvMhnh0aT_BQ-nvo9aH4j3r7xpq41nR6qYxtEqR4gH42OMj0YTeDhC_jjxmwmE4x8T_u3VZHpMAnfV9HygcdnvHw7xjvBhAL9Q-BjeFwoHC38I7Y7sAcDuSh8jfBCoO_JvQfp8Uy6kXIqGCUaG8JszuSjDJpANPKTp_eamLXnxg0YSHsO0COFm6pahu61W26Guaxqm0eoYhklc240Tp92xwzgBNjIjZYCF0eMjNFgepWVMobUmJMMcGW1H1-DqOuvwqmutgsKSpYpb5ntDH3rByB9A7Ehw5ad_TX7SIUuBfowhqGMhiWRRM2YcOviqhGtsJOyRxs1ouWwW4Y_akK_yt_sq0ZYFjZDlcI1Sks8bRg9-TfpIkabVfNgwBzU_anmRU42SkCGkDcYDv_f1Ehp4FPT6Nze49zUYDQIFcNCbetPvO0OD4NbrjXw89u_wwB_5Mx9uw2AczILJ-HZH8Mq7xeMJvpl6l9cevv1-O_Ov8ZXvDfzpjtQoGH_BN7OrKQyovpdDahmo3mALQFQnVk-wFnypV8ALqJ-Ag_l9N30tS9KCSA3aMCyKREIX4dHiSRhpSVLmkWRFrgla3QX0xUSS3ee80FhMc1DXxErwAoqOvw0NwKmCUvErcDRe5pJlFd61G6x847xIlq8ncQ0D9kbB5dgfwB32hqdm_P3cJmKLLnpfdKA8fvv2DHp49noB5EbSqlRqJIViSVTGCHSFjAGVGg0QumeChSxlcqWxPIU9LbQFi2FKno2B803vHZiDK32UnMAdfg-cSaoJyVk-h9DvYE7LvBTgeUk4yaikvO5NC5hCdVH6nBcczHIqS55rqohvrAI-GeR2V-bAMnBPCp4B1pA2hEI5Sdc-BOVazUOxth5Zu4-Ke8qhVzwwGS2UEClTWY-Jcj6nQmpKhAP2dW8VTr0e6GNElzvrg0vJnq_YllUt4z2LYD_5rGcbWvctBBMVQ97rPgPm8HoA_2e_zimgPay07f6ONvDJc227r7Tt_gvtJmzH4jPOI_TxZt6nXVNhkKMEHKL1bMUo4UX2qxZNz7KV5mGWPwOjCmIlJM3weiF7Lbt1OtfVXgNztmGczClJ5wXs9EUGFtu2eTK_GxonqUpYb5_MMcY7rrdxNKHIeMbpwMY4o1nBVwr3Bbw-xXgpeRWEuV3svxHm-qQEKbZdNdctdUGbVY6AdVGRIMXNUBIhGlTVT5YwYPmG0cFYuVgucf2ehtV7GlbvaTDWMHvw7hejVVGijJJ8nzzLJZ1TXkkP69xUbVCVYBNZ_20f8LZZS-0Z6tXW0PN_DdtvdH7Tb5_9t_L7zahhHBW5qlv10URtU6qYWy0TS3GEq8CDd2qq7u_OO3pCdgFFtA50bfytbBAUtO0YEy-NAmQzYOfqZGV69yQtX-OhgDhXhHNFOFeE_1hFkEWBEvqAYOkvUyIpgteVMoOaIBCc3NGGOt7n-tMQ_V8l3af5YeJMsWeKPVPsmWL3UmznE4fuzeeRw4_dTxpHHbz3-Nky8r7BP3_4PuAI_irXU9YD_b1D-B4UDqoRL_VeVYlXhs914lwnznXif1onfuEovo__T0f-f5WAjz2Q_2GytWocBZrTnHKIK27u_Qp5EXfN2DVdckFKuSh49_afkqSpNxtelDztHv19lQlRVn_wtw2nY10supZjJG5kJ247dDpx29J13bTNjhPrIbUiJ7lISUhT0W3YMPFGDuutMgHthj24-HwErGvoRqtlGHarZRmG1QztxNSdyCadluNExGlYOs0IS5vKTrPg8wverUyG5VzAYMqEFNtBIipYaBUwRCiZTGl3_akXwFt_C1M75NUXtgTc0PiiirBbhfcvkiUj_Q>52874</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            build libc++ for armv6m-none-eabi failed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          SquallATF
      </td>
    </tr>
</table>

<pre>
    this commit 92832e4889ae6038cc8b3e6e449af2a9b9374ab4 enable \<atomic\> when threads are disable.
but armv6m target does not have any signed/unsigned lock-free types
```
#define __CLANG_ATOMIC_BOOL_LOCK_FREE 1
#define __CLANG_ATOMIC_CHAR16_T_LOCK_FREE 1
#define __CLANG_ATOMIC_CHAR32_T_LOCK_FREE 1
#define __CLANG_ATOMIC_CHAR_LOCK_FREE 1
#define __CLANG_ATOMIC_INT_LOCK_FREE 1
#define __CLANG_ATOMIC_LLONG_LOCK_FREE 1
#define __CLANG_ATOMIC_LONG_LOCK_FREE 1
#define __CLANG_ATOMIC_POINTER_LOCK_FREE 1
#define __CLANG_ATOMIC_SHORT_LOCK_FREE 1
#define __CLANG_ATOMIC_WCHAR_T_LOCK_FREE 1
#define __GCC_ATOMIC_BOOL_LOCK_FREE 1
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1
#define __GCC_ATOMIC_CHAR_LOCK_FREE 1
#define __GCC_ATOMIC_INT_LOCK_FREE 1
#define __GCC_ATOMIC_LLONG_LOCK_FREE 1
#define __GCC_ATOMIC_LONG_LOCK_FREE 1
#define __GCC_ATOMIC_POINTER_LOCK_FREE 1
#define __GCC_ATOMIC_SHORT_LOCK_FREE 1
```
https://github.com/llvm/llvm-project/blob/3042091168e99323217223a959df8675bdfa9b3c/libcxx/include/atomic#L2680-L2698

libcxx build log
```
FAILED: src/CMakeFiles/cxx_static.dir/ryu/d2fixed.cpp.obj
E:\llvm14\bin\clang++.exe --target=armv6m-none-eabi  -DNDEBUG -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -Iinclude/c++build -IK:/llvm-project/libcxx/src --target=armv6m-none-eabi -mfloat-abi=soft -march=armv6m -ffunction-sections -fdata-sections -fno-ident --sysroot E:/llvm14/lib/clang-runtimes/armv6m_soft_nofp -D_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION --target=armv6m-none-eabi -Os -DNDEBUG   --target=armv6m-none-eabi -DLIBCXX_BUILDING_LIBCXXABI -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -Wall -Wextra -W -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fno-exceptions -fno-rtti -IK:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1 -std=c++2a -MD -MT src/CMakeFiles/cxx_static.dir/ryu/d2fixed.cpp.obj -MF src\CMakeFiles\cxx_static.dir\ryu\d2fixed.cpp.obj.d -o src/CMakeFiles/cxx_static.dir/ryu/d2fixed.cpp.obj -c K:/llvm-project/libcxx/src/ryu/d2fixed.cpp
In file included from K:/llvm-project/libcxx/src/ryu/d2fixed.cpp:45:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/system_error:151:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/string:522:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/algorithm:653:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/functional:506:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__functional/function.h:21:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__memory/shared_ptr.h:35:
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/atomic:2696:16: error: use of undeclared identifier '__libcpp_signed_lock_free'; did you mean '__libcpp_signed_integer'?
typedef atomic<__libcpp_signed_lock_free> atomic_signed_lock_free;
               ^~~~~~~~~~~~~~~~~~~~~~~~~
               __libcpp_signed_integer
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__concepts/arithmetic.h:42:9: note: '__libcpp_signed_integer' declared here
concept __libcpp_signed_integer = __libcpp_is_signed_integer<_Tp>::value;
        ^
In file included from K:/llvm-project/libcxx/src/ryu/d2fixed.cpp:45:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/system_error:151:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/string:522:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/algorithm:653:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/functional:506:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__functional/function.h:21:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__memory/shared_ptr.h:35:
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/atomic:2696:16: error: too few template arguments for concept '__libcpp_signed_integer'
typedef atomic<__libcpp_signed_lock_free> atomic_signed_lock_free;
               ^
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__concepts/arithmetic.h:42:9: note: template is declared here
concept __libcpp_signed_integer = __libcpp_is_signed_integer<_Tp>::value;
        ^
In file included from K:/llvm-project/libcxx/src/ryu/d2fixed.cpp:45:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/system_error:151:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/string:522:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/algorithm:653:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/functional:506:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__functional/function.h:21:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__memory/shared_ptr.h:35:
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/atomic:2697:16: error: use of undeclared identifier '__libcpp_unsigned_lock_free'; did you mean '__libcpp_unsigned_integer'?
typedef atomic<__libcpp_unsigned_lock_free> atomic_unsigned_lock_free;
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
               __libcpp_unsigned_integer
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__concepts/arithmetic.h:40:9: note: '__libcpp_unsigned_integer' declared here
concept __libcpp_unsigned_integer = __libcpp_is_unsigned_integer<_Tp>::value;
        ^
In file included from K:/llvm-project/libcxx/src/ryu/d2fixed.cpp:45:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/system_error:151:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/string:522:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/algorithm:653:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/functional:506:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__functional/function.h:21:
In file included from K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__memory/shared_ptr.h:35:
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/atomic:2697:16: error: too few template arguments for concept '__libcpp_unsigned_integer'
typedef atomic<__libcpp_unsigned_lock_free> atomic_unsigned_lock_free;
               ^
K:/llvm14build/armv6m_soft_nofp/libcxx/include/c++/v1/__concepts/arithmetic.h:40:9: note: template is declared here
concept __libcpp_unsigned_integer = __libcpp_is_unsigned_integer<_Tp>::value;
        ^
4 errors generated.
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWdtu4joU_ZrwYgWRG4QHHgKENhoKFWXUmSfLSRzwTC4c2-mUvz_bCRTa0hbmwugcUdHEsffVy17bUcIiXvfkkgkUFVnGJOqarmVS23W7hLZblhtFbmjRNrXtLklM0g27VscmoY1oTsKUIs0ZaNaAyCJjUdX20Y8lzZFcckpigQinKGZCyTa11lBreWEpoTd7aGdIEr6gEsUFFSgvJFqSB4pIvkaCLXIaa-aozOsmSovou55wSpFcr6ioTWnt1uZXP5pWTBOWU4TxYOxNrrA3n94EA9yfTsd4PB18wqOZ7yPjA_HBtTcz2nh-ooplnqxygngwOcX4eDyFhxPkTxO_nUI4_inh311PZ6ckcF9NzwcaV4PB8RDvCR8H8AuFj-F9oXC08IfQ7skeAey-9CnCR4G6J_8WpM835VLKldAsMDKC34LJZRk2gWzgIU0ftjd9xYtvNJLwGKZFCDerZZutrmG0XdrtWqZlGh3TtEjX6caJ2-44YZwAG1mRMsDC6PERGiyP0jKm0NoQkmmNzbbb0uHadTfhVddaBYUlSxW3LA6GPvKCsT-E2JHgys_ghnynI5YC_ZgjUMdCEsmiZsw4dPB1CdfYTNgjjZvRatUswm-1IV_l7wxUooYNjZDlcI1Ski80sw-_Jn2kSNdrPtSsYc2Pel7kVKckZAjpw8nQ73--ggYeB_3B7S3ufw7Gw0ABHPRn3uzr3tAwuPP6Yx9P_Hs89Mf-3IfbKJgE82A6udsTvPbu8GSKb2fe1Y2H777ezf0bfO17Q3-2JzUOJp_w7fx6BgOq7-WQWgaqN9gBENWJ1ROsB5_qFfAC6ifgYH7fTV_PkrQgUoc2DIsikdBFeLR8EkZ6kpR5JFmR64JWdwF9MZFk_zkvdBbTHNR1sRa8gKLj70IDcKqgVPwKHJ2XuWRZhXftBivfOC-S1etJ3MCAvXFwNfGHcIe94akZfz-3qdihi94XHSqPX748gx6evX4AuZG0KpU6SaFYEpUxAl0hY0ClRgOEHphgIUuZXOssT2FPC33JYpiSZ2PgfNt7D-bgSh8lJ3CH3w_OJNWF5CxfQOj3MKdlXgrwvCKcZFRSXvemBUyhuih9zgsOZjmVJc91VcS3VgGfDHK7L3NgGbgnBc8Aa0gbQqGcpBsfgnK95qFY34xs3EfFA-XQK34wGS2VEClTWY-JcrGgQupKhAP2dW8VTr0e6GNEV3vrg0vJnq9Yw66W8YFFcJh8NrMNrQcDwUTFkPemz4Q5vBnC__znOQW0R5W2M9jTBj55ru0MlLYzeKHdhO1Y_IrzCH28mQ9p11QY5CgBh2gzWzFKeJH9rEXLsx2leZzlX4FRBbEWkmZ4s5A9wzHO57raa2DOMc2zOSXpooCdvszAYtuxzuZ3S-MkVQm32mdzjPGe610cTSgynnk-sDHOaFbwtcJ9Ca9PMV5JXgVh7Rb7b4S5PilBiu2ummtDXdB2lSNgXVQkSHEzlESIBlX1kyUMWF4zOxgrF6sVrt_TsHpPw-o9DcY0qw_vfjFaFyXKKMkPybNc0gXllfSozk3VBlUJtpEN3vYBb5u11IGhfm0NPf_THF_r_KbfIftv5febUcM4KnJVt-qjidqmVDG3Wia24oiuAg_eqam6vzvv6AnZJRTROtCN8beyQVDQdmNMvDQKkM2BnauTleU9kLR8jYcC4lIRLhXhUhH-YxVBFgVK6A8ES3-VEkkRvK6UGdQEgeDkjrbU8T7Xn4fo_yrpPs0PExeKvVDshWIvFHuQYju_cOjefh45_tj9pHHSwfuAnx0jHxr884fvI47gr3I9Zz1ovXcIP4DCUTXipd6rKvHK8KVOXOrEpU78T-vETxzFD_H_-cj_rxLwqQfyP0y2do2jQAuaUw5xxc2DXyEbcc-Ku1aXNCSTKe1tvllCFJuPOgrqV5-KEgLbIG6UPO2d_AWWCVFWnwQc0-3YjWWPOHFoGNTqxGGr3XLbnbBrm65jhlbitsMoaqQkpKnoaQ4EZOawIisT0NacYYP1zJZpGKbpGIZtmnYzdBKr5UYO6RiuGxFXs1s0g3ibKo5mwRcN3qtCCsuFgMGUCSl2g0RU004rd2CflHJZ8N7dPyVJU28-alTOe1Xw_wLFYQ7Q">