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

    <tr>
        <th>Summary</th>
        <td>
            Incorrect diagnostic message for global named register variable
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          arakawamasahiro-fj
      </td>
    </tr>
</table>

<pre>
    An error occurs if the asm register is specified when declaring a real floating-point type register variable.
(Error occurs regardless of architecture, but register names are architecture-dependent)
Do not throw an error if the register variable type is an integer or a pointer.
gcc produces no errors and compiles normally.
 
[clang version information]
```
clang version 19.0.0git (https://github.com/llvm/llvm-project.git dd7386d85f11cf6ad911b9827c7018fb08c6c205)
Target: aarch64-unknown-linux-gnu
```

[Sample Plogram for AArch64]
```
register double d1 __asm__ ("d0");
```
// Register "d0" in AArch64 is a floating-point register.

[Diagnostic Messages in an AArch64 Environment]
```
$ clang test.c
test.c:1:1: error: bad type for named register variable
    1 | register double d1 __asm__ ("d0");
      | ^
1 error generated.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVMGOozgQ_RpzKQUZAwkcOKQn3dIeVlrt7r1V2IXjGWNHtune_vuVCenM9EwfJgrCtqpe1Xv1DMZotCMaWPvA2lOBSzr7MGDAb_iKM0Y8m-B309di9OptODqgEHwAL-USIpgJ0pkA4wyBtImJApgI8ULSTIYUvJ7JgSJpMRinASEQWpisx2Sc3l28cQnS24Xu-S8YDI6WSsZPjB-Z6B6_LxlIY1CWYgQ_AQZ5NolkWgIx8QXGJd2RHM4UAQP9ELZTdCGnyCUm-muNkwfnE6Rz8K-AN44buZ8au_ZrYo40LpGmAD4AwsqGwta4lhIuwatFUgTnr6A5SYH088XY9TjMaO3blgIb5fZBWnQaXihE43OVKQcm4x1rT1vQnm__dftjQtWXvOTaJGCiO6d0iaw-MvHExJM26byMpfQzE0_Wvtxeu0vwX0mmMmcpdai7veraqarktEfVV9XYd-IgD7zqppF3ci8Fb98V_BeDpsTqI2DWet_sFvfN-Ve3s8Yt_-20W37Z9jvhf3C-WIK_rNcBZ5h8gONxRfqM8ftclF_yVFQFz88Y5-fnTJoJoTgTIndYP_y69qoH_H3DuaWAcbfa65Q_2vVWuPxA4WRQOx-TkfAnxYiaYobCO9qjezHBuzl77xNWTDRwnWWimEp5Pd3W9bHanqub8mJEdTVkliw7Xv3s2M1dAFABO3yB35cO1l_OZe3j9ajarokmRwETqfIDoUINterrHgsaqgPvq6rp-7Y4D_2eOK-reqKunWTTcF6rusHqUOXdoSrMILhouBBdxXnftmVXYXbgfqqlIrWvWcNpRmPL7NzSB12YGBcaulo0dWFxJBvXT5oQq5isPk7Bu0ROZWLtqQjDavpx0ZE13JqY4h0smWRp-MNJHwLJBOo-2fk62VVtbf2I9jPRiyXY4ffuHhNPK4_IxNNK5f8AAAD__xCpxlM">