https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124119

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <[email protected]>:

https://gcc.gnu.org/g:49d997554d4d526cfce7f8384584c081ed3577c9

commit r16-7540-g49d997554d4d526cfce7f8384584c081ed3577c9
Author: Jakub Jelinek <[email protected]>
Date:   Tue Feb 17 09:00:08 2026 +0100

    c++: Fix up is_type_alias2.C testcase for Solaris [PR124119]

    Given https://eel.is/c++draft/expr.reflect#5.1
    we error on
    typedef __SIZE_TYPE__ A;
    namespace B {
      using ::A;
      typedef __SIZE_TYPE__ C;
    }
    using B::C;
    constexpr auto a = ^^A;
    constexpr auto b = ^^B::A;
    constexpr auto c = ^^B::C;
    constexpr auto d = ^^C;
    on ^^B::A and ^^C (note, clang++ fork only errors on ^^B::A).
    Now, whether size_t is
    typedef __SIZE_TYPE__ size_t;
    namespace std {
      using ::size_t;
    }
    or
    namespace std {
      typedef __SIZE_TYPE__ size_t;
    }
    using std::size_t;
    depends on the target and clearly is the latter on Solaris, so testing
    whether ^^size_t is a type alias doesn't work there - it is found as
    a using decl there.
    So  the following patch stops testing it for size_t and tests yet another
    user alias (a typedef is already tested - ^^T).

    2026-02-17  Jakub Jelinek  <[email protected]>

            PR c++/124119
            * g++.dg/reflect/is_type_alias2.C (W): New type alias.
            Assert is_type_alias (^^W).  Don't assert is_type_alias (^^size_t).

Reply via email to