<?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>307581</bug_id>
          
          <creation_ts>2026-02-11 12:08:08 -0800</creation_ts>
          <short_desc>REGRESSION(307222@main): Cannot build with Clang 18</short_desc>
          <delta_ts>2026-02-11 17:29:12 -0800</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=307389</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="Adrian Perez">aperez</reporter>
          <assigned_to name="Adrian Perez">aperez</assigned_to>
          <cc>csaavedra</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2180400</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2026-02-11 12:08:08 -0800</bug_when>
    <thetext>Full build log: https://build.webkit.org/#/builders/629/builds/22638

----

FAILED: Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/GenerationalSet.cpp.o 
/usr/bin/ccache /usr/local/bin/clang++ -DBUILDING_GTK__=1 -DBUILDING_TestWTF -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\&quot;/usr/bin/bwrap\&quot; -DDBUS_PROXY_EXECUTABLE=\&quot;/usr/bin/xdg-dbus-proxy\&quot; -DGETTEXT_PACKAGE=\&quot;WebKitGTK-6.0\&quot; -DGTEST_CREATE_SHARED_LIBRARY=1 -DGTEST_HAS_PTHREAD=1 -DGTEST_HAS_RTTI=0 -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -D_GLIBCXX_ASSERTIONS=1 -I/sdk/webkit/WebKitBuild/GTK/Release -I/sdk/webkit/Tools/TestWebKitAPI -I/sdk/webkit/Source/ThirdParty/gtest/include -I/sdk/webkit/WebKitBuild/GTK/Release/WTF/Headers -I/sdk/webkit/WebKitBuild/GTK/Release/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /jhbuild/install/include/sysprof-6 -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Werror=undefined-internal -Werror=undefined-inline -pipe -Wno-noexcept-type -Wno-nullability-completeness -Wno-psabi -Wno-misleading-indentation -Wno-parentheses-equality -Qunused-arguments -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -fasynchronous-unwind-tables -fdebug-types-section -fno-omit-frame-pointer -fno-strict-aliasing -fno-exceptions -fno-rtti -fcoroutines -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++23 -fPIE -fvisibility=hidden -Wno-dangling-else -Wno-sign-compare -Wno-undef -Wno-unused-parameter -I/usr/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -MD -MT Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/GenerationalSet.cpp.o -MF Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/GenerationalSet.cpp.o.d -o Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/GenerationalSet.cpp.o -c /sdk/webkit/Tools/TestWebKitAPI/Tests/WTF/GenerationalSet.cpp
In file included from ../../../Tools/TestWebKitAPI/Tests/WTF/GenerationalSet.cpp:27:
WTF/Headers/wtf/GenerationalSet.h:36:76: error: template template argument has different template parameters than its corresponding template template parameter
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                                                            ^
../../../Tools/TestWebKitAPI/Tests/WTF/GenerationalSet.cpp:35:28: note: while checking a default template argument used here
   35 |     GenerationalSet&lt;uint8_t&gt; set(100);
      |     ~~~~~~~~~~~~~~~~~~~~~~~^
WTF/Headers/wtf/Vector.h:574:1: note: too many template parameters in template template argument
  574 | template&lt;typename T, size_t inlineCapacity, typename OverflowHandler, size_t minCapacity, typename Malloc&gt;
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:35: note: previous template template parameter is here
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                   ^~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:76: error: template template argument has different template parameters than its corresponding template template parameter
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                                                            ^
../../../Tools/TestWebKitAPI/Tests/WTF/GenerationalSet.cpp:60:28: note: while checking a default template argument used here
   60 |     GenerationalSet&lt;uint8_t&gt; set(10);
      |     ~~~~~~~~~~~~~~~~~~~~~~~^
WTF/Headers/wtf/Vector.h:574:1: note: too many template parameters in template template argument
  574 | template&lt;typename T, size_t inlineCapacity, typename OverflowHandler, size_t minCapacity, typename Malloc&gt;
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:35: note: previous template template parameter is here
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                   ^~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:76: error: template template argument has different template parameters than its corresponding template template parameter
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                                                            ^
../../../Tools/TestWebKitAPI/Tests/WTF/GenerationalSet.cpp:83:28: note: while checking a default template argument used here
   83 |     GenerationalSet&lt;uint8_t&gt; set(10);
      |     ~~~~~~~~~~~~~~~~~~~~~~~^
WTF/Headers/wtf/Vector.h:574:1: note: too many template parameters in template template argument
  574 | template&lt;typename T, size_t inlineCapacity, typename OverflowHandler, size_t minCapacity, typename Malloc&gt;
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:35: note: previous template template parameter is here
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                   ^~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:76: error: template template argument has different template parameters than its corresponding template template parameter
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                                                            ^
../../../Tools/TestWebKitAPI/Tests/WTF/GenerationalSet.cpp:126:29: note: while checking a default template argument used here
  126 |     GenerationalSet&lt;uint16_t&gt; set16(50);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~^
WTF/Headers/wtf/Vector.h:574:1: note: too many template parameters in template template argument
  574 | template&lt;typename T, size_t inlineCapacity, typename OverflowHandler, size_t minCapacity, typename Malloc&gt;
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:35: note: previous template template parameter is here
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                   ^~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:76: error: template template argument has different template parameters than its corresponding template template parameter
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                                                            ^
../../../Tools/TestWebKitAPI/Tests/WTF/GenerationalSet.cpp:132:29: note: while checking a default template argument used here
  132 |     GenerationalSet&lt;uint64_t&gt; set64(50);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~^
WTF/Headers/wtf/Vector.h:574:1: note: too many template parameters in template template argument
  574 | template&lt;typename T, size_t inlineCapacity, typename OverflowHandler, size_t minCapacity, typename Malloc&gt;
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WTF/Headers/wtf/GenerationalSet.h:36:35: note: previous template template parameter is here
   36 | template&lt;typename GenerationType, template&lt;typename&gt; typename VectorType = Vector&gt;
      |                                   ^~~~~~~~~~~~~~~~~~
5 errors generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180402</commentid>
    <comment_count>1</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2026-02-11 12:09:00 -0800</bug_when>
    <thetext>The GTK/WPE/JSCOnly EWS builders use GCC and that&apos;s why this went unnoticed until it hit the post-commit bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180404</commentid>
    <comment_count>2</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2026-02-11 12:11:56 -0800</bug_when>
    <thetext>For the record, Clang 21 is able to build this source file, so it could be that this may need some workaround for Clang 18, while we still need to support it for the GTK and WPE ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180422</commentid>
    <comment_count>3</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2026-02-11 12:43:19 -0800</bug_when>
    <thetext>Digging a bit further, the discussion in https://github.com/llvm/llvm-project/issues/56373 points to -frelaxed-template-template-args, which indeed has been turned on by default for C++17 (and up) starting with Clang 19:  https://releases.llvm.org/19.1.0/tools/clang/docs/ReleaseNotes.html#c-specific-potentially-breaking-changes

I am testing a build with the flag added, and if that works I think we can have CMake add it for Clang &lt;19.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180492</commentid>
    <comment_count>4</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2026-02-11 15:52:22 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/58445</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180546</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-02-11 17:28:31 -0800</bug_when>
    <thetext>Committed 307325@main (ffcf808e34af): &lt;https://commits.webkit.org/307325@main&gt;

Reviewed commits have been landed. Closing PR #58445 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180547</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-02-11 17:29:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/170189356&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>