[qfcc] Make requiring @overload a language feature

Ruamoko still needs @overload (for now), but now glsl does not.
This commit is contained in:
Bill Currie 2024-11-18 22:46:14 +09:00
parent 393f669864
commit 943cf9659b
3 changed files with 8 additions and 1 deletions

View file

@ -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);

View file

@ -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)));

View file

@ -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,