<?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>212006</bug_id>
          
          <creation_ts>2020-05-17 19:17:48 -0700</creation_ts>
          <short_desc>[JSC] Silence unused-but-set-parameter warnings for older compilers</short_desc>
          <delta_ts>2020-05-18 06:19:16 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=211701</see_also>
          <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="Lauro Moura">lmoura</reporter>
          <assigned_to name="Lauro Moura">lmoura</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1653468</commentid>
    <comment_count>0</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-05-17 19:17:48 -0700</bug_when>
    <thetext>After r261754, older compilers (GCC up to 9.x) complain about the `sources` parameter being set but not used when NumberOfRegisters is zero. The same may happen to destinations when both NumberOfRegisters is zero and ASSERT_ENABLE is false.

Example:

In file included from ../../Source/JavaScriptCore/jit/Snippet.h:31, 
                 from ../../Source/JavaScriptCore/domjit/DOMJITCallDOMGetterSnippet.h:31,
                 from ../../Source/JavaScriptCore/domjit/DOMJITGetterSetter.h:28,
                 from ../../Source/JavaScriptCore/runtime/Lookup.h:26,
                 from ../../Source/JavaScriptCore/runtime/JSObjectInlines.h:32,
                 from ../../Source/JavaScriptCore/runtime/JSCInlines.h:48,
                 from ../../Source/JavaScriptCore/bytecode/ObjectPropertyConditionSet.cpp:29,
                 from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp:3:
../../Source/JavaScriptCore/jit/CCallHelpers.h: In instantiation of ‘void JSC::CCallHelpers::setupStubArgs(std::array&lt;RegType, NumberOfRegisters&gt;, std::array&lt;RegType, NumberOfRegisters&gt;) [with unsigned int NumberOfRegisters = 0; RegType = JSC::X86Registers::RegisterID]’:
../../Source/JavaScriptCore/jit/CCallHelpers.h:645:9:   required from ‘void JSC::CCallHelpers::setupArgumentsImpl(JSC::CCallHelpers::ArgCollection&lt;numGPRArgs, numGPRSources, numFPRArgs, numFPRSources, numCrossSources, extraGPRArgs, extraPoke&gt;) [with OperationType = void(JSC::VM*); unsigned int numGPRArgs = 1; unsigned int numGPRSources = 0; unsigned int numFPRArgs = 0; unsigned int numFPRSources = 0; unsigned int numCrossSources = 0; unsigned int extraGPRArgs = 0; unsigned int extraPoke = 0]’
../../Source/JavaScriptCore/jit/CCallHelpers.h:585:13:   required from ‘std::enable_if_t&lt;(std::is_base_of&lt;JSC::AbstractMacroAssembler&lt;JSC::X86Assembler&gt;::TrustedImm, Arg&gt;::value || std::is_convertible&lt;Arg, JSC::AbstractMacroAssembler&lt;JSC::X86Assembler&gt;::TrustedImm&gt;::value)&gt; JSC::CCallHelpers::setupArgumentsImpl(JSC::CCallHelpers::ArgCollection&lt;numGPRArgs, numGPRSources, numFPRArgs, numFPRSources, numCrossSources, extraGPRArgs, extraPoke&gt;, Arg, Args ...) [with OperationType = void(JSC::VM*); unsigned int numGPRArgs = 0; unsigned int numGPRSources = 0; unsigned int numFPRArgs = 0; unsigned int numFPRSources = 0; unsigned int numCrossSources = 0; unsigned int extraGPRArgs = 0; unsigned int extraPoke = 0; Arg = JSC::AbstractMacroAssembler&lt;JSC::X86Assembler&gt;::TrustedImmPtr; Args = {}; std::enable_if_t&lt;(std::is_base_of&lt;JSC::AbstractMacroAssembler&lt;JSC::X86Assembler&gt;::TrustedImm, Arg&gt;::value || std::is_convertible&lt;Arg, JSC::AbstractMacroAssembler&lt;JSC::X86Assembler&gt;::TrustedImm&gt;::value)&gt; = void]’
../../Source/JavaScriptCore/jit/CCallHelpers.h:675:9:   required from ‘std::enable_if_t&lt;(! std::is_same&lt;typename WTF::FunctionTraits&lt;T&gt;::ArgumentType&lt;0&gt;, JSC::CallFrame*&gt;::value)&gt; JSC::CCallHelpers::setupArguments(Args ...) [with OperationType = void(JSC::VM*); Args = {JSC::AbstractMacroAssembler&lt;JSC::X86Assembler&gt;::TrustedImmPtr}; std::enable_if_t&lt;(! std::is_same&lt;typename WTF::FunctionTraits&lt;T&gt;::ArgumentType&lt;0&gt;, JSC::CallFrame*&gt;::value)&gt; = void]’
../../Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:215:106:   required from here
../../Source/JavaScriptCore/jit/CCallHelpers.h:90:130: warning: parameter ‘sources’ set but not used [-Wunused-but-set-parameter]
   90 |     ALWAYS_INLINE void setupStubArgs(std::array&lt;RegType, NumberOfRegisters&gt; destinations, std::array&lt;RegType, NumberOfRegisters&gt; sources)
      |                                                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653469</commentid>
    <comment_count>1</comment_count>
      <attachid>399614</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-05-17 19:21:36 -0700</bug_when>
    <thetext>Created attachment 399614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653475</commentid>
    <comment_count>2</comment_count>
      <attachid>399614</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-17 20:50:19 -0700</bug_when>
    <thetext>Comment on attachment 399614
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=399614&amp;action=review

&gt; Source/JavaScriptCore/jit/CCallHelpers.h:111
&gt; +            // Silence some older compilers (GCC up to 9.X) about unused but set parameters.
&gt; +            (void)sources;
&gt; +            (void)destinations;

We have standard idiom for this: see uses of UNUSED_PARAM in the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653479</commentid>
    <comment_count>3</comment_count>
      <attachid>399619</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-05-17 21:05:09 -0700</bug_when>
    <thetext>Created attachment 399619
Updated patch with UNUSED_PARAM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653490</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-17 22:15:10 -0700</bug_when>
    <thetext>Committed r261797: &lt;https://trac.webkit.org/changeset/261797&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399619.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653491</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-17 22:16:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/63327291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653572</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-05-18 06:19:16 -0700</bug_when>
    <thetext>Thanks for keeping the build clean. :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399614</attachid>
            <date>2020-05-17 19:21:36 -0700</date>
            <delta_ts>2020-05-17 21:05:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212006-20200517232135.patch</filename>
            <type>text/plain</type>
            <size>1600</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
OGNlYzVhMTQ1ZmM1ZTIwMjZlMWYyN2RlOGRkNzk3NTAxN2RiNDIxLi5hOGFhNDkzNWNhYzZhYmY3
ZDViNDIzNjVmOThmZDk2MWY1ODAyMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wNS0xNyAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4K
KworICAgICAgICBbSlNDXSBTaWxlbmNlIHVudXNlZC1idXQtc2V0LXBhcmFtZXRlciB3YXJuaW5n
cyBmb3Igb2xkZXIgY29tcGlsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTIwMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBHQ0MgdXAgdG8gOS54IHdpbGwgZW1pdCB1bnVzZWQtYnV0LXNldC1wYXJh
bWV0ZXIgZm9yIHRoZSBzb3VyY2VzCisgICAgICAgIHBhcmFtZXRlciB3aGVuIE51bWJlck9mUmVn
aXN0ZXJzIGlzIHplcm8gKHRoZSBpZiBibG9jayBpcyBlbGltaW5hdGVkKQorICAgICAgICBhbmQg
Zm9yIGRlc3RpbmF0aW9ucyB3aGVuIGFsc28gQVNTRVJUX0VOQUJMRUQgaXMgZmFsc2UuCisKKyAg
ICAgICAgKiBqaXQvQ0NhbGxIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkNDYWxsSGVscGVyczo6
c2V0dXBTdHViQXJncyk6CisKIDIwMjAtMDUtMTYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBNYWtlIE91dE9mTWVtb3J5IGVycm9yIGFzIGluc3Rh
bmNlIG9mIFJhbmdlRXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q0NhbGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5o
CmluZGV4IDIwYjk1ODZmZDQwYWUyYmFkMWQzYWMyMDk4OThjODAwOWY3ZWExZGUuLmVhM2ZhZWRi
Mzk3YTU1MDY0ODUzNzFjMGYyYjdlYTIyODMzODUyZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DQ2FsbEhlbHBlcnMuaApAQCAtMTA1LDYgKzEwNSwxMCBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgICAgIGlmIChzb3VyY2VzW2ldICE9IGRlc3RpbmF0aW9uc1tpXSkKICAgICAgICAgICAg
ICAgICAgICAgcGFpcnMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKHNvdXJjZXNbaV0sIGRlc3RpbmF0
aW9uc1tpXSkpOwogICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Ly8gU2lsZW5jZSBzb21lIG9sZGVyIGNvbXBpbGVycyAoR0NDIHVwIHRvIDkuWCkgYWJvdXQgdW51
c2VkIGJ1dCBzZXQgcGFyYW1ldGVycy4KKyAgICAgICAgICAgICh2b2lkKXNvdXJjZXM7CisgICAg
ICAgICAgICAodm9pZClkZXN0aW5hdGlvbnM7CiAgICAgICAgIH0KIAogI2lmIEFTU0VSVF9FTkFC
TEVECg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399619</attachid>
            <date>2020-05-17 21:05:09 -0700</date>
            <delta_ts>2020-05-17 22:15:11 -0700</delta_ts>
            <desc>Updated patch with UNUSED_PARAM</desc>
            <filename>bug-212006-20200518010508.patch</filename>
            <type>text/plain</type>
            <size>1616</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNzk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
OGNlYzVhMTQ1ZmM1ZTIwMjZlMWYyN2RlOGRkNzk3NTAxN2RiNDIxLi5hOGFhNDkzNWNhYzZhYmY3
ZDViNDIzNjVmOThmZDk2MWY1ODAyMzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wNS0xNyAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4K
KworICAgICAgICBbSlNDXSBTaWxlbmNlIHVudXNlZC1idXQtc2V0LXBhcmFtZXRlciB3YXJuaW5n
cyBmb3Igb2xkZXIgY29tcGlsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTIwMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBHQ0MgdXAgdG8gOS54IHdpbGwgZW1pdCB1bnVzZWQtYnV0LXNldC1wYXJh
bWV0ZXIgZm9yIHRoZSBzb3VyY2VzCisgICAgICAgIHBhcmFtZXRlciB3aGVuIE51bWJlck9mUmVn
aXN0ZXJzIGlzIHplcm8gKHRoZSBpZiBibG9jayBpcyBlbGltaW5hdGVkKQorICAgICAgICBhbmQg
Zm9yIGRlc3RpbmF0aW9ucyB3aGVuIGFsc28gQVNTRVJUX0VOQUJMRUQgaXMgZmFsc2UuCisKKyAg
ICAgICAgKiBqaXQvQ0NhbGxIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkNDYWxsSGVscGVyczo6
c2V0dXBTdHViQXJncyk6CisKIDIwMjAtMDUtMTYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBNYWtlIE91dE9mTWVtb3J5IGVycm9yIGFzIGluc3Rh
bmNlIG9mIFJhbmdlRXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q0NhbGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5o
CmluZGV4IDIwYjk1ODZmZDQwYWUyYmFkMWQzYWMyMDk4OThjODAwOWY3ZWExZGUuLjIzNTA1MDRh
OGU5OTk4OGVhMDdlZDBmMDdlZDhhMTFkMjQ0ZTg0MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DQ2FsbEhlbHBlcnMuaApAQCAtMTA1LDYgKzEwNSwxMCBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgICAgIGlmIChzb3VyY2VzW2ldICE9IGRlc3RpbmF0aW9uc1tpXSkKICAgICAgICAgICAg
ICAgICAgICAgcGFpcnMuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKHNvdXJjZXNbaV0sIGRlc3RpbmF0
aW9uc1tpXSkpOwogICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Ly8gU2lsZW5jZSBzb21lIG9sZGVyIGNvbXBpbGVycyAoR0NDIHVwIHRvIDkuWCkgYWJvdXQgdW51
c2VkIGJ1dCBzZXQgcGFyYW1ldGVycy4KKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShzb3VyY2Vz
KTsKKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlvbnMpOwogICAgICAgICB9CiAK
ICNpZiBBU1NFUlRfRU5BQkxFRAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>