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

            Bug ID: 99344
           Summary: [modules] import failure with intermediate namespace
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

found during work on 99170

// bug_a.ii
module ;

# 4 "bug_a.ii" 1

namespace STD::RANGES::INNER
{
void Frob ();
}

struct gnu_char_traits
{
  void Frob()
  {
    STD::RANGES::INNER::Frob ();
  }
};

# 19 "" 2

export  module  hello;
export void greeter (gnu_char_traits const &name);

// bug_b.ii
import  hello;

/cc1plus -quiet -fmodules-ts bug_a.ii -fdump-lang-module -dumpbase a &&
./cc1plus -quiet -fmodules-ts bug_b.ii -fdump-lang-module -dumpbase b
In module imported at bug_b.ii:1:1:
hello: error: failed to read compiled module: Bad file data
hello: note: compiled module file is 'gcm.cache/hello.gcm'
hello: fatal error: returning to the gate for a mechanical issue
compilation terminated.

We think RANGES is an xref'd namespace :(

Reply via email to