<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/126733>126733</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
some libc++ 19.1.0 headers no longer compile with C++11
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
edfvogel
</td>
</tr>
</table>
<pre>
I note that the libc++ 19.1.0 headers contain code that is not valid C++11 code.
For example __type_traits/desugars_to.h contains:
template <class _CanonicalTag, class _Operation, class... _Args>
inline const bool __desugars_to_v = false;
variable templates were introduced in C++14.
If I compile with -Werror -Wstd=c++11 the compiler I use will give an error.
I believe this code (and its uses) should be guarded with _LIBCPP_STD_VERSION >= 14 conditionals.
Thank you for your time in this matter,
Ed Vogel
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8k81u-ygUxZ8Gb65iGXD-SRZe5KORIo2m1bRql9a1ubaZwRABdqdvPyJO05nNrJDQ_XE4hwOGoHtLVLH1ga1PGU5xcL4i1c2uJ5M1Tn1VF7AuEsQBI8SBwOimZeLAxAH4Lud5AQOhIh-gdTaittA6dZ_XIcEwo9EKjgvF-W0gZ8WeFfuz80B_43g1BHUdv65UR486BibOisLUow91dPnwfXpgcr-gkcarwUjA5LE1GALUR7TO6hbNG_ZMHOG-_Xwlj1E7-9jL8xzqve8Dk0-s2GtrtKUkESI0zhmo63-p1zMweYIOTSAmD4v8jF5jYwi-7xHgkzyBttE7NbWkQNuH6TKHBbt0cIHWjVdtCD51HGD1Qd47D6uPEBWTp_aRU4r7PurhAlNIhDHQ65kALdy4e5AXaMhomlPyOixvwMQWrQIdQ2IDEzsIg5uMgoagn9ArUssd6t8uh-PLS_36dqrfn_54vTz_DikaeQJeplyUTvmhCXe5twHtX_DlJuicT6uHqMfkftEfMUbyTByX8ScF76lSrNhnqpJqJ3eYUcU3cie2sixFNlTbtpQbUWwl_pJ8KzZrKgRvtwVvZdcpLDNdiUKsC8E5L_lGiLxbcyk2XbeTHSLHDSsLGlGb3Jh5zJ3vMx3CRBUXvzZSZgYbMuFWdiF-asyESOX3VaJWzdQHVhZGhxh-zok6GqqCG_-v_9aBcbYn_9_3ffQ-m7yphhivtw6LMxPnXsdhavLWjUyck9p9WV29-5PayMT5ZiF9h7uLuRL_BAAA__-fCDFH">