[Webkit-unassigned] [Bug 214533] New: -Warray-bounds warnings in testb3 and testair

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jul 19 06:50:19 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=214533

            Bug ID: 214533
           Summary: -Warray-bounds warnings in testb3 and testair
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mcatanzaro at gnome.org

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;
      |            ^~~~~

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200719/28a77f67/attachment-0001.htm>


More information about the webkit-unassigned mailing list