diff --git a/tools/qfcc/source/qc-parse.y b/tools/qfcc/source/qc-parse.y index 26ba538be..32025eafa 100644 --- a/tools/qfcc/source/qc-parse.y +++ b/tools/qfcc/source/qc-parse.y @@ -409,10 +409,14 @@ var_initializer def_initialized ($0); } else { if ($2->type >= ex_string) { - if ($0->type->type == ev_func) { - PARSE_ERROR; + if ($0->constant) { + error ($2, "%s re-initialized", $0->name); } else { - ReuseConstant ($2, $0); + if ($0->type->type == ev_func) { + PARSE_ERROR; + } else { + ReuseConstant ($2, $0); + } } } else { error ($2, "non-constant expression used for initializer");