https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104919
Bug ID: 104919 Summary: [modules] enum in constexpr function causes "failed to read compiled module cluster 1: Bad file data" Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ensadc at mailnesia dot com Target Milestone: --- https://godbolt.org/z/d3sdeEz1r ==== $ cat mod.cpp export module mod; export constexpr void f() { enum { a }; a; } $ cat example.cpp import mod; int main() { f(); } $ g++ -std=c++20 -fmodules-ts mod.cpp example.cpp In module imported at example.cpp:1:1: mod: In function ‘int main()’: mod: error: failed to read compiled module cluster 1: Bad file data mod: note: compiled module file is ‘gcm.cache/mod.gcm’ example.cpp:4:5: fatal error: failed to load binding ‘::f@mod’ 4 | f(); | ^ compilation terminated. ==== It compiles fine without `constexpr`.