glsl: Merge "candidates are: " message to the previous line.
Previously, when we hit a "no matching function" error, it looked like: 0:0(0): error: no matching function for call to `cos()' 0:0(0): error: candidates are: float cos(float) 0:0(0): error: vec2 cos(vec2) 0:0(0): error: vec3 cos(vec3) 0:0(0): error: vec4 cos(vec4) Now it looks like: 0:0(0): error: no matching function for call to `cos()'; candidates are: 0:0(0): error: float cos(float) 0:0(0): error: vec2 cos(vec2) 0:0(0): error: vec3 cos(vec3) 0:0(0): error: vec4 cos(vec4) This is not really any worse and removes the need for the prefix variable. It will also help with the next commit's refactoring. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
e5e191a6b1
commit
e04a97ff23
|
@ -432,11 +432,11 @@ no_matching_function_error(const char *name,
|
|||
_mesa_glsl_parse_state *state)
|
||||
{
|
||||
char *str = prototype_string(NULL, name, actual_parameters);
|
||||
_mesa_glsl_error(loc, state, "no matching function for call to `%s'", str);
|
||||
_mesa_glsl_error(loc, state,
|
||||
"no matching function for call to `%s'; candidates are:",
|
||||
str);
|
||||
ralloc_free(str);
|
||||
|
||||
const char *prefix = "candidates are: ";
|
||||
|
||||
for (int i = -1; i < (int) state->num_builtins_to_link; i++) {
|
||||
glsl_symbol_table *syms = i >= 0 ? state->builtins_to_link[i]->symbols
|
||||
: state->symbols;
|
||||
|
@ -451,10 +451,8 @@ no_matching_function_error(const char *name,
|
|||
continue;
|
||||
|
||||
str = prototype_string(sig->return_type, f->name, &sig->parameters);
|
||||
_mesa_glsl_error(loc, state, "%s%s", prefix, str);
|
||||
_mesa_glsl_error(loc, state, " %s", str);
|
||||
ralloc_free(str);
|
||||
|
||||
prefix = " ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue