<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/125749>125749</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Debug build of FortranSemantics.lib too large
</td>
</tr>
<tr>
<th>Labels</th>
<td>
platform:windows,
flang,
flang:semantics
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Meinersbur
</td>
</tr>
</table>
<pre>
It is not possible anymore to compile a debug build Flang using MSVC:
```
> cmake --build . --target FortranSemantics
[...]
C:\Users\meinersbur\build\llvm-project\debug_vs17\Debug\lib\FortranSemantics.lib : fatal error LNK1248: image size (1062E7AEC) exceeds maximum allowable size (FFFFFFFF) [C:\Users\meinersbur\build\llvm-project\debug_vs17\tools\flang\lib\Semantics\FortranSemantics.vcxproj]
```
So the FortranSemantics.lib would be 4.2GB which exceeds the maximum of 4GB. For comparison:
* FortranLower.lib (3.8 GB, + .pdb 331MB)
* FortranEvaluate.lib (3.7GB, + .pdb 113MB)
* Final executable size: flang.exe (393MB, + .pdb 3.6GB)
* Largest non-Flang .lib: clangSema.lib (712MB)
* debug+asserts build using gcc: libFortranSemantics.a (6.47GB, -fno-split-dwarf: 7.1GB)
* Largest .a in debug+asserts build using gcc: libFortranLower.a (8.8GB, -fno-split-dwarf: 8.4GB (?))
Same error reported elsewhere on GitHub:
* https://github.com/microsoft/vcpkg/issues/42515
This make it impossible to debug Flang under Windows. Maybe we can split up the library into two parts, e.g. split off the `check-*.cpp` files?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVc1u8zYQfBr6sjAhUaItHXSQldgtmvSS_hwLUlrJbChRICk76dMXlGzHyfe1QFHDgEFid3Z3djgWzqluQCwI3xH-sBKTPxpbPKMa0Do52ZU0zXvxowflYDAeRuOckhpBDO-9sQjeQG36UYUraFBOHchJ6Qb2WgwdTE4NHTy__FaRpCRRSTbR5RuVJHmEuhevCOv1kkNhvfbCduhhb6y3YnjBXgxe1S7E8x2llPAHEpUzHK9-dWgd4VV_a5jwasYivNL61K9Ha_7E2hNezc39cXLxlvDqIRxCjJKEV1-LUa0kkKSEVnihAa01Fp5-_ilmaRauVS86BKf-QiAsi6MNe9yWjxVhOeBbjdg46MWb6qcehNbmLAJj1_D95ROiCd_930m8MToktoHv20QfvH1nulP9FsAWJj9tJCpfDPgjfkP_zMjZTLoBiZBSdtjB-ajq423gkHUd2rSQHnY0oMzqEFY5MywKAMLKK_yTOaNdyGZZQjM47AirgLAd0LGRkCTx846w_Eva40noSXj8yNx-SYzj5HOiGsIe37Ce_G0Z84IDaxTf5s0k-Zx13wDdBOQcrkBPQZ3Ow2CG9aLw0ERAqsMp8HXtahuzTz3MWyNsJ5xD693lmSwPpKvrgKGV_IZ4EbA2NL2MuG4Hs3ajVn7dnIVtQ9qWxof7StcmqQA1_Le6y0bmmhnN_rlkRtPDLkSRJAh5KR7kI3q8vBeLo7EeG0Dt8HxEi2AGOCj_wyTvpHD0fnThzPaE7Tvlj5OktekJ2_eqtsaZ1hO2P9Xja0fYXjk3oSNsnzIe86XoL0cVHtwrgvKg-ptHeXNxpIsXDQ1a-F0NjTk7Cs_iXSKcEWoxwDweTOMsY62kFfYd1OAN-LOBUVjvAhVIO3qJNW07B5NNVB-xfl0TVtJ6HMkmglZpdCTZr5oiafIkFyss4m2SbfJtliWrY8FlJkSdSC6FjBlH2fCt2NR5HqUNi1m2UgWLGI9YlMZ5kkUJbbNNJLM8YzlPI7ERJI2wF0rT4A3U2G41M1PEjG_TfKWFRO1mW2ds1MK3xvYkKc_L9IQxwirC2OIan09J6W7uwVj4W7DF7EBy6hxJI62cdx91vfIai4c76zft9_3DGwM6aHM1WV38y-ID9uXnZnt3q7_MeCrY3wEAAP__j10knA">