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

            Bug ID: 112899
           Summary: odr-using constexpr static data member of class
                    exported from module results in linker error
           Product: gcc
           Version: 13.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: michael.kenzel at gmail dot com
  Target Milestone: ---

The following example will reproduce the issue:

    // A.ixx
    export module A;

    export struct A
    {
        static constexpr int blub = -1;
    };

    // main.cpp
    import A;

    int main()
    {
        const int& x = A::blub;
    }

compile with
    g++ -std=c++23 -fmodules-ts -c -x c++ A.ixx
    g++ -std=c++23 -fmodules-ts main.cpp A.o

results in
    main.cpp:(.text+0x4): undefined reference to `A@A::blub'

Reply via email to