[qfcc] Add constexpr initializers to the ctor list

So far, this affects only glsl (because only glsl marks expressions as
constexpr), but it does get specialization constant initializers for
global variables working.
This commit is contained in:
Bill Currie 2024-10-01 17:10:00 +09:00
parent f73e1bf353
commit 5a9ef35199

View file

@ -637,6 +637,9 @@ initialize_def (symbol_t *sym, const expr_t *init, defspace_t *space,
init = assign_expr (new_symbol_expr (sym), init);
// fold_constants takes care of int/float conversions
append_expr (local_expr, fold_constants (init));
} else if (is_constexpr (init)) {
init = assign_expr (new_symbol_expr (sym), init);
add_ctor_expr (init);
} else {
if (!is_constant (init)) {
error (init, "non-constant initializier");