https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123752
--- Comment #8 from John Drouhard <john at drouhard dot dev> --- (In reply to Jakub Jelinek from comment #7) > (In reply to John Drouhard from comment #6) > > (In reply to Boris Staletic from comment #3) > > > > test.cpp:7:3: error: uncaught exception of type 'std::meta::exception'; > > > > 'what()': 'neither name nor bit_width specified' > > > > > > That's expected. It's a later change in the proposal that clang-p2996 fork > > > has not implemented. > > > > > > An empty name implies an anonymous bit field. An empty bit_width implies a > > > non-bit field. > > > > Ok, that seems like an invalid assumption. > > No, it is a requirement of the standard. Right :) I realize that, sorry I phrased my reply that way since I'm actually just curious what the discussions behind the decision to put it in the standard were. You can use a placeholder name (as you suggested), but that seems like a workaround for something that should actually be optional (the name). Either way, thanks for pointing out that it's there. Should I open another bug to track the ICE, or do you just want to use this bug to track that since the original bug is actually not a bug?
