1<!DOCTYPE html> 2<html> 3<head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>Clang - C Programming Language Status</title> 6 <link type="text/css" rel="stylesheet" href="menu.css"> 7 <link type="text/css" rel="stylesheet" href="content.css"> 8 <style type="text/css"> 9 .none { background-color: #FFCCCC } 10 .partial { background-color: #FFE0B0 } 11 .unreleased { background-color: #FFFF99 } 12 .unknown { background-color: #FF55FF } 13 .full { background-color: #CCFF99 } 14 .na { background-color: #DDDDDD } 15 :target { background-color: #FFFFBB; outline: #DDDD55 solid thin; } 16 th { background-color: #FFDDAA } 17 td { vertical-align: middle } 18 tt { white-space: nowrap } 19 </style> 20</head> 21<body> 22 23<!--#include virtual="menu.html.incl"--> 24 25<div id="content"> 26 27<!--*************************************************************************--> 28<h1>C Support in Clang</h1> 29<!--*************************************************************************--> 30 31<p>Clang implements the following published and upcoming ISO C standards:</p> 32 33<table width="689" border="1" cellspacing="0"> 34<tr> 35 <th>Language Standard</th> 36 <th>Flag</th> 37 <th>Available in Clang?</th> 38</tr> 39<tr> 40 <td><a href="#c89">C89</a></td> 41 <td><tt>-std=c89</tt></td> 42 <td class="full" align="center">Yes</td> 43</tr> 44<tr> 45 <td><a href="#c99">C99</a></td> 46 <td><tt>-std=c99</tt></td> 47 <td class="unknown" align="center">Almost certainly</td> 48</tr> 49<tr> 50 <td><a href="#c11">C11</a></td> 51 <td><tt>-std=c11</tt></td> 52 <td class="unknown" align="center">Probably</td> 53</tr> 54<tr> 55 <td><a href="#c17">C17</a></td> 56 <td><tt>-std=c17</tt></td> 57 <td class="unknown" align="center">Maybe?</td> 58</tr> 59<tr> 60 <td><a href="#c2x">C2x</a></td> 61 <td><tt>-std=c2x</tt></td> 62 <td class="partial" align="center">Partial</td> 63</tr> 64</table> 65 66<p>The implementation status for C99, C11, and C17 are currently under 67investigation. Any proposal whose status in Clang is currently unknown 68will be marked in <span class="unknown">magenta</span>.</p> 69 70<p>The Clang community is continually striving to improve C standards 71compliance between releases. We implement the resolution for defect 72reports, but we do not currently track our DR status (help with 73tracking DR status is appreciated).</p> 74 75<p>The <a href="https://bugs.llvm.org/">LLVM bug tracker</a> contains a 76Clang C component that tracks known bugs with Clang's language 77conformance.</p> 78 79<h2 id="c89">C89 implementation status</h2> 80 81<p>Clang implements all of the ISO 9899:1990 (C89) standard.</p> 82<p>You can use Clang in C89 mode with the <code>-std=c89</code> or <code>-std=c90</code> options.</p> 83 84<h2 id="c99">C99 implementation status</h2> 85 86<p>Clang implements a significant portion of the ISO 9899:1999 (C99) standard, but the status of individual proposals is still under investigation.</p> 87<p>You can use Clang in C99 mode with the <code>-std=c99</code> option.</p> 88 89<h2 id="c11">C11 implementation status</h2> 90 91<p>Clang implements a significant portion of the ISO 9899:2011 (C11) standard, but the status of individual proposals is still under investigation.</p> 92<p>You can use Clang in C11 mode with the <code>-std=c11</code> option (use <code>-std=c1x</code> in Clang 3.0 and earlier).</p> 93 94<details> 95<summary>List of features and minimum Clang version with support</summary> 96 97<table width="689" border="1" cellspacing="0"> 98 <tr> 99 <th>Language Feature</th> 100 <th>C11 Proposal</th> 101 <th>Available in Clang?</th> 102 </tr> 103 <tr> 104 <td>A finer-grained specification for sequencing</td> 105 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1252.htm">N1252</a></td> 106 <td class="unknown" align="center">Unknown</td> 107 </tr> 108 <tr> 109 <td>Clarification of expressions</td> 110 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1282.pdf">N1282</a></td> 111 <td class="unknown" align="center">Unknown</td> 112 </tr> 113 <tr> 114 <td>Extending the lifetime of temporary objects (factored approach)</td> 115 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1285.htm">N1285</a></td> 116 <td class="unknown" align="center">Unknown</td> 117 </tr> 118 <tr> 119 <td>Requiring signed char to have no padding bits</td> 120 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1310.htm">N1310</a></td> 121 <td class="unknown" align="center">Unknown</td> 122 </tr> 123 <tr> 124 <td>Initializing static or external variables</td> 125 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1311.pdf">N1311</a></td> 126 <td class="unknown" align="center">Unknown</td> 127 </tr> 128 <tr> 129 <td>Conversion between pointers and floating types</td> 130 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1316.htm">N1316</a></td> 131 <td class="full" align="center">Yes</td> 132 </tr> 133 <tr> 134 <td>Adding TR 19769 to the C Standard Library</td> 135 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1326.pdf">N1326</a></td> 136 <td class="full" align="center">Clang 3.3</td> 137 </tr> 138 <tr> 139 <td>Static assertions</td> 140 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1330.pdf">N1330</a></td> 141 <td class="full" align="center">Yes</td> 142 </tr> 143 <tr> 144 <td>Parallel memory sequencing model proposal</td> 145 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1349.htm">N1349</a></td> 146 <td class="unknown" align="center">Unknown</td> 147 </tr> 148 <tr> 149 <td>Analyzability (#1, #4 - conditionally normative)</td> 150 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1350.htm">N1350</a></td> 151 <td class="unknown" align="center">Unknown</td> 152 </tr> 153 <tr> 154 <td>FLT_EVAL_METHOD issues (first change only)</td> 155 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1353.pdf">N1353</a></td> 156 <td class="unknown" align="center">Unknown</td> 157 </tr> 158 <tr> 159 <td>_Bool bit-fields</td> 160 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1356.htm">N1356</a></td> 161 <td class="unknown" align="center">Unknown</td> 162 </tr> 163 <tr> 164 <td>Technical corrigendum for C1X</td> 165 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1359.htm">N1359</a></td> 166 <td class="unknown" align="center">Unknown</td> 167 </tr> 168 <tr> 169 <td>Benign typedef redefinition</td> 170 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1360.htm">N1360</a></td> 171 <td class="full" align="center">Clang 3.1</td> 172 </tr> 173 <tr> 174 <td>Thread-local storage</td> 175 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1364.htm">N1364</a></td> 176 <td class="full" align="center">Clang 3.3</td> 177 </tr> 178 <tr> 179 <td>Constant expressions</td> 180 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1365.htm">N1365</a></td> 181 <td class="unknown" align="center">Unknown</td> 182 </tr> 183 <tr> 184 <td>Contractions and expression evaluation methods</td> 185 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1367.htm">N1367</a></td> 186 <td class="unknown" align="center">Unknown</td> 187 </tr> 188 <tr> 189 <td>FLT_EVAL_METHOD and return</td> 190 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1382.htm">N1382</a></td> 191 <td class="unknown" align="center">Unknown</td> 192 </tr> 193 <tr> 194 <td>Floating-point to int/_Bool conversions</td> 195 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1391.htm">N1391</a></td> 196 <td class="unknown" align="center">Unknown</td> 197 </tr> 198 <tr> 199 <td>Analyzability (along the lines)</td> 200 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1394.htm">N1394</a></td> 201 <td class="unknown" align="center">Unknown</td> 202 </tr> 203 <tr> 204 <td>Wide function returns (alternate proposal)</td> 205 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1396.htm">N1396</a></td> 206 <td class="unknown" align="center">Unknown</td> 207 </tr> 208 <tr id="alignment"> 209 <td rowspan="3">Alignment</td> 210 </tr> 211 <tr> 212 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1397.htm">N1397</a></td> 213 <td class="full" align="center">Clang 3.2</td> 214 </tr> 215 <tr> 216 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1447.htm">N1447</a></td> 217 <td class="full" align="center">Clang 3.2</td> 218 </tr> 219 <tr> 220 <td>Anonymous member-structures and unions (modulo "name lookup")</td> 221 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1406.pdf">N1406</a></td> 222 <td class="full" align="center">Yes</td> 223 </tr> 224 <tr> 225 <td>Completeness of types</td> 226 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1439.pdf">N1439</a></td> 227 <td class="unknown" align="center">Unknown</td> 228 </tr> 229 <tr> 230 <td>Generic macro facility</td> 231 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1441.htm">N1441</a></td> 232 <td class="full" align="center">Yes</td> 233 </tr> 234 <tr> 235 <td>Dependency ordering for C memory model</td> 236 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1444.htm">N1444</a></td> 237 <td class="unknown" align="center">Unknown</td> 238 </tr> 239 <tr> 240 <td>Subsetting the standard</td> 241 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1460.htm">N1460</a></td> 242 <td class="unknown" align="center">Unknown</td> 243 </tr> 244 <tr> 245 <td>Assumed types in F.9.2</td> 246 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1468.htm">N1468</a></td> 247 <td class="unknown" align="center">Unknown</td> 248 </tr> 249 <tr> 250 <td>Supporting the 'noreturn' property in C1x</td> 251 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1478.htm">N1478</a></td> 252 <td class="full" align="center">Clang 3.3</td> 253 </tr> 254 <tr> 255 <td>Updates to C++ memory model based on formalization</td> 256 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1480.htm">N1480</a></td> 257 <td class="unknown" align="center">Unknown</td> 258 </tr> 259 <tr> 260 <td>Explicit initializers for atomics</td> 261 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1482.htm">N1482</a></td> 262 <td class="unknown" align="center">Unknown</td> 263 </tr> 264 <tr> 265 <td>Atomics proposal (minus ternary op)</td> 266 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1485.pdf">N1485</a></td> 267 <td class="full" align="center">Yes</td> 268 </tr> 269 <tr> 270 <td>UTF-8 string literals</td> 271 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1488.htm">N1488</a></td> 272 <td class="full" align="center">Clang 3.3</td> 273 </tr> 274 <tr> 275 <td>Optimizing away infinite loops</td> 276 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1509.pdf">N1509</a></td> 277 <td class="full" align="center">Yes</td> 278 </tr> 279 <tr> 280 <td>Conditional normative status for Annex G</td> 281 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1514.pdf">N1514</a></td> 282 <td class="unknown" align="center">Unknown</td> 283 </tr> 284 <tr> 285 <td>Creation of complex value</td> 286 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1464.htm">N1464</a></td> 287 <td class="unknown" align="center">Unknown</td> 288 </tr> 289 <tr> 290 <td>Recommendations for extended identifier characters for C and C++</td> 291 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1518.htm">N1518</a></td> 292 <td class="unknown" align="center">Unknown</td> 293 </tr> 294 <tr> 295 <td>Atomic C1x/C++0x compatibility refinements (1st part only)</td> 296 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1526.pdf">N1526</a></td> 297 <td class="full" align="center">Yes</td> 298 </tr> 299 <tr> 300 <td>Atomic bitfields implementation defined</td> 301 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1530.pdf">N1530</a></td> 302 <td class="full" align="center">Yes</td> 303 </tr> 304 <tr> 305 <td>Small fix for the effect of alignment on struct/union type compatibility</td> 306 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1532.htm">N1532</a></td> 307 <td class="full" align="center">Yes</td> 308 </tr> 309 <tr> 310 <td>Synthesis re _Atomic</td> 311 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1537.htm">N1537</a></td> 312 <td class="unknown" align="center">Unknown</td> 313 </tr> 314 <tr> 315 <td>Clarification for wide evaluation</td> 316 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1531.pdf">N1531</a></td> 317 <td class="unknown" align="center">Unknown</td> 318 </tr> 319</table> 320</details> 321 322<h2 id="c17">C17 implementation status</h2> 323 324<p>There are no major changes in this edition, only technical corrections and clarifications that are tracked by Defect Report.</p> 325<p>You can use Clang in C17 mode with the <code>-std=c17</code> or <code>-std=c18</code> options (available in Clang 6 and later).</p> 326 327<h2 id="c2x">C2x implementation status</h2> 328 329<p>Clang has support for some of the features of the C standard following C17, informally referred to as C2x.</p> 330 331<p>You can use Clang in C2x mode with the <code>-std=c2x</code> option (available in Clang 9 and later).</p> 332 333<details open> 334<summary>List of features and minimum Clang version with support</summary> 335 336<table width="689" border="1" cellspacing="0"> 337 <tr> 338 <th>Language Feature</th> 339 <th>C2x Proposal</th> 340 <th>Available in Clang?</th> 341 </tr> 342 <!-- Pre-Oct 2019 Papers --> 343 <tr> 344 <td>Evaluation formats</td> 345 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2186.pdf">N2186</a></td> 346 <td class="unknown" align="center">Unknown</td> 347 </tr> 348 <tr> 349 <td>Clarifying the restrict Keyword v2</td> 350 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2260.pdf">N2660</a></td> 351 <td class="unknown" align="center">Unknown</td> 352 </tr> 353 <tr> 354 <td>Harmonizing static_assert with C++</td> 355 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2265.pdf">N2665</a></td> 356 <td class="full" align="center">Clang 9</td> 357 </tr> 358 <tr> 359 <td>nodiscard attribute</td> 360 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2667.pdf">N2667</a></td> 361 <td class="full" align="center">Clang 9</td> 362 </tr> 363 <tr> 364 <td>maybe_unused attribute</td> 365 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2670.pdf">N2670</a></td> 366 <td class="full" align="center">Clang 9</td> 367 </tr> 368 <tr id="TS18661"> 369 <td rowspan="6">TS 18661 Integration</td> 370 </tr> 371 <tr> <!-- Pre-Oct 2019 --> 372 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2314.pdf">N2314</a></td> 373 <td class="unknown" align="center">Unknown</td> 374 </tr> 375 <tr> <!-- Pre-Oct 2019 --> 376 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2341.pdf">N2341</a></td> 377 <td class="unknown" align="center">Unknown</td> 378 </tr> 379 <tr> <!-- Pre-Oct 2019 --> 380 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2401.pdf">N2401</a></td> 381 <td class="unknown" align="center">Unknown</td> 382 </tr> 383 <tr> <!-- Pre-Oct 2019 --> 384 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2359.pdf">N2359</a></td> 385 <td class="unknown" align="center">Unknown</td> 386 </tr> 387 <tr> <!-- Nov 2020 --> 388 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2546.pdf">N2546</a></td> 389 <td class="unknown" align="center">Unknown</td> 390 </tr> 391 <tr> 392 <td>Preprocessor line numbers unspecified</td> 393 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2322.htm">N2322</a></td> 394 <td class="full" align="center">Yes</td> 395 </tr> 396 <tr> 397 <td>deprecated attribute</td> 398 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2334.pdf">N2334</a></td> 399 <td class="full" align="center">Clang 9</td> 400 </tr> 401 <tr id="Attributes"> 402 <td rowspan="3">Attributes</td> 403 </tr> 404 <tr> <!-- Pre-Oct 2019 --> 405 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2335.pdf">N2335</a></td> 406 <td class="full" align="center">Clang 9</td> 407 </tr> 408 <tr> <!-- Aug 2020 --> 409 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2554.pdf">N2554</a></td> 410 <td class="full" align="center">Clang 9</td> 411 </tr> 412 <tr> 413 <td>Defining new types in offsetof</td> 414 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm">N2350</a></td> 415 <td class="full" align="center">Yes</td> 416 </tr> 417 <tr> 418 <td>fallthrough attribute</td> 419 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2408.pdf">N2408</a></td> 420 <td class="full" align="center">Clang 9</td> 421 </tr> 422 <tr> 423 <td>Two's complement sign representation</td> 424 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2412.pdf">N2412</a></td> 425 <td class="unknown" align="center">Unknown</td> 426 </tr> 427 <tr> 428 <td>Adding the u8 character prefix</td> 429 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2418.pdf">N2418</a></td> 430 <td class="none" align="center">No</td> 431 </tr> 432 <tr> 433 <td>Remove support for function definitions with identifier lists</td> 434 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2432.pdf">N2432</a></td> 435 <td class="none" align="center">No</td> 436 </tr> 437 <!-- Oct 2019 Papers --> 438 <tr> 439 <td>*_IS_IEC_60559 feature test macros</td> 440 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2379.htm">N2379</a></td> 441 <td class="unknown" align="center">Unknown</td> 442 </tr> 443 <tr> 444 <td>Floating-point negation and conversion</td> 445 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2416.pdf">N2416</a></td> 446 <td class="unknown" align="center">Unknown</td> 447 </tr> 448 <tr> 449 <td>Annex F.8 update for implementation extensions and rounding</td> 450 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2384.pdf">N2384</a></td> 451 <td class="unknown" align="center">Unknown</td> 452 </tr> 453 <tr> 454 <td>_Bool definitions for true and false</td> 455 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2393.pdf">N2393</a></td> 456 <td class="none" align="center">No</td> 457 </tr> 458 <!-- Mar 2020 Papers --> 459 <tr> 460 <td>[[nodiscard("should have a reason")]]</td> 461 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2448.pdf">N2448</a></td> 462 <td class="full" align="center">Clang 10</td> 463 </tr> 464 <tr> 465 <td>Allowing unnamed parameters in function definitions</td> 466 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2480.pdf">N2480</a></td> 467 <td class="full" align="center">Clang 11</td> 468 </tr> 469 <!-- Aug 2020 Papers --> 470 <tr> 471 <td>Free positioning of labels inside compound statements</td> 472 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2508.pdf">N2508</a></td> 473 <td class="none" align="center">No</td> 474 </tr> 475 <tr> 476 <td>Clarification request for C17 example of undefined behavior</td> 477 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2517.pdf">N2517</a></td> 478 <td class="none" align="center">No</td> 479 </tr> 480 <tr> 481 <td>Querying attribute support</td> 482 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2553.pdf">N2553</a></td> 483 <td class="full" align="center">Clang 9</td> 484 </tr> 485 <!-- Nov 2020 Papers --> 486 <tr> 487 <td>Binary literals</td> 488 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2549.pdf">N2549</a></td> 489 <td class="full" align="center">Clang 9</td> 490 </tr> 491 <tr> 492 <td>Allow duplicate attributes</td> 493 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2557.pdf">N2557</a></td> 494 <td class="unreleased" align="center">Clang 13</td> 495 </tr> 496 <tr> 497 <td>Character encoding of diagnostic text</td> 498 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2563.pdf">N2563</a></td> 499 <td class="full" align="center">Yes</td> 500 </tr> 501 <tr> 502 <td>What we think we reserve</td> 503 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2572.pdf">N2572</a></td> 504 <td class="partial" align="center">Partial</td> 505 </tr> 506 <tr> 507 <td>Decimal floating-point triples</td> 508 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2580.htm">N2580</a></td> 509 <td class="unknown" align="center">Unknown</td> 510 </tr> 511 <tr> 512 <td>Remove mixed wide string literal concatenation</td> 513 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2594.htm">N2594</a></td> 514 <td class="full" align="center">Clang 9</td> 515 </tr> 516 <tr> 517 <td>Update to IEC 60559:2020</td> 518 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2600.pdf">N2600</a></td> 519 <td class="unknown" align="center">Unknown</td> 520 </tr> 521 <tr> 522 <td>Compatibility of Pointers to Arrays with Qualifiers</td> 523 <td><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2607.pdf">N2607</a></td> 524 <td class="partial" align="center">Partial</td> 525 </tr> 526</table> 527</details> 528 529</div> 530</body> 531</html> 532 533