<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/102798>102798</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[C23] `#embed` bytes with negative signed char values are wrapped around to `unsigned int` when output with `-E`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
MitalAshok
</td>
</tr>
</table>
<pre>
For example:
https://godbolt.org/z/8Tf5ncYWf
```c
//é
constexpr char t[] = {
#embed __FILE__
};
```
Compiled with `-std=c23 -E` outputs:
```c
# 1 "/app/example.c"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 432 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "/app/example.c" 2
constexpr char t[] = {47, 47, 4294967235, 4294967209, 10, 99, 111, 110, <<snipped>> };
```
Which doesn't compile when fed back into the compiler
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVE1r8zgQ_jXji0iwRrYUH3xokxgWdm8LZU9BtpRYW1kylpy0--sXf-RtSV9oIYwyo2e-9ViGYC5O6xLyZ8gPiRxj64fyLxOlfQqtf01qr97Lyg9Ev8mutxrYE6QHSFfZxtiHyYYVYHXxqvY2bv1wAaz-A6x2f59z1_zzcv7sBDxdfs2qz86wZ_BULJbGuxD1Wz-QppUDiUt5BNiBgHi-ezHd1VqR06n648_j6bSaxQHY80Oiz9n3vuuN1YrcTGwJ8HQTogJ2aJCRzRF4SvwY-zGGh1a_Vs0IJYAIWMm-B6zWEW2byfiAYft6NDZujAN2BERCv0WwD0TG8FvMPUrju046Raxx-se5vtT7u55-oX6wo0wA7skqscgKLpDln7W0mDSaTrJY_lO6HLMN2B7YPjjT91pNZbIj-Xa5L61pWqK8Dg5QRNIsyya3Vjty1orUsnklxkVPYqvv10OiSqYKVshEl1QgYzzluUjaUnLOkeW6qXNVYMY5FjyvdyI7U8oUzxNTYopZuqM0FVQwsVVC8uxM81zRQgjKIUt1J43dWnvtJmYkJoRRlzRFUewSK2ttw8w_RKdvZL6dNpAfkqGcnDb1eAmQpdaEGD7CRBPtTNw9snnwPL1TYnrE9XvUYXnjTl9kNFdNZrKrZV9XaUcdiBw0uQ1ymjGRgx-dItFPsUa3oo2LU7x5ggszPpgz0SUZB1s-fAdMbMd62_gOsJoKXo9NP_h_dRMBq7nNAFitc7iW-H8AAAD__-v1Qo0">