RESOLVED FIXED 214533
-Warray-bounds warnings in testb3 and testair
https://bugs.webkit.org/show_bug.cgi?id=214533
Summary -Warray-bounds warnings in testb3 and testair
Michael Catanzaro
Reported 2020-07-19 06:50:19 PDT
Apparently I've been building without -DDEVELOPER_MODE=ON and so have been missing a bunch of warnings that occur in files that are built only in developer mode. These -Warray-bounds warnings are pretty confusing because there are no arrays involved, but the problem occurs because we are subtracting from the address of a variable declared on the stack. I assume the code is doing this intentionally, though I don't know why, so we should probably just ignore the warnings. [1993/5091] Building CXX object Source/JavaScriptCore/shell/CMakeFiles/testb3.dir/__/b3/testb3_4.cpp.o In file included from ../../Source/JavaScriptCore/b3/testb3_4.cpp:27: ../../Source/JavaScriptCore/b3/testb3_4.cpp: In function ‘void testBranch8WithLoad8ZIndex()’: ../../Source/JavaScriptCore/b3/testb3_4.cpp:2087:22: warning: array subscript -2 is outside array bounds of ‘uint32_t [1]’ {aka ‘unsigned int [1]’} [-Warray-bounds] 2087 | CHECK(invoke<int>(*code, &cond - 2, (sizeof(uint32_t) * 2) >> logScale) == 1); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_4.cpp:2085:14: note: while referencing ‘cond’ 2085 | uint32_t cond; | ^~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_4.cpp:27: ../../Source/JavaScriptCore/b3/testb3_4.cpp:2089:22: warning: array subscript -2 is outside array bounds of ‘uint32_t [1]’ {aka ‘unsigned int [1]’} [-Warray-bounds] 2089 | CHECK(invoke<int>(*code, &cond - 2, (sizeof(uint32_t) * 2) >> logScale) == 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_4.cpp:2085:14: note: while referencing ‘cond’ 2085 | uint32_t cond; | ^~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_4.cpp:27: ../../Source/JavaScriptCore/b3/testb3_4.cpp: In function ‘void testFramePointer()’: ../../Source/JavaScriptCore/b3/testb3_4.cpp:883:44: warning: array subscript -40 is outside array bounds of ‘JSC::B3::Procedure [1]’ [-Warray-bounds] 883 | CHECK(fp >= bitwise_cast<char*>(&proc) - 10000); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_4.cpp:875:15: note: while referencing ‘proc’ 875 | Procedure proc; | ^~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_4.cpp:27: ../../Source/JavaScriptCore/b3/testb3_4.cpp: In function ‘void testStackSlot()’: ../../Source/JavaScriptCore/b3/testb3_4.cpp:931:51: warning: array subscript -40 is outside array bounds of ‘JSC::B3::Procedure [1]’ [-Warray-bounds] 931 | CHECK(stackSlot >= bitwise_cast<char*>(&proc) - 10000); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_4.cpp:923:15: note: while referencing ‘proc’ 923 | Procedure proc; | ^~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_4.cpp:27: ../../Source/JavaScriptCore/b3/testb3_4.cpp: In function ‘void testStoreFloat(double)’: ../../Source/JavaScriptCore/b3/testb3_4.cpp:1011:38: warning: array subscript -1 is outside array bounds of ‘float [1]’ [-Warray-bounds] 1011 | CHECK(!compileAndRun<int64_t>(proc, input, &output - 1, 1)); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_4.cpp:1010:15: note: while referencing ‘output’ 1010 | float output = 0.; | ^~~~~~ [1994/5091] Building CXX object Source/JavaScriptCore/shell/CMakeFiles/testb3.dir/__/b3/testb3_8.cpp.o In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = int; InputType = int]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:26: warning: array subscript -1 is outside array bounds of ‘int [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:26: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:26: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = long int; InputType = long int]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:26: warning: array subscript -1 is outside array bounds of ‘long int [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:26: warning: array subscript -2 is outside array bounds of ‘long int [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:26: warning: array subscript -2 is outside array bounds of ‘long int [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = signed char; InputType = int]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:47: warning: array subscript -1 is outside array bounds of ‘int [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = unsigned char; InputType = int]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:47: warning: array subscript -1 is outside array bounds of ‘int [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = short int; InputType = int]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:47: warning: array subscript -1 is outside array bounds of ‘int [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = short unsigned int; InputType = int]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:47: warning: array subscript -1 is outside array bounds of ‘int [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:47: warning: array subscript -2 is outside array bounds of ‘int [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = float; InputType = float]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:26: warning: array subscript -1 is outside array bounds of ‘float [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:26: warning: array subscript -2 is outside array bounds of ‘float [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:26: warning: array subscript -2 is outside array bounds of ‘float [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp: In function ‘void testLoad(JSC::B3::Type, JSC::B3::Opcode, InputType) [with CType = double; InputType = double]’: ../../Source/JavaScriptCore/b3/testb3_8.cpp:764:26: warning: array subscript -1 is outside array bounds of ‘double [1]’ [-Warray-bounds] 764 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 1), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:784:26: warning: array subscript -2 is outside array bounds of ‘double [1]’ [-Warray-bounds] 784 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_8.cpp:27: ../../Source/JavaScriptCore/b3/testb3_8.cpp:804:26: warning: array subscript -2 is outside array bounds of ‘double [1]’ [-Warray-bounds] 804 | CHECK(isIdentical(compileAndRun<CType>(proc, &value - 2, (sizeof(InputType) * 2) >> logScale), modelLoad<CType>(value))); ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_8.cpp:722:59: note: while referencing ‘value’ 722 | void testLoad(B3::Type type, B3::Opcode opcode, InputType value) | ~~~~~~~~~~^~~~~ [1995/5091] Building CXX object Source/JavaScriptCore/shell/CMakeFiles/testair.dir/__/b3/air/testair.cpp.o ../../Source/JavaScriptCore/b3/air/testair.cpp: In function ‘void {anonymous}::testX86VMULSDBaseIndexNeedRex()’: ../../Source/JavaScriptCore/b3/air/testair.cpp:1837:32: warning: array subscript -2 is outside array bounds of ‘double [1]’ [-Warray-bounds] 1837 | CHECK(compileAndRun<double>(proc, 2.4, &secondArg - 2, index, pureNaN()) == 2.4 * 4.2); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp:81:16: note: in definition of macro ‘CHECK’ 81 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/air/testair.cpp:1835:12: note: while referencing ‘secondArg’ 1835 | double secondArg = 4.2; | ^~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp: In function ‘void {anonymous}::testX86VMULSDAddrOpRexAddr()’: ../../Source/JavaScriptCore/b3/air/testair.cpp:1744:32: warning: array subscript 2 is outside array bounds of ‘double [1]’ [-Warray-bounds] 1744 | CHECK(compileAndRun<double>(proc, 2.4, &secondArg + 2, pureNaN()) == 2.4 * 4.2); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp:81:16: note: in definition of macro ‘CHECK’ 81 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/air/testair.cpp:1743:12: note: while referencing ‘secondArg’ 1743 | double secondArg = 4.2; | ^~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp: In function ‘void {anonymous}::testX86VMULSDBaseNeedsRex()’: ../../Source/JavaScriptCore/b3/air/testair.cpp:1804:32: warning: array subscript -1 is outside array bounds of ‘double [1]’ [-Warray-bounds] 1804 | CHECK(compileAndRun<double>(proc, 2.4, &secondArg - 1, index, pureNaN()) == 2.4 * 4.2); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp:81:16: note: in definition of macro ‘CHECK’ 81 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/air/testair.cpp:1802:12: note: while referencing ‘secondArg’ 1802 | double secondArg = 4.2; | ^~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp: In function ‘void {anonymous}::testX86VMULSDDestRexAddr()’: ../../Source/JavaScriptCore/b3/air/testair.cpp:1758:32: warning: array subscript -2 is outside array bounds of ‘double [1]’ [-Warray-bounds] 1758 | CHECK(compileAndRun<double>(proc, 2.4, &secondArg - 2, pureNaN()) == 2.4 * 4.2); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp:81:16: note: in definition of macro ‘CHECK’ 81 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/air/testair.cpp:1757:12: note: while referencing ‘secondArg’ 1757 | double secondArg = 4.2; | ^~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp: In function ‘void {anonymous}::testX86VMULSDAddr()’: ../../Source/JavaScriptCore/b3/air/testair.cpp:1729:32: warning: array subscript 2 is outside array bounds of ‘double [1]’ [-Warray-bounds] 1729 | CHECK(compileAndRun<double>(proc, 2.4, &secondArg + 2, pureNaN()) == 2.4 * 4.2); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp:81:16: note: in definition of macro ‘CHECK’ 81 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/air/testair.cpp:1728:12: note: while referencing ‘secondArg’ 1728 | double secondArg = 4.2; | ^~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp: In function ‘void {anonymous}::testX86VMULSDAddrOpDestRexAddr()’: ../../Source/JavaScriptCore/b3/air/testair.cpp:1788:32: warning: array subscript -1 is outside array bounds of ‘double [1]’ [-Warray-bounds] 1788 | CHECK(compileAndRun<double>(proc, 2.4, &secondArg - 1, pureNaN()) == 2.4 * 4.2); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/air/testair.cpp:81:16: note: in definition of macro ‘CHECK’ 81 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/air/testair.cpp:1787:12: note: while referencing ‘secondArg’ 1787 | double secondArg = 4.2; | ^~~~~~~~~ [2003/5091] Building CXX object Source/JavaScriptCore/shell/CMakeFiles/testb3.dir/__/b3/testb3_5.cpp.o In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp: In function ‘void testCheckTwoNonRedundantMegaCombos()’: ../../Source/JavaScriptCore/b3/testb3_5.cpp:539:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 539 | CHECK(invoke<int>(*code, &value - 2, 1, true) == 43); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:541:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 541 | CHECK(invoke<int>(*code, &value - 2, 1, true) == 43); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:543:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 543 | CHECK(invoke<int>(*code, &value - 2, 1, true) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:545:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 545 | CHECK(invoke<int>(*code, &value - 2, 1, true) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:547:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 547 | CHECK(invoke<int>(*code, &value - 2, 1, true) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:550:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 550 | CHECK(invoke<int>(*code, &value - 2, 1, false) == 45); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:552:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 552 | CHECK(invoke<int>(*code, &value - 2, 1, false) == 45); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:554:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 554 | CHECK(invoke<int>(*code, &value - 2, 1, false) == 44); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:556:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 556 | CHECK(invoke<int>(*code, &value - 2, 1, false) == 44); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:558:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 558 | CHECK(invoke<int>(*code, &value - 2, 1, false) == 44); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:536:12: note: while referencing ‘value’ 536 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp: In function ‘void testCheckTwoMegaCombos()’: ../../Source/JavaScriptCore/b3/testb3_5.cpp:455:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 455 | CHECK(invoke<int>(*code, &value - 2, 1) == 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:453:12: note: while referencing ‘value’ 453 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:457:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 457 | CHECK(invoke<int>(*code, &value - 2, 1) == 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:453:12: note: while referencing ‘value’ 453 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:459:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 459 | CHECK(invoke<int>(*code, &value - 2, 1) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:453:12: note: while referencing ‘value’ 453 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:461:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 461 | CHECK(invoke<int>(*code, &value - 2, 1) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:453:12: note: while referencing ‘value’ 453 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:463:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 463 | CHECK(invoke<int>(*code, &value - 2, 1) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:453:12: note: while referencing ‘value’ 453 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp: In function ‘void testCheckTrickyMegaCombo()’: ../../Source/JavaScriptCore/b3/testb3_5.cpp:389:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 389 | CHECK(invoke<int>(*code, &value - 2, 0) == 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:387:12: note: while referencing ‘value’ 387 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:391:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 391 | CHECK(invoke<int>(*code, &value - 2, 0) == 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:387:12: note: while referencing ‘value’ 387 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:393:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 393 | CHECK(invoke<int>(*code, &value - 2, 0) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:387:12: note: while referencing ‘value’ 387 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:395:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 395 | CHECK(invoke<int>(*code, &value - 2, 0) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:387:12: note: while referencing ‘value’ 387 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:397:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 397 | CHECK(invoke<int>(*code, &value - 2, 0) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:387:12: note: while referencing ‘value’ 387 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp: In function ‘void testCheckMegaCombo()’: ../../Source/JavaScriptCore/b3/testb3_5.cpp:332:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 332 | CHECK(invoke<int>(*code, &value - 2, 1) == 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:330:12: note: while referencing ‘value’ 330 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:334:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 334 | CHECK(invoke<int>(*code, &value - 2, 1) == 0); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:330:12: note: while referencing ‘value’ 330 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:336:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 336 | CHECK(invoke<int>(*code, &value - 2, 1) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:330:12: note: while referencing ‘value’ 330 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:338:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 338 | CHECK(invoke<int>(*code, &value - 2, 1) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:330:12: note: while referencing ‘value’ 330 | int8_t value; | ^~~~~ In file included from ../../Source/JavaScriptCore/b3/testb3_5.cpp:27: ../../Source/JavaScriptCore/b3/testb3_5.cpp:340:22: warning: array subscript -2 is outside array bounds of ‘int8_t [1]’ {aka ‘signed char [1]’} [-Warray-bounds] 340 | CHECK(invoke<int>(*code, &value - 2, 1) == 42); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../../Source/JavaScriptCore/b3/testb3.h:108:12: note: in definition of macro ‘CHECK’ 108 | if (!!(x)) \ | ^ ../../Source/JavaScriptCore/b3/testb3_5.cpp:330:12: note: while referencing ‘value’ 330 | int8_t value; | ^~~~~
Attachments
Patch (1.45 KB, patch)
2020-07-19 06:51 PDT, Michael Catanzaro
no flags
Michael Catanzaro
Comment 1 2020-07-19 06:51:44 PDT
EWS
Comment 2 2020-07-19 11:23:12 PDT
Committed r264578: <https://trac.webkit.org/changeset/264578> All reviewed patches have been landed. Closing bug and clearing flags on attachment 404666 [details].
Radar WebKit Bug Importer
Comment 3 2020-07-19 11:24:15 PDT
Note You need to log in before you can comment on or make changes to this bug.