<?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>289669</bug_id>
          
          <creation_ts>2025-03-12 23:00:44 -0700</creation_ts>
          <short_desc>[MagicEnum C++] EnumTraits.h:267:9: error: no matching function for call to &apos;enumName&apos; with clang-20</short_desc>
          <delta_ts>2025-03-18 12:37:18 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>katoshi1337</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>fujii</cc>
    
    <cc>keith_miller</cc>
    
    <cc>max</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>philn</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yijia_huang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2102781</commentid>
    <comment_count>0</comment_count>
    <who name="">katoshi1337</who>
    <bug_when>2025-03-12 23:00:44 -0700</bug_when>
    <thetext>Hi, I noticed that the current master doesn&apos;t seem to be able to compile correctly. Did I miss something during compilation?

Command:

Tools/Scripts/build-webkit --jsc-only --release




Logs:

```
FAILED: Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/EnumTraits.cpp.o 
/build/bin/clang++ -DBUILDING_JSCONLY__ -DBUILDING_TestWTF -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DGTEST_CREATE_SHARED_LIBRARY=1 -DGTEST_HAS_PTHREAD=1 -DGTEST_HAS_RTTI=0 -DHAVE_CONFIG_H=1 -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -D_GLIBCXX_ASSERTIONS=1 -I/home/test/WebKitBuild/JSCOnly/Release -I/home/test/Tools/TestWebKitAPI -I/home/test/Source/ThirdParty/gtest/include -I/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers -I/home/test/WebKitBuild/JSCOnly/Release/bmalloc/Headers -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Werror=undefined-internal -Werror=undefined-inline -pipe -Wno-noexcept-type -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-strict-aliasing -fno-exceptions -fno-rtti -fcoroutines -ffunction-sections -fdata-sections -O3 -DNDEBUG -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -Werror -Wno-dangling-else -Wno-sign-compare -Wno-undef -Wno-unused-parameter -std=c++2b -MD -MT Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/EnumTraits.cpp.o -MF Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/EnumTraits.cpp.o.d -o Tools/TestWebKitAPI/CMakeFiles/TestWTF.dir/Tests/WTF/EnumTraits.cpp.o -c /home/test/Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp
In file included from /home/test/Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp:29:
/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/EnumTraits.h:267:9: error: no matching function for call to &apos;enumName&apos;
  267 |         enumName&lt;static_cast&lt;E&gt;(static_cast&lt;std::underlying_type_t&lt;E&gt;&gt;(Is) + min)&gt;()...
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/EnumTraits.h:275:12: note: in instantiation of function template specialization &apos;WTF::makeEnumNames&lt;TestWebKitAPI::NonClassMultiWord, 0UL, 1UL, 2UL, 3UL, 4UL, 5UL, 6UL, 7UL, 8UL, 9UL, 10UL, 11UL, 12UL, 13UL, 14UL, 15UL, 16UL, 17UL, 18UL, 19UL, 20UL, 21UL, 22UL, 23UL, 24UL, 25UL, 26UL, 27UL, 28UL, 29UL, 30UL, 31UL, 32UL, 33UL, 34UL, 35UL, 36UL, 37UL, 38UL, 39UL, 40UL, 41UL, 42UL, 43UL, 44UL, 45UL, 46UL, 47UL, 48UL, 49UL, 50UL, 51UL, 52UL, 53UL, 54UL, 55UL, 56UL, 57UL, 58UL, 59UL, 60UL, 61UL, 62UL, 63UL, 64UL, 65UL, 66UL, 67UL, 68UL, 69UL, 70UL, 71UL, 72UL, 73UL, 74UL, 75UL, 76UL, 77UL, 78UL, 79UL, 80UL, 81UL, 82UL, 83UL, 84UL, 85UL, 86UL, 87UL, 88UL, 89UL, 90UL, 91UL, 92UL, 93UL, 94UL, 95UL, 96UL, 97UL, 98UL, 99UL, 100UL, 101UL, 102UL, 103UL, 104UL, 105UL, 106UL, 107UL, 108UL, 109UL, 110UL, 111UL, 112UL, 113UL, 114UL, 115UL, 116UL, 117UL, 118UL, 119UL, 120UL, 121UL, 122UL, 123UL, 124UL, 125UL, 126UL, 127UL, 128UL, 129UL, 130UL, 131UL, 132UL, 133UL, 134UL, 135UL, 136UL, 137UL, 138UL, 139UL, 140UL, 141UL, 142UL, 143UL, 144UL, 145UL, 146UL, 147UL, 148UL, 149UL, 150UL, 151UL, 152UL, 153UL, 154UL, 155UL, 156UL, 157UL, 158UL, 159UL, 160UL, 161UL, 162UL, 163UL, 164UL, 165UL, 166UL, 167UL, 168UL, 169UL, 170UL, 171UL, 172UL, 173UL, 174UL, 175UL, 176UL, 177UL, 178UL, 179UL, 180UL, 181UL, 182UL, 183UL, 184UL, 185UL, 186UL, 187UL, 188UL, 189UL, 190UL, 191UL, 192UL, 193UL, 194UL, 195UL, 196UL, 197UL, 198UL, 199UL, 200UL, 201UL, 202UL, 203UL, 204UL, 205UL, 206UL, 207UL, 208UL, 209UL, 210UL, 211UL, 212UL, 213UL, 214UL, 215UL, 216UL, 217UL, 218UL, 219UL, 220UL, 221UL, 222UL, 223UL, 224UL, 225UL, 226UL, 227UL, 228UL, 229UL, 230UL, 231UL, 232UL, 233UL, 234UL, 235UL, 236UL, 237UL, 238UL, 239UL, 240UL, 241UL, 242UL, 243UL, 244UL, 245UL, 246UL, 247UL, 248UL, 249UL, 250UL, 251UL, 252UL, 253UL, 254UL, 255UL, 256UL, 257UL, 258UL, 259UL, 260UL, 261UL, 262UL, 263UL, 264UL, 265UL, 266UL, 267UL, 268UL, 269UL, 270UL, 271UL, 272UL, 273UL, 274UL, 275UL, 276UL, 277UL, 278UL, 279UL, 280UL, 281UL, 282UL, 283UL, 284UL, 285UL, 286UL, 287UL, 288UL, 289UL, 290UL, 291UL, 292UL, 293UL, 294UL, 295UL, 296UL, 297UL, 298UL, 299UL, 300UL, 301UL, 302UL, 303UL, 304UL, 305UL, 306UL, 307UL, 308UL, 309UL, 310UL, 311UL, 312UL, 313UL, 314UL, 315UL, 316UL, 317UL, 318UL, 319UL, 320UL, 321UL, 322UL, 323UL, 324UL, 325UL, 326UL, 327UL, 328UL, 329UL, 330UL, 331UL, 332UL, 333UL, 334UL, 335UL, 336UL, 337UL, 338UL, 339UL, 340UL, 341UL, 342UL, 343UL, 344UL, 345UL, 346UL, 347UL, 348UL, 349UL, 350UL, 351UL, 352UL, 353UL, 354UL, 355UL, 356UL, 357UL, 358UL, 359UL, 360UL, 361UL, 362UL, 363UL, 364UL, 365UL, 366UL, 367UL, 368UL, 369UL, 370UL, 371UL, 372UL, 373UL, 374UL, 375UL, 376UL, 377UL, 378UL, 379UL, 380UL, 381UL, 382UL, 383UL, 384UL, 385UL, 386UL, 387UL, 388UL, 389UL, 390UL, 391UL, 392UL, 393UL, 394UL, 395UL, 396UL, 397UL, 398UL, 399UL, 400UL, 401UL, 402UL, 403UL, 404UL, 405UL, 406UL, 407UL, 408UL, 409UL, 410UL, 411UL, 412UL, 413UL, 414UL, 415UL, 416UL, 417UL, 418UL, 419UL, 420UL, 421UL, 422UL, 423UL, 424UL, 425UL, 426UL, 427UL, 428UL, 429UL, 430UL, 431UL, 432UL, 433UL, 434UL, 435UL, 436UL, 437UL, 438UL, 439UL, 440UL, 441UL, 442UL, 443UL, 444UL, 445UL, 446UL, 447UL, 448UL, 449UL, 450UL, 451UL, 452UL, 453UL, 454UL, 455UL, 456UL, 457UL, 458UL, 459UL, 460UL, 461UL, 462UL, 463UL, 464UL, 465UL, 466UL, 467UL, 468UL, 469UL, 470UL, 471UL, 472UL, 473UL, 474UL, 475UL, 476UL, 477UL, 478UL, 479UL, 480UL, 481UL, 482UL, 483UL, 484UL, 485UL, 486UL, 487UL, 488UL, 489UL, 490UL, 491UL, 492UL, 493UL, 494UL, 495UL, 496UL, 497UL, 498UL, 499UL, 500UL, 501UL, 502UL, 503UL, 504UL, 505UL, 506UL, 507UL, 508UL, 509UL, 510UL&gt;&apos; requested here
  275 |     return makeEnumNames&lt;E&gt;(std::make_index_sequence&lt;size&gt; { });
      |            ^
/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/EnumTraits.h:286:28: note: in instantiation of function template specialization &apos;WTF::enumNames&lt;TestWebKitAPI::NonClassMultiWord&gt;&apos; requested here
  286 |     constexpr auto names = enumNames&lt;E&gt;();
      |                            ^
/home/test/Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp:201:50: note: in instantiation of function template specialization &apos;WTF::enumName&lt;TestWebKitAPI::NonClassMultiWord&gt;&apos; requested here
  201 |     EXPECT_TRUE(isExpectedEnumString(&quot;FooBar&quot;_s, enumName(FooBar)));
      |                                                  ^
/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/EnumTraits.h:212:33: note: candidate template ignored: invalid explicitly-specified argument for template parameter &apos;V&apos;
  212 | constexpr std::span&lt;const char&gt; enumName()
      |                                 ^
/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/EnumTraits.h:267:9: error: no matching function for call to &apos;enumName&apos;
  267 |         enumName&lt;static_cast&lt;E&gt;(static_cast&lt;std::underlying_type_t&lt;E&gt;&gt;(Is) + min)&gt;()...
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/EnumTraits.h:212:33: note: candidate template ignored: invalid explicitly-specified argument for template parameter &apos;V&apos;
  212 | constexpr std::span&lt;const char&gt; enumName()
      |                                 ^
/home/test/WebKitBuild/JSCOnly/Release/WTF/Headers/wtf/EnumTraits.h:267:9: error: no matching function for call to &apos;enumName&apos;
  267 |         enumName&lt;static_cast&lt;E&gt;(static_cast&lt;std::underlying_type_t&lt;E&gt;&gt;(Is) + min)&gt;()...
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2102926</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-03-13 08:19:45 -0700</bug_when>
    <thetext>Workaround, pass -DUSE_CXX_STDLIB_ASSERTIONS=NO to cmake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2102928</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-03-13 08:24:07 -0700</bug_when>
    <thetext>Nevermind... Well I don&apos;t know what&apos;s going on, not familiar enough with C++ templates machinery.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103038</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-13 13:05:42 -0700</bug_when>
    <thetext>*** Bug 289712 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103199</commentid>
    <comment_count>4</comment_count>
      <attachid>474566</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-13 21:58:50 -0700</bug_when>
    <thetext>Created attachment 474566
repro.cpp

I created a repro. Is this a clang-20 bug?
https://godbolt.org/z/hThvd3oP6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103200</commentid>
    <comment_count>5</comment_count>
    <who name="">katoshi1337</who>
    <bug_when>2025-03-13 22:04:38 -0700</bug_when>
    <thetext>Thanks a lot. I resolved the issue by compiling it with clang-19. My original report came from clang-21. I initially used clang-14 for compilation, which last worked around March 1st, but it broke due to a different issue. This led me to switch to clang-21 for testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103206</commentid>
    <comment_count>6</comment_count>
      <attachid>474567</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-13 22:33:32 -0700</bug_when>
    <thetext>Created attachment 474567
repro2.cpp

I created another repro.
https://godbolt.org/z/nYYM7nvYs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103805</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2025-03-17 12:40:09 -0700</bug_when>
    <thetext>Both of your reproducers notably fail to build when using older versions of Clang, but WebKit builds fine until Clang 20.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103813</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-17 13:06:33 -0700</bug_when>
    <thetext>Oh. You are right. I did a mistake while reducing. But, I think it points the problem.
Clang 20 can compile the upstream Magic Enum C++.
It checks if a enum value is valid.
https://github.com/Neargye/magic_enum/blob/a413fcc9c46a020a746907136a384c227f3cd095/include/magic_enum/magic_enum.hpp#L767</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103817</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-03-17 13:15:50 -0700</bug_when>
    <thetext>But our EnumTraits.h seems to have significantly diverged from upstream, hasn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103819</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-17 13:26:27 -0700</bug_when>
    <thetext>Yup. I&apos;m going to try manually import the part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103823</commentid>
    <comment_count>11</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2025-03-17 13:30:21 -0700</bug_when>
    <thetext>Our version is a semi-reimplementation to reduce compile times. That said, you could try `std::bit_cast` instead of `static_cast` and see if the issue goes away. It worked for the godbolt repro anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103851</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-17 15:23:20 -0700</bug_when>
    <thetext>I tried `std::bit_cast` approach. But, I got another error.
https://godbolt.org/z/j5s8TdqdT
I tried some ways to workaround this problem with std::bit_cast. But, no luck so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2103909</commentid>
    <comment_count>13</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-03-17 18:32:44 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/42597</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104125</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-03-18 12:36:19 -0700</bug_when>
    <thetext>Committed 292321@main (654f0c3862f7): &lt;https://commits.webkit.org/292321@main&gt;

Reviewed commits have been landed. Closing PR #42597 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104126</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-03-18 12:37:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/147340387&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>474566</attachid>
            <date>2025-03-13 21:58:50 -0700</date>
            <delta_ts>2025-03-13 21:58:50 -0700</delta_ts>
            <desc>repro.cpp</desc>
            <filename>repro.cpp</filename>
            <type>text/plain</type>
            <size>5914</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">I2luY2x1ZGUgPGFycmF5PgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y3N0ZGludD4K
I2luY2x1ZGUgPHNwYW4+CiNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KCm5hbWVzcGFjZSBXVEYgewoK
dGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBFbnVtVHJhaXRzOwp0ZW1wbGF0ZTx0eXBlbmFtZT4g
c3RydWN0IEVudW1UcmFpdHNGb3JQZXJzaXN0ZW5jZTsKCnRlbXBsYXRlPHR5cGVuYW1lIEUsIEUu
Li4+IHN0cnVjdCBFbnVtVmFsdWVzOwoKdGVtcGxhdGU8dHlwZW5hbWUgRSwgRS4uLiB2YWx1ZXM+
CnN0cnVjdCBFbnVtVmFsdWVzIHsKICAgIHN0YXRpYyBjb25zdGV4cHIgRSBtYXggPSBzdGQ6Om1h
eCh7IHZhbHVlcy4uLiB9KTsKICAgIHN0YXRpYyBjb25zdGV4cHIgRSBtaW4gPSBzdGQ6Om1pbih7
IHZhbHVlcy4uLiB9KTsKICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGNvdW50ID0gc2l6ZW9m
Li4uKHZhbHVlcyk7CgogICAgdGVtcGxhdGUgPHR5cGVuYW1lIENhbGxhYmxlPgogICAgc3RhdGlj
IHZvaWQgZm9yRWFjaChDYWxsYWJsZSYmIGMpCiAgICB7CiAgICAgICAgZm9yIChhdXRvIHZhbHVl
IDogeyB2YWx1ZXMuLi4gfSkKICAgICAgICAgICAgYyh2YWx1ZSk7CiAgICB9Cn07Cgp0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBFPiBzdHJ1Y3QgWmVyb0Jhc2VkQ29udGlndW91c0VudW1D
aGVja2VyOwoKdGVtcGxhdGU8dHlwZW5hbWUgRT4KY29uc3RleHByIHN0ZDo6c3Bhbjxjb25zdCBj
aGFyPiBlbnVtVHlwZU5hbWVJbXBsKCkKewogICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX2VudW1f
djxFPiwgImVudW1UeXBlTmFtZSByZXF1aXJlcyBhbiBlbnVtIHR5cGUuIik7CgojaWYgZGVmaW5l
ZChfX2NsYW5nX18pCiAgICBjb25zdCBzaXplX3QgcHJlZml4ID0gc2l6ZW9mKCJzdGQ6OnNwYW48
Y29uc3QgY2hhcj4gV1RGOjplbnVtVHlwZU5hbWVJbXBsKCkgW0UgPSAiKSAtIDE7CiAgICBjb25z
dCBzaXplX3Qgc3VmZml4ID0gc2l6ZW9mKCJdIikgLSAxOwogICAgc3RkOjpzcGFuPGNvbnN0IGNo
YXI+IG5hbWUgeyBfX1BSRVRUWV9GVU5DVElPTl9fICsgcHJlZml4LCBzaXplb2YoX19QUkVUVFlf
RlVOQ1RJT05fXykgLSBwcmVmaXggLSBzdWZmaXggLSAxIH07CiNlbGlmIGRlZmluZWQoX19HTlVD
X18pCiAgICBjb25zdCBzaXplX3QgcHJlZml4ID0gc2l6ZW9mKCJjb25zdGV4cHIgc3RkOjpzcGFu
PGNvbnN0IGNoYXI+IFdURjo6ZW51bVR5cGVOYW1lSW1wbCgpIFt3aXRoIGF1dG8gViA9ICIpIC0g
MTsKICAgIGNvbnN0IHNpemVfdCBzdWZmaXggPSBzaXplb2YoIl0iKSAtIDE7CiAgICBzdGQ6OnNw
YW48Y29uc3QgY2hhcj4gbmFtZSB7IF9fUFJFVFRZX0ZVTkNUSU9OX18gKyBwcmVmaXgsIHNpemVv
ZihfX1BSRVRUWV9GVU5DVElPTl9fKSAtIHByZWZpeCAtIHN1ZmZpeCAtIDEgfTsKI2Vsc2UKI2Vy
cm9yICJVbnN1cHBvcnRlZCBjb21waWxlciIKI2VuZGlmCiAgICBmb3IgKHNpemVfdCBpID0gbmFt
ZS5zaXplKCk7IGktLTspIHsKICAgICAgICBpZiAobmFtZVtpXSA9PSAnOicpCiAgICAgICAgICAg
IHJldHVybiBuYW1lLnN1YnNwYW4oaSArIDEpOwogICAgfQogICAgcmV0dXJuIG5hbWU7Cn0KdGVt
cGxhdGU8dHlwZW5hbWUgRT4KY29uc3RleHByIHN0ZDo6c3Bhbjxjb25zdCBjaGFyPiBlbnVtVHlw
ZU5hbWUoKQp7CiAgICBjb25zdGV4cHIgYXV0byByZXN1bHQgPSBlbnVtVHlwZU5hbWVJbXBsPHN0
ZDo6ZGVjYXlfdDxFPj4oKTsgLy8gRm9yY2UgdGhlIHNwYW4gdG8gYmUgZ2VuZXJhdGVkIGF0IGNv
bXBpbGUgdGltZS4KICAgIHJldHVybiByZXN1bHQ7Cn0KCnRlbXBsYXRlPGF1dG8gVj4KY29uc3Rl
eHByIHN0ZDo6c3Bhbjxjb25zdCBjaGFyPiBlbnVtTmFtZUltcGwoKQp7CiAgICBzdGF0aWNfYXNz
ZXJ0KHN0ZDo6aXNfZW51bV92PGRlY2x0eXBlKFYpPiwgImVudW1OYW1lIHJlcXVpcmVzIGFuIGVu
dW0gdHlwZS4iKTsKCiNpZiBkZWZpbmVkKF9fY2xhbmdfXykKICAgIGNvbnN0IHNpemVfdCBwcmVm
aXggPSBzaXplb2YoInN0ZDo6c3Bhbjxjb25zdCBjaGFyPiBXVEY6OmVudW1OYW1lSW1wbCgpIFtW
ID0gIikgLSAxOwogICAgY29uc3Qgc2l6ZV90IHN1ZmZpeCA9IHNpemVvZigiXSIpIC0gMTsKICAg
IGF1dG8gbmFtZSA9IHN0ZDo6c3BhbiB7IF9fUFJFVFRZX0ZVTkNUSU9OX18gfS5zdWJzcGFuKHBy
ZWZpeCwgc2l6ZW9mKF9fUFJFVFRZX0ZVTkNUSU9OX18pIC0gcHJlZml4IC0gc3VmZml4IC0gMSk7
CiAgICBpZiAobmFtZVswXSA9PSAnKCcgfHwgbmFtZVswXSA9PSAnLScgfHwgKCcwJyA8PSBuYW1l
WzBdICYmIG5hbWVbMF0gPD0gJzknKSkKICAgICAgICByZXR1cm4geyB9OwojZWxpZiBkZWZpbmVk
KF9fR05VQ19fKQogICAgY29uc3Qgc2l6ZV90IHByZWZpeCA9IHNpemVvZigiY29uc3RleHByIHN0
ZDo6c3Bhbjxjb25zdCBjaGFyPiBXVEY6OmVudW1OYW1lSW1wbCgpIFt3aXRoIGF1dG8gViA9ICIp
IC0gMTsKICAgIGNvbnN0IHNpemVfdCBzdWZmaXggPSBzaXplb2YoIl0iKSAtIDE7CiAgICBzdGQ6
OnNwYW48Y29uc3QgY2hhcj4gbmFtZSA9IHN0ZDo6c3BhbiB7IF9fUFJFVFRZX0ZVTkNUSU9OX18g
fS5zdWJzcGFuKHByZWZpeCwgc2l6ZW9mKF9fUFJFVFRZX0ZVTkNUSU9OX18pIC0gcHJlZml4IC0g
c3VmZml4IC0gMSk7CiAgICBpZiAobmFtZVswXSA9PSAnKCcpCiAgICAgICAgbmFtZSA9IHsgfTsK
I2Vsc2UKI2Vycm9yICJVbnN1cHBvcnRlZCBjb21waWxlciIKI2VuZGlmCiAgICBmb3IgKHN0ZDo6
c2l6ZV90IGkgPSBuYW1lLnNpemUoKTsgaS0tOykgewogICAgICAgIGlmIChuYW1lW2ldID09ICc6
JykKICAgICAgICAgICAgcmV0dXJuIG5hbWUuc3Vic3BhbihpICsgMSk7CiAgICB9CiAgICByZXR1
cm4gbmFtZTsKfQoKdGVtcGxhdGU8YXV0byBWPgpjb25zdGV4cHIgc3RkOjpzcGFuPGNvbnN0IGNo
YXI+IGVudW1OYW1lKCkKewogICAgY29uc3RleHByIGF1dG8gcmVzdWx0ID0gZW51bU5hbWVJbXBs
PFY+KCk7IC8vIEZvcmNlIHRoZSBzcGFuIHRvIGJlIGdlbmVyYXRlZCBhdCBjb21waWxlIHRpbWUu
CiAgICByZXR1cm4gcmVzdWx0Owp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBFPgpjb25zdGV4cHIgc3Rk
Ojp1bmRlcmx5aW5nX3R5cGVfdDxFPiBlbnVtTmFtZXNNaW4oKQp7CiAgICB1c2luZyBVbmRlcmx5
aW5nID0gc3RkOjp1bmRlcmx5aW5nX3R5cGVfdDxFPjsKCiAgICBpZiBjb25zdGV4cHIgKHJlcXVp
cmVzIHsgRW51bVRyYWl0czxFPjo6bWluOyB9KSB7CiAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmlzX3NhbWVfdjxzdGQ6OnJlbW92ZV9jdl90PGRlY2x0eXBlKEVudW1UcmFpdHM8RT46Om1pbik+
LCBVbmRlcmx5aW5nPiwKICAgICAgICAgICAgIkVudW1UcmFpdHM8RT46Om1pbiBtdXN0IGhhdmUg
dGhlIHNhbWUgdHlwZSBhcyB0aGUgdW5kZXJseWluZyB0eXBlIG9mIHRoZSBlbnVtLiIpOwogICAg
ICAgIHJldHVybiBFbnVtVHJhaXRzPEU+OjptaW47CiAgICB9CgogICAgLy8gRGVmYXVsdCBmb3Ig
Ym90aCBzaWduZWQgYW5kIHVuc2lnbmVkIGVudW1zLgogICAgcmV0dXJuIDA7Cn0KCnRlbXBsYXRl
PHR5cGVuYW1lIEU+CmNvbnN0ZXhwciBzdGQ6OnVuZGVybHlpbmdfdHlwZV90PEU+IGVudW1OYW1l
c01heCgpCnsKICAgIHVzaW5nIFVuZGVybHlpbmcgPSBzdGQ6OnVuZGVybHlpbmdfdHlwZV90PEU+
OwoKICAgIGlmIGNvbnN0ZXhwciAocmVxdWlyZXMgeyBFbnVtVHJhaXRzPEU+OjptYXg7IH0pIHsK
ICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfc2FtZV92PHN0ZDo6cmVtb3ZlX2N2X3Q8ZGVj
bHR5cGUoRW51bVRyYWl0czxFPjo6bWF4KT4sIFVuZGVybHlpbmc+LAogICAgICAgICAgICAiRW51
bVRyYWl0czxFPjo6bWF4IG11c3QgaGF2ZSB0aGUgc2FtZSB0eXBlIGFzIHRoZSB1bmRlcmx5aW5n
IHR5cGUgb2YgdGhlIGVudW0uIik7CiAgICAgICAgcmV0dXJuIEVudW1UcmFpdHM8RT46Om1heDsK
ICAgIH0KCiAgICBjb25zdGV4cHIgVW5kZXJseWluZyBkZWZhdWx0TWF4ID0gc3RkOjppc19zaWdu
ZWRfdjxVbmRlcmx5aW5nPgogICAgICAgID8gc3RhdGljX2Nhc3Q8VW5kZXJseWluZz4oSU5UOF9N
QVgpIDogc3RhdGljX2Nhc3Q8VW5kZXJseWluZz4oVUlOVDhfTUFYKTsKICAgIGNvbnN0ZXhwciBV
bmRlcmx5aW5nIGNvbXB1dGVkTWF4ID0gKHNpemVvZihFKSA+IDEpID8gc3RhdGljX2Nhc3Q8VW5k
ZXJseWluZz4oZGVmYXVsdE1heCA8PCAxKSA6IGRlZmF1bHRNYXg7CiAgICByZXR1cm4gY29tcHV0
ZWRNYXg7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIEU+CmNvbnN0ZXhwciBzaXplX3QgZW51bU5hbWVz
U2l6ZSgpCnsKICAgIHVzaW5nIFVuZGVybHlpbmcgPSBzdGQ6OnVuZGVybHlpbmdfdHlwZV90PEU+
OwogICAgdXNpbmcgVW5zaWduZWQgPSBzdGQ6Om1ha2VfdW5zaWduZWRfdDxVbmRlcmx5aW5nPjsK
CiAgICBjb25zdGV4cHIgVW5kZXJseWluZyBtaW4gPSBlbnVtTmFtZXNNaW48RT4oKTsKICAgIGNv
bnN0ZXhwciBVbmRlcmx5aW5nIG1heCA9IGVudW1OYW1lc01heDxFPigpOwogICAgc3RhdGljX2Fz
c2VydChtaW4gPD0gbWF4LCAiSW52YWxpZCBlbnVtIHJhbmdlOiBtaW4gbXVzdCBiZSA8PSBtYXgu
Iik7CiAgICByZXR1cm4gc3RhdGljX2Nhc3Q8c2l6ZV90PihzdGF0aWNfY2FzdDxVbnNpZ25lZD4o
bWF4IC0gbWluKSkgKyAxOwp9Cgp0ZW1wbGF0ZTx0eXBlbmFtZSBFLCBzaXplX3QuLi4gSXM+CmNv
bnN0ZXhwciBhdXRvIG1ha2VFbnVtTmFtZXMoc3RkOjppbmRleF9zZXF1ZW5jZTxJcy4uLj4pCnsK
ICAgIGNvbnN0ZXhwciBhdXRvIG1pbiA9IGVudW1OYW1lc01pbjxFPigpOwogICAgcmV0dXJuIHN0
ZDo6YXJyYXk8c3RkOjpzcGFuPGNvbnN0IGNoYXI+LCBzaXplb2YuLi4oSXMpPiB7CiAgICAgICAg
ZW51bU5hbWU8c3RhdGljX2Nhc3Q8RT4oc3RhdGljX2Nhc3Q8c3RkOjp1bmRlcmx5aW5nX3R5cGVf
dDxFPj4oSXMpICsgbWluKT4oKS4uLgogICAgfTsKfQoKdGVtcGxhdGU8dHlwZW5hbWUgRT4KY29u
c3RleHByIGF1dG8gZW51bU5hbWVzKCkKewogICAgY29uc3RleHByIHNpemVfdCBzaXplID0gZW51
bU5hbWVzU2l6ZTxFPigpOwogICAgcmV0dXJuIG1ha2VFbnVtTmFtZXM8RT4oc3RkOjptYWtlX2lu
ZGV4X3NlcXVlbmNlPHNpemU+IHsgfSk7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lIEU+CmNvbnN0ZXhw
ciBzdGQ6OnNwYW48Y29uc3QgY2hhcj4gZW51bU5hbWUoRSB2KQp7CiAgICBzdGF0aWNfYXNzZXJ0
KHN0ZDo6aXNfZW51bV92PEU+LCAiZW51bU5hbWUgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGVudW0g
dHlwZXMuIik7CgogICAgdXNpbmcgVW5kZXJseWluZyA9IHN0ZDo6dW5kZXJseWluZ190eXBlX3Q8
RT47CiAgICB1c2luZyBVbnNpZ25lZCA9IHN0ZDo6bWFrZV91bnNpZ25lZF90PFVuZGVybHlpbmc+
OwoKICAgIGNvbnN0ZXhwciBhdXRvIG5hbWVzID0gZW51bU5hbWVzPEU+KCk7CiAgICBjb25zdGV4
cHIgVW5kZXJseWluZyBtaW4gPSBlbnVtTmFtZXNNaW48RT4oKTsKICAgIGNvbnN0ZXhwciBVbmRl
cmx5aW5nIG1heCA9IGVudW1OYW1lc01heDxFPigpOwoKICAgIFVuZGVybHlpbmcgdmFsdWUgPSBz
dGF0aWNfY2FzdDxVbmRlcmx5aW5nPih2KTsKICAgIGlmICh2YWx1ZSA8IG1pbiB8fCB2YWx1ZSA+
IG1heCkKICAgICAgICByZXR1cm4geyAiZW51bSBvdXQgb2YgcmFuZ2UiIH07CgogICAgLy8gQ29t
cHV0ZSBpbmRleCBzYWZlbHkgdXNpbmcgdW5zaWduZWQgZXh0ZW5zaW9uLgogICAgc2l6ZV90IGlu
ZGV4ID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihzdGF0aWNfY2FzdDxVbnNpZ25lZD4odmFsdWUgLSBt
aW4pKTsKICAgIHJldHVybiBuYW1lc1tpbmRleF07Cn0KCn0gLy8gbmFtZXNwYWNlIFdURgoKZW51
bSBOb25DbGFzc011bHRpV29yZCB7CiAgICBGb29CYXIsCn07Cgp2b2lkIHRlc3QoKQp7CiAgICBj
b25zdGV4cHIgYXV0byB4ID0gV1RGOjplbnVtTmFtZShGb29CYXIpOwp9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>474567</attachid>
            <date>2025-03-13 22:33:32 -0700</date>
            <delta_ts>2025-03-13 22:33:32 -0700</delta_ts>
            <desc>repro2.cpp</desc>
            <filename>repro2.cpp</filename>
            <type>text/plain</type>
            <size>342</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">I2luY2x1ZGUgPGlvc3RyZWFtPgoKZW51bSBOb25DbGFzc011bHRpV29yZCB7CiAgICBGb29CYXIs
Cn07Cgp0ZW1wbGF0ZTxhdXRvIFY+CmNvbnN0ZXhwciBhdXRvIGcoKQp7CiAgICByZXR1cm4gVjsK
fQoKaW50IG1haW4oKQp7CiAgICBzdGQ6OmNvdXQgPDwgZzxzdGF0aWNfY2FzdDxOb25DbGFzc011
bHRpV29yZD4oMCk+KCkgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8IGc8c3RhdGljX2Nh
c3Q8Tm9uQ2xhc3NNdWx0aVdvcmQ+KDEpPigpIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8
PCBnPHN0YXRpY19jYXN0PE5vbkNsYXNzTXVsdGlXb3JkPigyKT4oKSA8PCBzdGQ6OmVuZGw7Cn0K
</data>

          </attachment>
      

    </bug>

</bugzilla>