<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/141852>141852</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Compile from i386 host fails: 'ct_assert_0' declared as an array with a negative size
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
lrvick
</td>
</tr>
</table>
<pre>
Building from i386 based live-bootstrap environment as follows:
```
cmake \
-B build \
-S llvm \
-Wno-dev \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="X86;AArch64" \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
-DLLVM_BUILD_DOCS=OFF
cmake --build build --parallel $(nproc)
```
Failure output:
```
1225.8 [ 82%] Building ASM object CMakeFiles/clang_rt.builtins-i386.dir/i386/floatundixf.S.o
1225.8 [ 83%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/divtf3.c.o
1225.8 [ 83%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/divtc3.c.o
1225.8 [ 83%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/extenddftf2.c.o
1225.8 [ 83%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/extendhftf2.c.o
1225.8 [ 83%] Building C object CMakeFiles/clang_rt.builtins-i386.dir/extendbfsf2.c.o
1225.8 [ 84%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/extendsftf2.c.o
1225.8 [ 85%] Building C object CMakeFiles/clang_rt.builtins-i386.dir/truncdfbf2.c.o
1225.8 [ 85%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/fixtfdi.c.o
1225.8 [ 85%] Building C object CMakeFiles/clang_rt.builtins-i386.dir/truncxfbf2.c.o
1225.8 [ 85%] Building C object CMakeFiles/clang_rt.builtins-i386.dir/truncsfbf2.c.o
1225.8 [ 86%] Building C object CMakeFiles/clang_rt.builtins-i386.dir/trunctfbf2.c.o
1225.8 [ 86%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/fixtfsi.c.o
1225.8 [ 87%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/fixtfti.c.o
1225.8 [ 87%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/fixunstfdi.c.o
1225.8 [ 87%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/fixunstfsi.c.o
1225.8 [ 88%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/fixunstfti.c.o
1225.8 [ 88%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/floatditf.c.o
1225.8 [ 88%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/floatsitf.c.o
1225.8 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/enable_execute_stack.c:60:17: warning: cast to smaller integer type 'uintptr_t' (aka 'unsigned int') from 'void *' [-Wvoid-pointer-to-int-cast]
1225.8 60 | uintptr_t p = (uintptr_t)addr;
1225.8 | ^~~~~~~~~~~~~~~
1225.8 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/enable_execute_stack.c:61:30: warning: cast to 'unsigned char *' from smaller integer type 'uintptr_t' (aka 'unsigned int') [-Wint-to-pointer-cast]
1225.8 61 | unsigned char *startPage = (unsigned char *)(p & pageAlignMask);
1225.8 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.8 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/enable_execute_stack.c:63:7: warning: cast to 'unsigned char *' from smaller integer type 'uintptr_t' (aka 'unsigned int') [-Wint-to-pointer-cast]
1225.8 63 | (unsigned char *)((p + TRAMPOLINE_SIZE + pageSize) & pageAlignMask);
1225.8 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/gcc_personality_v0.c:124:15: warning: cast to smaller integer type 'uintptr_t' (aka 'unsigned int') from 'const uint8_t *' (aka 'const unsigned char *') [-Wpointer-to-int-cast]
1225.9 124 | result += (uintptr_t)(*data);
1225.9 | ^~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/gcc_personality_v0.c:138:16: warning: cast to 'const uintptr_t *' (aka 'const unsigned int *') from smaller integer type 'uintptr_t' (aka 'unsigned int') [-Wint-to-pointer-cast]
1225.9 138 | result = *((const uint[ 89%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/floattitf.c.o
1225.9 ptr_t *)result);
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 [ 89%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/floatunsitf.c.o
1225.9 [ 89%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/floatunditf.c.o
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/gcc_personality_v0.c:239:21: warning: cast to smaller integer type 'uintptr_t' (aka 'unsigned int') from 'struct _Unwind_Exception *' [-Wpointer-to-int-cast]
1225.9 239 | /llvm-project-20.1.0.src/compiler-rt/lib/builtins/emutls.c:75:20: warning: cast to smaller integer type 'uintptr_t' (aka 'unsigned int') from 'char *' [-Wpointer-to-int-cast]
1225.9 75 | base = (void *)(((uintptr_t)(object + EXTRA_ALIGN_PTR_BYTES)) &
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/emutls.c:75:10: warning: cast to 'void *' from smaller integer type 'uintptr_t' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
1225.9 (uintptr_t)exceptionObject);
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 75 | base = (void *)(((uintptr_t)(object + EXTRA_ALIGN_PTR_BYTES)) &
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 76 | ~(uintptr_t)(align - 1));
1225.9 | ~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/emutls.c:291:3: error: 'ct_assert_0' declared as an array with a negative size
1225.9 291 | COMPILE_[ 89%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/floatuntitf.c.o
1225.9 TIME_ASSERT(sizeof(uintptr_t) == sizeof(gcc_pointer));
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/int_util.h:26:35: note: expanded from macro 'COMPILE_TIME_ASSERT'
1225.9 26 | #define COMPILE_TIME_ASSERT(expr) COMPILE_TIME_ASSERT1(expr, __COUNTER__)
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/int_util.h:27:41: note: expanded from macro 'COMPILE_TIME_ASSERT1'
1225.9 27 | #define COMPILE_TIME_ASSERT1(expr, cnt) COMPILE_TIME_ASSERT2(expr, cnt)
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/int_util.h:29:32: note: expanded from macro 'COMPILE_TIME_ASSERT2'
1225.9 29 | typedef char ct_assert_##cnt[(expr) ? 1 : -1] UNUSED
1225.9 | ^~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/emutls.c:292:3: error: 'ct_assert_1' declared as an array with a negative size
1225.9 292 | COMPILE_TIME_ASSERT(sizeof(uintptr_t) == si[ 90%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/multc3.c.o
1225.9 zeof(void *));
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/int_util.h:26:35: note: expanded from macro 'COMPILE_TIME_ASSERT'
1225.9 26 | #define COMPILE_TIME_ASSERT(expr) COMPILE_TIME_ASSERT1(expr, __COUNTER__)
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/int_util.h:27:41: note: expanded from macro 'COMPILE_TIME_ASSERT1'
1225.9 27 | #define COMPILE_TIME_ASSERT1(expr, cnt) COMPILE_TIME_ASSERT2(expr, cnt)
1225.9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1225.9 /llvm-project-20.1.0.src/compiler-rt/lib/builtins/int_util.h:29:32: note: expanded from macro 'COMPILE_TIME_ASSERT2'
1225.9 29 | typedef char ct_assert_##cnt[(expr) ? 1 : -1] UNUSED
1225.9 | ^~~~~~~~~~~~~~~
1225.9 3 warnings generated.
1225.9 2 warnings and 2 errors generated.
1225.9 [ 90%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/multf3.c.o
1225.9 [ 90%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/powitf2.c.o
1225.9 [ 91%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfdf2.c.o
1225.9 [ 91%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/subtf3.c.o
1225.9 make[5]: *** [CMakeFiles/clang_rt.builtins-x86_64.dir/build.make:1675: CMakeFiles/clang_rt.builtins-x86_64.dir/emutls.c.o] Error 1
1225.9 make[5]: *** Waiting for unfinished jobs....
1225.9 [ 91%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfhf2.c.o
1225.9 [ 92%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/trunctfsf2.c.o
1225.9 [ 92%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/cpu_model/x86.c.o
1225.9 [ 93%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/x86_64/floatdidf.c.o
1225.9 [ 93%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/i386/fp_mode.c.o
1225.9 [ 93%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/x86_64/floatdisf.c.o
1225.9 [ 93%] Building ASM object CMakeFiles/clang_rt.builtins-x86_64.dir/x86_64/floatundidf.S.o
1225.9 [ 93%] Building ASM object CMakeFiles/clang_rt.builtins-x86_64.dir/x86_64/floatundisf.S.o
1225.9 [ 94%] Building C object CMakeFiles/clang_rt.builtins-x86_64.dir/divxc3.c.o
1225.9 3 warnings generated.
1226.1 [ 94%] Linking C static library /llvm-project-20.1.0.src/build/lib/clang/20/lib/i386-unknown-linux-gnu/libclang_rt.builtins.a
1226.1 [ 94%] Built target clang_rt.builtins-i386
1226.1 make[4]: *** [CMakeFiles/Makefile2:652: CMakeFiles/clang_rt.builtins-x86_64.dir/all] Error 2
1226.1 make[3]: *** [Makefile:136: all] Error 2
1226.1 make[2]: *** [runtimes/CMakeFiles/builtins-build.dir/build.make:76: runtimes/builtins-stamps/builtins-build] Error 2
1226.1 make[1]: *** [CMakeFiles/Makefile2:168455: runtimes/CMakeFiles/builtins-build.dir/all] Error 2
1226.1 make[1]: *** Waiting for unfinished jobs....
1226.6 [100%] Built target lli
1231.3 [100%] Linking CXX executable ../../../../bin/c-index-test
1232.8 [100%] Linking CXX executable ../../bin/llvm-jitlink
1232.9 [100%] Built target clang-repl
1234.2 [100%] Built target llvm-jitlink
1234.3 [100%] Built target c-index-test
1235.7 [100%] Linking CXX executable ../../bin/llvm-exegesis
1236.7 [100%] Built target obj.clangDaemon
1237.7 [100%] Built target llvm-exegesis
1237.7 make: *** [Makefile:156: all] Error 2
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWl1zozrS_jXKjQoKhMHmwhc4sU_lffNVsbNnzt5QAoStiSwoSSSevTi_fUvC8QfGTjLBs7tVk3I5NqB-1E-3nm6MsJR0zgkZAn8E_KsLXKlFIYZMvND0-SIpsh_DUUVZRvkc5qJYQuoNAphgSTLI6AuxkqJQUglcQsJfqCj4knAFsYR5wVjxKoEXAce8Amf90l_DdImfCQT-Zf0VOKE1gomG2j84hYy9LPeP_ckLKyMv-wevLm-j_x_H13fTWXRzEz88jifX34B3BdCkkgKgSevlo6frm6t49tfDGHhXj4QRLBuzurq5-cdtPIse_xjPpvHsvh5iDKNvgwB4oygS6SLoAYTaRo7votHNOH54vP-_8eVsWg9MGeZz4I3Mf0sVBZMWWSmBgTdiLDtt6vHpbnZ9O34zVSxLyoiwhNKDaZKuVpsPOKH154q_Un7Mbk3C1f2lNnk_mexGyLLqoNTvllVigRkjDALUA2jAS1GkAIUHAY4mmLJKEFhUqqzUOg12LnER8u0BBP4IDhBAPvCv4CbVouktLJLvJFXw8hY_kwllRAI0MXzFQtl6Oopyael8tDOqA6w_AjTJWYFVxTO6yu2pXTSgvCbU5QeBVoMgDnprqIy-qNyz0zOaT89nnqwU4VmWqxydGWPRNcZOuGuEJJetCL0OvZBHvPA78EKJiqdZnnQLsOdETlcqz-g5HVh17UATQB4BCLoCUF0DHIZAtoWg3519dVb7FZdHsqhbiFaWBp1CtBLVEYQuPhlV-XkR5CECmuhGySpFoU1ayLFd27GlSLXJnR4BTRhNAJq8Wdcqx3HCSExWJK0UiaXC6bOdAi8KHOBFbh94EXzFglPds0QwxVJBVUC51J2AgJQrMicCqh8lgQD1K8pVqUSsAOpDgAb4GZvD3LSamb4eoD5AYd1RAtR_KWgGAYrMAH9k_akPWGWhLQtLFRblytKwwL_augwhDBwI-pcQwg0mLCHwrjTszjRCnGUCeKO9sRCux-7_AX_8997fuTl2gRd5zhGOd3lLF1i8sWSY-3oADNmaXFVs6G7l2X3juTkZqbBQD3hONrQfTjcEaFBCgAJY4jmJGJ3zWyyf9Yn2mBzEoPXv3IHxgBcdy_3_lrh4Ozl8nPw1_yM4e4xuH-5vru_G8fT6n2NzTMdkSv9FDG7XMfpgCMMvhXCepnFJhCw4ZlT9iF8cE0AX9fS7f3b5SgsulZGgQaw2OrYZuT7dki6bUJ-WuhBC6KLeJtSCyIppoFGL1JlwRxlWeD924VHNa4vkeQPjDfR7cHxtbRmtRf09TilXO5T-ukVoIuMNDiJjwhLVK2_ri-kCwu66ANXoAkK4w1ZYz-WjSXBqPe8kQ8ceaNabPnSP0ezHzpLUyAv1u3t2tZFKVKmC8ZP5SScer1JSKlrwvQbqfUFBXljr-Fdq57JSTBr3-1pm0bE2pkOt3Sm2H_QUQtj31ymfmN_3atXcdp3rGnmopOuc02Vy_G32GMXRzfUfd_HD7DEe_TUbT81Vpmy2rbBPlchukrMZEfdEY7nbdZ9BMvd6-IOwNLgmb1l8bxg_rlqnON1e_z8Q7yMz18kaGGt_H04P67YMWtCt53GEol-WYSg09y46rYgQhdAf9BJVMZaSCBU7OmEykjIsSAaxhJhDLAT-AV-pWkAMOZljRV8IlLoB3VWnsL7juLy_fbi-GcfdF4XD4jm7vh3H0XQ6fpwBNNAzKvJGDHQq6WzanDTFoM7xkzH5YrfcTegoV3GlKLMXOni6_fJMc8wLRUwQVyXmGclqNVjiVBideIvBHj_9PS9RsK4lXkZyyglsHTMgq1LT1HbW3Zy-hHF8ef90Nxs_xnH9aOHN988QeQ7K9N1gz_05ytwDzvrvc7bLSsrVEe7QwVWf5OwcXOluyEM_xxU64Cpc67kuSRnJ65uordAA5AHkpabF3skz4E2gCzW25WrheLp7mo6bvUE7RWcQS3RaLN0viCXaE8tPCZlW1tDpRFmXFWs8tgrhGnuv9nYvkr_18bc-_tbH_4w-em-3FxLOCScCK5LZ29NoexrzDKJa_dqv7ViLcu_wl4WOzJfFK208FF7bdzuxv34mmZ0RQlbJAUNL_EyAP9LW6_oU1S-N-xnbZreIbax5kRuYW9HPPXhfF0670I6OdcpA9wPz_BNTZfYqFQJWPKecygXJ4PcikbZtN1Ot01gtWmN1sLXlKxDyjBBpWcXLIiMMoMlqELTgdLMxpP6yfVSatfz81xHU24ag0jj2yzySH_Lo41ucToBV3BA4_YVwsg2um902GX1ZNfvHE9UlsN199BvKn2twqbCiKWQ0EVj8OF21jVZt6nW9Mw9NkLM5pNPIqvgzL165xSivVtacV_XpA49sfGRymhoFFRZzomD7fpTtyLW-9d7VYf05p4zoRiLw0WdlFjO21Vd0gO-14b9Bmgc55hnOO1ZQmxVRcUWXZo57E97Msy4hLeWkbzB3xm-GSIWX5aGRU3NzP8WwGwx6vt-Af3_67_BzOIcPVbHADvRkXcdpyzDGqLnMc21v_7LNKvn2DdZPvXHCCLRtgCaNt4RynUMW5RlZWYpIVdtE9ZaWT9isLZlF-J0qRvnzm6XwhBP19lhBSlZf3bPRSZeb1ntN3_etH_jl2_2f94usyJxIKmtTQdPUHnSRfLeNc1eYLAteD-mfHNKCoQesF8XxJeq3L9HNVtyLbOhloRfiCzJ0-71BL-j1fediMfR6uUMyFPr9ZIDCwAmcXhiEPUx83EdOTi7oEDnId3w0QI4Xuo49cL1-QPIAOwEOwwCBnkOWmDJbz90uxPyCSlmRodtzBz66YDghTJqd5whx8grNWYC0XlyIoXE4qeYS9BxGpZJbM4oqRoaX9e3Wzr70RSEVzDFl8os_RV9Ugg0XSpVm_zqaADSZU7WoEjstluuAN4qKLhR6_loF1g6-DNG_AwAA__-RyawR">