The implementation of compound literals introduced in [r15287] struggles with compound literals used in a context that requires a constant expression.
This is not particularly relevant in practice, because no reasonable programmer initializes a global variable with an initializer list wrapped in a compound literal rather than the naked initializer list, but we still need to support it for standard compliance reasons.
Furthermore, this can be trivially fixed once [feature-requests:#850], i.e. C23 constexpr, is implemented. It therefore makes no sense to handle it separately.
Bugs: #3886
Commit: [r15287]
Feature Requests: #332
Feature Requests: #850
Wiki: NGI0-Commons-SDCC
Wiki: SDCC 4.6.0 Release
Wiki: SDCC 4.7.0 Release