diff --git a/tools/qfcc/include/rua-lang.h b/tools/qfcc/include/rua-lang.h index dc2f5a7e0..04f6b6e81 100644 --- a/tools/qfcc/include/rua-lang.h +++ b/tools/qfcc/include/rua-lang.h @@ -197,6 +197,7 @@ const char *rua_keyword_get_key (const void *dir, void *unused) __attribute__((p typedef struct language_s { bool initialized; + bool always_override; void (*init) (void); int (*parse) (FILE *in); int (*finish) (const char *file); diff --git a/tools/qfcc/source/function.c b/tools/qfcc/source/function.c index 77c6cfa73..4fbb56885 100644 --- a/tools/qfcc/source/function.c +++ b/tools/qfcc/source/function.c @@ -540,7 +540,7 @@ get_function (const char *name, const type_t *type, specifier_t spec) return nullptr; } - bool overload = spec.is_overload; + bool overload = spec.is_overload | current_language.always_override; const char *full_name; full_name = save_string (va (0, "%s|%s", name, encode_params (type))); diff --git a/tools/qfcc/source/glsl-parse.y b/tools/qfcc/source/glsl-parse.y index e493b0831..7e0bfc284 100644 --- a/tools/qfcc/source/glsl-parse.y +++ b/tools/qfcc/source/glsl-parse.y @@ -1811,6 +1811,7 @@ glsl_version (int version, const char *profile) } language_t lang_glsl_comp = { + .always_override = true, .init = glsl_init_comp, .parse = glsl_yyparse, .extension = glsl_extension, @@ -1821,6 +1822,7 @@ language_t lang_glsl_comp = { }; language_t lang_glsl_vert = { + .always_override = true, .init = glsl_init_vert, .parse = glsl_yyparse, .extension = glsl_extension, @@ -1831,6 +1833,7 @@ language_t lang_glsl_vert = { }; language_t lang_glsl_tesc = { + .always_override = true, .init = glsl_init_tesc, .parse = glsl_yyparse, .extension = glsl_extension, @@ -1841,6 +1844,7 @@ language_t lang_glsl_tesc = { }; language_t lang_glsl_tese = { + .always_override = true, .init = glsl_init_tese, .parse = glsl_yyparse, .extension = glsl_extension, @@ -1851,6 +1855,7 @@ language_t lang_glsl_tese = { }; language_t lang_glsl_geom = { + .always_override = true, .init = glsl_init_geom, .parse = glsl_yyparse, .extension = glsl_extension, @@ -1861,6 +1866,7 @@ language_t lang_glsl_geom = { }; language_t lang_glsl_frag = { + .always_override = true, .init = glsl_init_frag, .parse = glsl_yyparse, .extension = glsl_extension,