<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">