> > This patch adds support for serializing and deserializing SPLICE_SCOPE > > trees in > > C++20 modules implementation. SPLICE_SCOPE is introduced by C++26 > > reflection, > > notably used for dependent splice types, thus needing to be > > exported/imported > > as part of the module interface. Not handling SPLICE_SCOPE leads to ICE. > > > Is there a bug report for this ICE? I don't remember seeing it.
Not really. There are some other Bugzilla entries for other refl + module ICEs, but not this one. This one is caused by the `gcc_unreachable ()` of meeting unknown tree node while serializing/deserializing CMI. I thought about reporting it but I figured it's easier to just patch it. > The patch generally looks right, but due to word wrap I couldn't > apply it. You can attach the patch to avoid that. Thanks. > Doesn't the test need -std=c++26 -freflection? But even with that, > the static_asserts in the other tests fail. How has this patch been > tested? You may have to add dealias. Yes, exactly. `deailas`. I am bad at git and didn't include that in the patch. T_T My computer kinda bad so I didn't run it in GCC. The test code was tested as standalone code. > > \ No newline at end of file > > > Please add the newline here, and also in splice-scope-tree_b.C. I will, thanks. Actually, I just realized I didn't format-patch the `dealias` in and sent a v2 patch. I'll be sending a v3 patch now. Sry.
