[Mesa-dev] [PATCH 3/6] glsl: Merge "candidates are: " message to the previous line.
Chris Forbes
chrisf at ijw.co.nz
Sat Nov 23 14:34:21 PST 2013
One would hope that it doesn't actually offer overloads of sin() when
you tried to call cos()?
Actual change looks good;
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
On Sun, Nov 24, 2013 at 10:43 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> 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
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list