<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/86900>86900</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang++ does not comply with C++ standard normalization rules
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          fmayer
      </td>
    </tr>
</table>

<pre>
    https://timsong-cpp.github.io/cppwp/lex.name#1: The program is ill-formed if an identifier does not conform to Normalization Form C as specified in the Unicode Standard.

clang++ accepts without warning a program that uses a non-canonical umlaut

```
int ü() {
  return 1;
}

int main() {
  return ü();
}
```

hex dump of the program

```
00000000: 696e 7420 c3bc 2829 207b 0a20 2072 6574  int ..() {.  ret
00000010: 7572 6e20 313b 0a7d 0a0a 696e 7420 6d61  urn 1;.}..int ma
00000020: 696e 2829 207b 0a20 2072 6574 7572 6e20  in() {.  return 
00000030: 75cc 8828 293b 0a7d 0a                   u..();.}.
```

This particular program confusingly fails with 

```
test.cpp:6:10: error: use of undeclared identifier 'ü'
  return ü();
         ^
1 error generated.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVMuyozYQ_Rp502VKCPNasLB942U2mXxAW2pAKSFReszMzdenMFybmWRuhXJhIamPzuluHQxBD5aoY-WFlW8HTHF0vusnfCd_uDv13o0xzoEVZyZuTNyinoKzw1HOczboOKZ7ph0TNznP32Ymboa-ZxYnYqLIWXGGLyPB7N3gcQIdQBtz7J2fSIHuAS1oRTbqXpMH5SiAdRGks8seiA5-d35Co__GqJ2F2zJ7BQwQZpJLlAJtIY4Ef1otnSL4I6JV6FXG-Bvj5_UtDdqBiQsTF0ApaY4Bvuk4uhThG3qr7QD4pBlHjJACBUCwzh4lWme1RANpMpjiHplVfPs9PrWNwK4Fu1yZaJhogdWXdQXAU0zeQs6KbYrVb3uoJXZCbX8Zmdj1yppmXf8PlB-prO-RvoNK0wyuf6Rp0_iJBL49S_GqtiKoT4KDLO4SRCNaELy-A0fBl5GAqqxPAAv3LHsxzx6k94D5A7AulxASHIq8WGBqBRw57k6qVJUDfGQqY_Vblq2p2cOJF79fsnodBvusZs-E7gGLjZ-U0DSiAdG--MG_n_Sh9oPjJzX4MuoAM_qoZTLon322tHkK2g7mHXrUZu1J-KQ2kULM5Dyz4lyx4rzmlLx3fhmkQEuZk1UkDfrlbrwuFxP1s3_q_9VYT62s_G2dydezYCBLHiOpn1UfVFeotmjxQF1e53nZNGV1OoxdLgrBc6VqrrDi97IvWynavJe1rCQW5UF3gosTL0TD87zip-zUo6Q-ryviZUVVzk6cJtQmM-brlDk_HHQIibqmajk_GLyTCQ8TE2K77WLxM98t-4_3NAR24kaHGF4IUUdD3d4cdhY0zeZ9Lch1WwybtYD9wZR8MhQOyZufnHJzR-mmxRbN14-_4-zdXyQjE7eHhMDE7aHinwAAAP__KD6Skg">