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

            Bug ID: 120195
           Summary: [modules] export using of purview 'extern "C++"'
                    declaration not bound in importers
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nshead at gcc dot gnu.org
            Blocks: 103524
  Target Milestone: ---

Consider:

  // a.cpp
  export module M;
  extern "C++" void foo();
  export using ::foo;

  // b.cpp
  import M;
  int main() { foo(); }

$ g++ -fmodules -S a.cpp b.cpp
b.cpp: In function ‘int main()’:
b.cpp:2:14: error: ‘foo’ was not declared in this scope
    2 | int main() { foo(); }
      |              ^~~

Note that this works if 'foo' had been defined in the GMF instead of within the
module purview.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103524
[Bug 103524] [meta-bug] modules issue

Reply via email to