https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99413
Bug ID: 99413 Summary: internal library headers are not header-unit ready Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: nathan at gcc dot gnu.org Target Milestone: --- We're attempting to build the std library as a bunch of header-units. The include graph partitioner naturally discovers that internal headers from bits/ are included everywhere, and should therefore be header-units themselves. But several (many?, most?) are not stand alone, and expect their includer to have included some necessary definitions. The ones we've hit so far are[*] bits/predefined_ops.h:153:9: error: '_GLIBCXX14_CONSTEXPR' does not name a type bits/functional_hash.h:71:31: error: '__void_t' was not declared in this scope bits/range_access.h:179:33: error: 'reverse_iterator' does not name a type [*] for reasons we're stuck with gcc-9 era libstdc++.