[Mesa-dev] [PATCH 3/6] glsl: Merge "candidates are: " message to the previous line.
Kenneth Graunke
kenneth at whitecape.org
Sat Nov 23 13:43:12 PST 2013
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 sin(float)
0:0(0): error: vec2 sin(vec2)
0:0(0): error: vec3 sin(vec3)
0:0(0): error: vec4 sin(vec4)
Now it looks like:
0:0(0): error: no matching function for call to `cos()'; candidates are:
0:0(0): error: float sin(float)
0:0(0): error: vec2 sin(vec2)
0:0(0): error: vec3 sin(vec3)
0:0(0): error: vec4 sin(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 at whitecape.org>
---
src/glsl/ast_function.cpp | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp
index 82456ad..6def25a 100644
--- a/src/glsl/ast_function.cpp
+++ b/src/glsl/ast_function.cpp
@@ -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 = " ";
}
}
}
--
1.8.4.4
More information about the mesa-dev
mailing list