<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/121579>121579</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LLVM Dwarf - asserts while compiling a module with debug information for unknown language
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Panzerschrek
</td>
</tr>
</table>
<pre>
See https://github.com/llvm/llvm-project/blob/5137c209f0c19668d06e48cc4293e4c01a77c964/llvm/include/llvm/BinaryFormat/Dwarf.h#L657 https://github.com/llvm/llvm-project/blob/5137c209f0c19668d06e48cc4293e4c01a77c964/llvm/include/llvm/BinaryFormat/Dwarf.h#L730
This assert may be triggered by compiling a module containing debug information for a language not listed in _SourceLanguage_ enumeration.
Values between `DW_LANG_lo_user` and `DW_LANG_hi_user` should be handled separately instead, not via a `switch` statement. Probably there are other places containing similar problems and they should be fixed too.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMkz9v4zgQxT8N1QwiUNQ_q1DhXOBrfIcAOeRKY0SORV4o0uCf-LyffiFtNgmw2GK7rSTMwzy90fwGYzSzIxpZe8_ahwJz0j6Mj-i-UIhSB3opJq9u4xMR6JQukdV7Jg5MHGaTdJ5K6RcmDta-fn_cXYL_j2Ri4jBZPzFxaKu6l4IPZy6roet2infU7KRsxFBTI3mFfS-HrvnwMU7arOijcG8chtvBhwVX44crhnOpmaiPXdv_nsH6mjO-Z3z_jzYRMEYKCRa8wUSQgplnCqRguoH0y8VY42ZAWLzKlkB6l9C4taZoyjMYd94-YbyDsw-AYNHNGWcC5xNYExMpMA5OTz4HScc39QTk8kJh6yy_5XlGmynCROlK5IB1_OHf03H_958n6085UmAdB3Tqs6LNuxK1z1atU2h0ypKCSBcMmMjewLiYCBUTf2y5Xg0Crj7xapLUW3vCRAu5VMJj8BNO9gZJUyDAQODXV7hYlBQ__4VoFmMxwCX4ydISt3xJ0-1TnLP5nxQk78tCjbUa6gELGqu-bgfBO9EVetwNdVN3rVLdbtcMinZY1VVTq0rKQXLRF2YUXLS84nXVVVx0ZUVNLWTXSjntWpQNazgtaGy57r_0YS5MjJnGSlRtPxQWJ7JxuyYhHF1hU5kQ63GFccNwynNkDV93Fj9skkmWxuPx-S_YIIK7N2YiXLXZmPgBk6tJ-ieAZPfi_NW9Y1LkYMdfvpMtfWTi8Dbe6yi-BgAA__-YlGQy">