<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62081>62081</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang][clang-cl][x86] <unknown>:0: error: value evaluated as 264 is out of range.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
romanholidaypancakes
</td>
</tr>
</table>
<pre>
- test.cpp
```C++
#include "stdio.h"
#include <windows.h>
int main() { return 0; }
```
- Generate assembly and edit the assembly file to add the following content
```asm
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
my_fun:
```
#### clang
- generate the program
```asm
.text
.def @feat.00;
.scl 3;
.type 0;
.endef
.globl @feat.00
.set @feat.00, 0
.intel_syntax noprefix
.file "test.cpp"
.def main;
.scl 2;
.type 32;
.endef
.globl main # -- Begin function main
.p2align 4, 0x90
main: # @main
.seh_proc main
# %bb.0:
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
my_fun:
push rax
.seh_stackalloc 8
.seh_endprologue
mov dword ptr [rsp + 4], 0
xor eax, eax
pop rcx
ret
.seh_endproc
# -- End function
.section .drectve,"yni"
.ascii " /DEFAULTLIB:libcmt.lib"
.ascii " /DEFAULTLIB:oldnames.lib"
.ascii " /FAILIFMISMATCH:\"_CRT_STDIO_ISO_WIDE_SPECIFIERS=0\""
.ascii " /DEFAULTLIB:uuid.lib"
.ascii " /DEFAULTLIB:uuid.lib"
.addrsig
```
- code compilation failed. **It seems that if you call `call my_fun` greater than 50, you will get an error message, which should not be, as long as the instruction is valid, it should compile successfully**
```
clang-cl test.asm
<unknown>:0: error: value evaluated as 271 is out of range.
<unknown>:0: error: value evaluated as 271 is out of range.
```
#### gcc
- generate the program
```ASM
.file "test.cpp"
.intel_syntax noprefix
.text
.def ___main; .scl 2; .type 32; .endef
.section .rdata,"dr"
LC0:
.ascii "hello world\0"
.align 2
LC1:
.ascii "h\0e\0l\0l\0o\0 \0w\0o\0r\0l\0d\0\0\0"
.align 2
LC2:
.ascii "`O}Y\26NLu\0\0"
.text
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
LFB516:
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
call my_fun
my_fun:
.cfi_startproc
lea ecx, [esp+4]
.cfi_def_cfa 1, 0
and esp, -16
push DWORD PTR [ecx-4]
push ebp
.cfi_escape 0x10,0x5,0x2,0x75,0
mov ebp, esp
push ecx
.cfi_escape 0xf,0x3,0x75,0x7c,0x6
sub esp, 20
call ___main
mov DWORD PTR [esp], OFFSET FLAT:LC0
call _printf
mov DWORD PTR [esp+12], 0
mov DWORD PTR [esp+8], OFFSET FLAT:LC1
mov DWORD PTR [esp+4], OFFSET FLAT:LC2
mov DWORD PTR [esp], 0
mov eax, DWORD PTR __imp__MessageBoxW@16
call eax
sub esp, 16
mov eax, 0
mov ecx, DWORD PTR [ebp-4]
.cfi_def_cfa 1, 0
leave
.cfi_restore 5
lea esp, [ecx-4]
.cfi_def_cfa 4, 4
ret
.cfi_endproc
LFE516:
.ident "GCC: (i686-win32-dwarf-rev0, Built by MinGW-W64 project) 8.1.0"
.def _printf; .scl 2; .type 32; .endef
```
- code compiled successfully
```
gcc.exe test.s
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWV1v6jwS_jXujUVkHJKSCy74KGeReravTruq9go59iR4j7Ej2ynw71dO-Aqlb9vVSrvSS0UdYs8zH4kz8wxhzslSA4xQMkHJ7I7VfmXsyJo10yujpGC7imnOfoO7y43YjXrYg_MRrypEZoiMUUrazxTRSfi0szSWmqtaAEaUOi-kiVaI0ver8XQjtTAbF61Q_LBfb0apPV4zqREdIpphdD_BFnxtNSYonmB0PzuXPvpxPtnDP0CDZR4wcw7WudphpgXGIKTHfnU2XUgF2BvMhGgWCqOU2UhdYm60B-0vzDC3PljKOFMKr3fLotZfn8tu8Bv8Br_Bvwvfz8QfJD4aHz-YK6bLbkIsDwkxJLnKmtKy9Z-ktsjD1p_OBBTBlQEpgPmIhER8WnRcIZLFnTm_qwCRrCsIutFzOC2VyVVXbbMWOfD4bJJOMTmhpPaglm6nPdtibSoLhdyelkM-DzopPdarY_k5BtKUl_ch0GshxPQrMQSNOFz6Xg9PoJQaF7XmXhrd1rIjoKJMyTLc2EET2Dbbx9b6NMaf_wUzaEBOeiMHq2VlDT-3FYRokucROW2Z__UWvsFv8Bv8rwO_LFkkq2q3QiSz7Cxlh-zlPOO_mVKG42F3BbSorFGmrOGk17whkomNsQJX3mKUTKyrMKITPEDJrFsxtsYikgHbhmk4M1yZKrjCTzMW_DXjvJ085PcHLY7Z_Vx8P5FFwgL3b4DoFFG607JTgZjjUrYVCiM6nz3Mx_94fHlcTFA8VjLnax8pmX8ZYpTQbA3uM9B8vHhczH8unn-OX6Z_C7ckCd4tp79els8vs8XTcvH8tHxdzB6Wz388TBfzxcOvZxTPSCv3ZX_qWopvBXAdIIR1skNhLvhOD3MjAHOzrqRiTaEtmFQgIozoGNHxwmMHsHbYr5jHssA7U-Nmn6KUnO_XlODSAvNgg6jGScM4gvRGKoVL8JhpDNYai9fgHCvDncWbleQr7FamVgJr43HeTDOHldFlOAamJbXztm6JgHT4jSkpgpj0B2gbAWBXcw7OFbVSuzaCq3E31K7HVduOnyhbPK31b202OnTT8TgU_dbn8OWNqRowhAPzIIJz9L4fHDK1x6bAlukSov--qmvNeYeplpx_m6eOn39-me99whavsdzlcnnkh11meMkJ37HBfQ7AkRXMs_b5F_bo0OO0w8XaxwIjSleglMEbY5VAyZR0H4VAF_FRQ_8DDQEHYVDHwYQBh2FzPLXH1dbS4f9PLNLrFlFKntD97J8omdL074_1VVXd63sgy8suJd5f9v_kou9Be_8e55Okn97o7g1-g9_g_w90N-KFDNzW-hONRCRTwAIl5Q0lRckEXIXopKGuHaSAYskLhvtdRsu0CPAAmuJeP71k17PXp18z_MfLr0Y33_Y6mvdCkFddY-A4qwCTbT8QILJNmpE2431zcsG_g4ZAqV31TvcZp-7qLhp18ZnS7T1vDqcoXJ2fwqOkc9XP6nPXmW7Mrtq3AU_z-fPDC54_jl9Q3BTgS22VldoXn2mjkz5911l8KDv8wHr_c-jgAyj9Wrzv7lHb9pykl0u5rpbLny2RnZjtKxqQsy20vyznfVLnfpyJdiy8M8wvDAc386r35U2ugL1BV9KC88YCTi4fpNa1a5u9Y6H5xW1wvdtrdul5t_c4f7ggE5EUzfugQDZ_TKeBDSM6lOkw7W2kjmlPbJgtehbemg5iUkvlcb7DP6X-8dp7TQeBz_4LuEc0w8OoH5ErP00e9uO32ednPRKIbotxDVByHsEW2t7CXYjciVEssjhjdzDqp8M-TdM0Te5Wo2KQpmSYisF9nhKexff9LOnHA5KKrEizweBOjiihMRn0w6FPkqhf5HkBbNinBEiaAxoQWDOpIqXe1pGx5Z10roZRSsmwf6dYDsod3lTaURDq5XXp0IAo6bw7wbz0qnmn2f4CnswOX3tctWfbYYqSGf5-k5MO3jU5d7VVo5X3lQvbhM4RnZfSr-o84maN6Dy4tT_0jrd-3oTmEJ030f07AAD__ydScg4">