<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/115403>115403</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang: __PRETTY_FUNCTION__ does not show enum label
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          alexolog
      </td>
    </tr>
</table>

<pre>
    Please see the following code:

<details>
<summary>Code</summary>

        #include <print>
        
        template<typename> struct S1 { enum class E { A }; };
        template<typename> struct S2 { enum class E { A }; };
        using E1 = S1<int>::E;
        using E2 = S2<int>::E;
        
        template <auto v>
        constexpr auto f() noexcept {
        #ifdef _MSC_VER
            return std::string_view{__FUNCSIG__, sizeof(__FUNCSIG__)};
        #else
         return std::string_view{__PRETTY_FUNCTION__, sizeof(__PRETTY_FUNCTION__)};
        #endif
        }
        
        int main() {
            std::println("Straight:   {}", f<static_cast<E1>(0)>());
        
            (void) E2::A; // Now it suddenly works
            std::println("Workaround: {}", f<static_cast<E2>(0)>());
        }

</details>

<details>
<summary>Results</summary>

Clang:

        Straight: auto f() [v = (S1<int>::E)0]
        Workaround: auto f() [v = S2<int>::E::A]

GCC:

        Straight:   constexpr auto f() [with auto v = S1<int>::E::A]
        Workaround: constexpr auto f() [with auto v = S2<int>::E::A]

MSVC:

        Straight:   auto __cdecl f<S1<int>::E::A>(void) noexcept
        Workaround: auto __cdecl f<S2<int>::E::A>(void) noexcept

</details>

The problem manifests with a scoped enum wrapped in a templated struct.
GCC and MSVC do not exhibit the issue.

This issue interferes with the "Magic enums" library
See https://github.com/Neargye/magic_enum/issues/164
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVsFy4jgQ_Rpx6RrKbuPBPvgABqbmkOxUyM7WnlzCbhvtyBYlyZDs109JJiEkhGQuWLSk956fulvmxoimI8pYPGfxYsR7u1U645IelFTNaKOqx-yHJG4IDBHYLUGtpFQH0TVQqopYNGPBggVPv1FekeVCGhYtn0Omb1uuH1m0zP2WnOHqFDvbH6QMI9GVsq8IWJTvtOjsi0Xp88BSu5PcOjj7uKOOt8SiJRir-9LCOgQ2nQN1fQul5MbA0gdmwKYLFs2Pj8-i4Z-h9cb5swyBRQtYhyzKj28RzVg0W15YisNSvLb0jVhnEO-tgv1Lh0rVGUsPOw1-rmaYMEyhU_RQ0s464Wdm1xXVUNys8-Ln8u55BgBAk-11B8ZWgxpjteiaYi_owKbzolj9fZuvv38rCoY5GPE_KUd2Fk9fOcMwImnoRPMRx4-75f39vx7y_vtft2-4Lsxf4uwqUZ8C08VbU0VnoeWiO9r10iXnxbNAn5FyWIZrq7lotpZFMwC_Z7pgiE5j7RLfcivKouTGsihfhu6YMAmcRD9yAze-cMaOk2GyV6JycpY4sM98tuGK4Qpu1QGEBdNXFXXyEQ5K_zKfEP2P0r-4Vn3nJj8UjZ8QffLzWPEMV2_6wKcaxB2ZXlpzrUfkknfN674TpC-P4izxWTzf--pimFyoRUwDFp_y4dycy0CXynQ4nPjMiG95fl0nwDvFyuL5QdjtENy_20Zek75S_wfgn3yjm_XPD1_JwxZFWVEpfUK9r9zn01OKPzWoa0dxBvuu5quwH2Xo_ZZgp9VGUgst70RNxhoYDANTqh1Vw0Vw0Hzn_ogOODy15Op4ZYyfMwB4V4HzDSoFnbJAD1uxEdZfpsKYnsbn9MIMYRCdJV2TpiO928AQb3gjSi_BMESQYqNdkfjdayLYWrszzgrfJRpht_1mXKqW4eqWuG4eieGqdSCFA2G48nSG4Sr8OhlVWVSlUcpHlIXTKAxwGgTJaJuVSUhlHE0onk4pTTd1PJ0kFFE9KTlukmAkMgxwEoZBEgRxECTj6mu9SXGKvKxSTDBmk4BaLuRYyn07VroZeeIsDONJEI0k35A0_lMEsfRFjui-SnTmNnzZ9I1hk0AKY80JwgorKXvqCXDhQoBKkfHOm606DGfnuUa9ltkVtxzH8fFlp9V_VNozswbZ-wx_BwAA___6B6Yk">