Bug 264380

Summary: Compilation failure on ARM64 linux
Product: WebKit Reporter: Jean-Yves Avenard [:jya] <jean-yves.avenard>
Component: JavaScriptCoreAssignee: Jean-Yves Avenard [:jya] <jean-yves.avenard>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Jean-Yves Avenard [:jya] 2023-11-07 18:46:52 PST
Attempting to compile webkit on a Fedora 39 aarch64 gives:

```
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testExtractUnsignedBitfield64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1360:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1360 |             if (lsb >= 0 && width > 0 && lsb + width < 64) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testInsertUnsignedBitfieldInZero32()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1384:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1384 |             if (lsb >= 0 && width > 0 && lsb + width < 32) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testInsertUnsignedBitfieldInZero64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1409:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1409 |             if (lsb >= 0 && width > 0 && lsb + width < 64) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testInsertBitField32()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1435:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1435 |             if (lsb >= 0 && width > 0 && lsb + width < 32) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testInsertBitField64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1465:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1465 |             if (lsb >= 0 && width > 0 && lsb + width < 64) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testExtractInsertBitfieldAtLowEnd32()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1495:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1495 |             if (lsb >= 0 && width > 0 && lsb + width < 32) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testExtractInsertBitfieldAtLowEnd64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1525:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1525 |             if (lsb >= 0 && width > 0 && lsb + width < 64) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testClearBitField32()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1554:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1554 |             if (lsb >= 0 && width > 0 && lsb + width < 32) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testClearBitField64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1579:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1579 |             if (lsb >= 0 && width > 0 && lsb + width < 32) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testInsertSignedBitfieldInZero32()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1676:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1676 |             if (lsb >= 0 && width > 0 && lsb + width < 32) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testInsertSignedBitfieldInZero64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1706:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1706 |             if (lsb >= 0 && width > 0 && lsb + width < 64) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testExtractSignedBitfield32()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1735:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1735 |             if (lsb >= 0 && width > 0 && lsb + width < 32) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testExtractSignedBitfield64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1765:21: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1765 |             if (lsb >= 0 && width > 0 && lsb + width < 64) {
      |                 ~~~~^~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testExtractRegister32()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1796:23: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1796 |                 if (0 <= lsb && lsb < datasize) {
      |                     ~~^~~~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In function ‘void {anonymous}::testExtractRegister64()’:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:1833:23: error: comparison of unsigned expression in ‘>= 0’ is always true [-Werror=type-limits]
 1833 |                 if (0 <= lsb && lsb < datasize) {
      |                     ~~^~~~~~
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp: In lambda function:
/app/webkit/Source/JavaScriptCore/assembler/testmasm.cpp:3013:37: error: suggest parentheses around ‘-’ in operand of ‘&’ [-Werror=parentheses]
 3013 |         return value & (1ull << 48) - 1;
      |                        ~~~~~~~~~~~~~^~~
```
Comment 1 Radar WebKit Bug Importer 2023-11-07 18:47:09 PST
<rdar://problem/118093158>
Comment 2 Jean-Yves Avenard [:jya] 2023-11-07 19:45:15 PST
Pull request: https://github.com/WebKit/WebKit/pull/20143
Comment 3 EWS 2023-11-07 21:38:35 PST
Committed 270371@main (1755d48a638b): <https://commits.webkit.org/270371@main>

Reviewed commits have been landed. Closing PR #20143 and removing active labels.