<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/109599>109599</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LLVM 19.1.0 clang-cl x86 target, /fp:fast, acosf breaks link
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Nick-Kooij
</td>
</tr>
</table>
<pre>
The following program prints π and exits:
````
#include <cmath>
#include <cstdio>
int main( int argc, char** argv ) {
printf( "%f\n", acosf( 0.0f ) * 2 );
return 0;
}
````
Compiling the above single-module program with **LLVM 19.1.0** through the **clang-cl** driver, targeting **x86**, with the **fast math (/fp:fast)** switch fails to link:
````
lld-link : error : undefined symbol: _acosf
````
## Steps to reproduce:
* Obtained [LLVM-19.1.0-win64.exe](https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.0/LLVM-19.1.0-win64.exe) from the official Assests.
* Install on **Windows 11** with **Visual Studio 2022 17.11.4**
* Must build a *x86* target
* x64 targets link and run properly
* Must use the /fp:fast fast math mode compiler switch
This issue was introduced with **LLVM 19.1.0,** and is not a result of changes to Visual Studio. Prior versions, such as **LLVM 18.1.8**, link properly, using the aforementioned version Visual Studio.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVE2P2zYQ_TXUZWBBoixLPujgeGugaNIWSJAeC4ocScxSpMEPe_ffF6RkezdIWhQwZGKGnI837w1zTo4asSP1B1I_ZSz4ydjud8mfN78ZI79lvRGv3ZcJYTBKmavUI5ytGS2b4Wyl9g7I8UTaApgWgC_SO1IdSPFEitt3Vzx-i4VWUnMVBAKpjnxmfiLVLz_0OS-keTjTV2oPM5Oa0BbimdmRE3oEPjFL6IHQQzRdgNA9kObD8ggAlnqH-IxQSmg9kPqo0_EIjBuXXEVeDMtTegAaT6R6E8OiD1ZDcTeS5umnfabv0cxnqSJufkJgvbkgOKlHhZvZiKDwjudV-gmWDj5-_PoJyn1e5sXakp-sCeOUgiwmrpgeN1ytF4SVF7SxF8_siD5mXFwv7W45RGdK8ggyMBfRTIlbQk_DmVTJGBtfArur9HyCgUnlwBtQUj__54yVEpt4EUh1ALTW2HQKWuAgNQpwr3NvVLT9vWD_ryASWhFawWeP51SDxbM1InB8FEIP8EfvWQpO6g8Rwc2C4OYq9W6b4wuS-onQdvL-nFhKT4SeRumn0OfczISelLrc_jZna74h94SeLCpkDh2hJ2GuWhkm1kvGjpvbmE4_Tkn3MFgzJ8zNMEgumYKDc-i8yx-1_6qdZ0qB0etk_pJamKuDslzn8IYeX6ULTMFnH4Q0QAtKoWzyssy366DvYT8F56EPUglgcOfCSpEbraPlZbddrS5NOOnZBh3ZeUarXr-LGRyuNHpwBh5smo1A4In6aFcKvR3ol0k6kM4FhCtzUcfLPMVPVXC8aVsLkA608cDAogvKgxmi-vWIiRzv0MkB_rTSWLigddJoF0XgAp-AuXdp2rzM24dOEgb33ukRgrtreDAWZ9Remki2NfB3aTPRVWJf7VmGXdnQptjRumizqauGCnnZFP1QM8QaGzaUZc-HumF9XRVNJjta0G2xp1VRVXXR5rwvG0Te7hpstrwvybbAmUmVRwbmxo5ZArIri32932eK9ahc2uiUarwuMMc9Vz9ltkvc7sPoyLZQMpLwHsZLr7B7gzrcdgy8tLsbaegR3i-KdXtCb5E9L-zJglXd_9ZZKjSqbO3k0tF_AgAA__8LSfzF">