<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132822>132822</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Comma expressions rejected in #if for C++23
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kyuupichan
</td>
</tr>
</table>
<pre>
#if 1 ? 1, 0: 3
#error
#endif
clang -E --std=c++23 --pedantic-errors /tmp/bug.cpp gives:
```
tmp/bug.cpp:1:10: error: comma operator in operand of #if [-Werror,-Wpedantic]
1 | #if 1 ? 1, 0: 3
| ~^ ~
```
1 error generated.
I believe that the comma operator has been permitted in constant expressions in C++ since about C++11. If true, this should be accepted.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0ks-OnDAMxp_GXCxQ_sDs7IEDM7NI-wR7DomBtJCgJIy6l332CphR25WKiGJZtvX7vljFaAdHVEN1geqWqTWNPtQ_P9d1sXpULuu8-axBSNsjR5AtchBXZCAblMAaEJJC8OEROmP7LWSNnpQbMH_DPI_JgLxpEBcQFyExzxcyyiWr8703Iog2zQuItluHQi8LDvZOEWRzzIITe_ys-acOZMO3s-McHLJB7edZoV8oqOQDWnfEzqDv8ZAC1SX_OBrENf948kB1A9Yg4qb15Yr_1437t9V8QfWGX98ogTX8AMKB3AZCpjjy79jRZOlOmEaVMI30HXhUETsihwuF2aZEZtOgvYtJuYT0awkUo_Uubvnr4StG6zSh6vyanjnOC8T3HlNYaaNPo40YR79OBjtCpTUtG1hmamle5avKqOYvpTiXJ8nLbKxlz4WuzOmk5UkLeX5hRlWSUU9lx5ikzNaCiYpJUfLX6izLwigynCt97qvO0NlAyWhWdiqm6T4XPgyZjXGlmktxFiKbVEdTfG5fqLeqvFuHCCWbbEzxT1-yaaL6ulv1twWBfpB-eHS8V-_D0wEhszVM9ZjSsq-TaEG0g03j2hXazyDabf7jypfgt1kg2h0ygmgfnPda_A4AAP__67z2dQ">