<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>214533</bug_id>
          
          <creation_ts>2020-07-19 06:50:19 -0700</creation_ts>
          <short_desc>-Warray-bounds warnings in testb3 and testair</short_desc>
          <delta_ts>2020-07-19 11:24:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>annulen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672880</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-19 06:50:19 -0700</bug_when>
    <thetext>Apparently I&apos;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&apos;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&lt;int&gt;(*code, &amp;cond - 2, (sizeof(uint32_t) * 2) &gt;&gt; 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&lt;int&gt;(*code, &amp;cond - 2, (sizeof(uint32_t) * 2) &gt;&gt; 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 &gt;= bitwise_cast&lt;char*&gt;(&amp;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 &gt;= bitwise_cast&lt;char*&gt;(&amp;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&lt;int64_t&gt;(proc, input, &amp;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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 1), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;CType&gt;(proc, &amp;value - 2, (sizeof(InputType) * 2) &gt;&gt; logScale), modelLoad&lt;CType&gt;(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&lt;double&gt;(proc, 2.4, &amp;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&lt;double&gt;(proc, 2.4, &amp;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&lt;double&gt;(proc, 2.4, &amp;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&lt;double&gt;(proc, 2.4, &amp;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&lt;double&gt;(proc, 2.4, &amp;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&lt;double&gt;(proc, 2.4, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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&lt;int&gt;(*code, &amp;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;
      |            ^~~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672881</commentid>
    <comment_count>1</comment_count>
      <attachid>404666</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-19 06:51:44 -0700</bug_when>
    <thetext>Created attachment 404666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672924</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-19 11:23:12 -0700</bug_when>
    <thetext>Committed r264578: &lt;https://trac.webkit.org/changeset/264578&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404666.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672926</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-19 11:24:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/65793519&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404666</attachid>
            <date>2020-07-19 06:51:44 -0700</date>
            <delta_ts>2020-07-19 11:23:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214533-20200719085144.patch</filename>
            <type>text/plain</type>
            <size>1483</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NTYyMGUwZWJhNzEwZGZiOWY1NTIwOTc5NTExYzRjYzJiOWNiMjg1Li5lODhjYzVmZmVjOGMwNjAz
MmQ3ZWM0MjgxNTE3MTg4YjBlYWQyMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMC0wNy0xOSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdu
b21lLm9yZz4KKworICAgICAgICAtV2FycmF5LWJvdW5kcyB3YXJuaW5ncyBpbiB0ZXN0YjMgYW5k
IHRlc3RhaXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNDUzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHByZXNzIHRoZXNlIHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgdGVzdGIzIGFuZCB0ZXN0YWly
LgorCisgICAgICAgICogc2hlbGwvQ01ha2VMaXN0cy50eHQ6CisKIDIwMjAtMDctMTggIE1hcmsg
TGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeGVkIHJlZ3Jlc3Npb24gZHVl
IHRvIHIyNjQ1MDc6IE1hdGgue21pbnxtYXh9IGluZXF1YWxpdHkgdGVzdCBzaG91bGQgdXNlIERv
dWJsZU5vdEVxdWFsT3JVbm9yZGVyZWQgaW5zdGVhZCBEb3VibGVOb3RFcXVhbEFuZE9yZGVyZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvc2hlbGwvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvc2hlbGwvQ01ha2VMaXN0cy50eHQKaW5kZXggNTZmYjNm
MmM2YWE4OGQxMDA0YWIxZWViZTYyMzdkNjY3Y2MxZjNlNi4uYmZiMDM3MGVkMzBjNjZkNTNjMjk4
NzM5MDNkZGU5NDhiMWYwMmZlNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3No
ZWxsL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9DTWFr
ZUxpc3RzLnR4dApAQCAtODYsNiArODYsMTEgQEAgaWYgKERFVkVMT1BFUl9NT0RFKQogICAgIFdF
QktJVF9FWEVDVVRBQkxFX0RFQ0xBUkUodGVzdGIzKQogICAgIFdFQktJVF9FWEVDVVRBQkxFX0RF
Q0xBUkUodGVzdGFpcikKICAgICBXRUJLSVRfRVhFQ1VUQUJMRV9ERUNMQVJFKHRlc3RkZmcpCisK
KyAgICBpZiAoQ09NUElMRVJfSVNfR0NDX09SX0NMQU5HKQorICAgICAgICBXRUJLSVRfQUREX1RB
UkdFVF9DWFhfRkxBR1ModGVzdGIzIC1Xbm8tYXJyYXktYm91bmRzKQorICAgICAgICBXRUJLSVRf
QUREX1RBUkdFVF9DWFhfRkxBR1ModGVzdGFpciAtV25vLWFycmF5LWJvdW5kcykKKyAgICBlbmRp
ZiAoKQogZW5kaWYgKCkKIAogV0VCS0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>