[Mesa-dev] [PATCH] glsl: do not show locp information if it is not available

Juan A. Suarez Romero jasuarez at igalia.com
Mon Oct 31 15:51:02 UTC 2016


On Wed, 2016-10-26 at 13:42 +0200, Juan A. Suarez Romero wrote:
> Ignore source file, line number and column in glcpp_error() and
> glcpp_warning() if those are not available.
> 
> It fixes 4 piglit tests:
>   spec/glsl-1.10/compiler/version-0.frag: crash pass
>   spec/glsl-1.10/compiler/version-0.vert: crash pass
>   spec/glsl-es-3.00/compiler/version-0.frag: crash pass
>   spec/glsl-es-3.00/compiler/version-0.vert: crash pass
> 
> V2:
>  - Use brackets (Timothy)
> ---
>  src/compiler/glsl/glcpp/pp.c | 43 +++++++++++++++++++++++++++++-----
> ---------
>  1 file changed, 29 insertions(+), 14 deletions(-)
> 
> diff --git a/src/compiler/glsl/glcpp/pp.c
> b/src/compiler/glsl/glcpp/pp.c
> index b591279..ab6a214 100644
> --- a/src/compiler/glsl/glcpp/pp.c
> +++ b/src/compiler/glsl/glcpp/pp.c
> @@ -32,13 +32,21 @@ glcpp_error (YYLTYPE *locp, glcpp_parser_t
> *parser, const char *fmt, ...)
>  	va_list ap;
>  
>  	parser->error = 1;
> -	ralloc_asprintf_rewrite_tail(&parser->info_log,
> -				     &parser->info_log_length,
> -				     "%u:%u(%u): "
> -				     "preprocessor error: ",
> -				     locp->source,
> -				     locp->first_line,
> -				     locp->first_column);
> +
> +        if (locp) {
> +           ralloc_asprintf_rewrite_tail(&parser->info_log,
> +                                        &parser->info_log_length,
> +                                        "%u:%u(%u): "
> +                                        "preprocessor error: ",
> +                                        locp->source,
> +                                        locp->first_line,
> +                                        locp->first_column);
> +        } else {
> +           ralloc_asprintf_rewrite_tail(&parser->info_log,
> +                                        &parser->info_log_length,
> +                                        "preprocessor error: ");
> +        }
> +
>  	va_start(ap, fmt);
>  	ralloc_vasprintf_rewrite_tail(&parser->info_log,
>  				      &parser->info_log_length,
> @@ -53,13 +61,20 @@ glcpp_warning (YYLTYPE *locp, glcpp_parser_t
> *parser, const char *fmt, ...)
>  {
>  	va_list ap;
>  
> -	ralloc_asprintf_rewrite_tail(&parser->info_log,
> -				     &parser->info_log_length,
> -				     "%u:%u(%u): "
> -				     "preprocessor warning: ",
> -				     locp->source,
> -				     locp->first_line,
> -				     locp->first_column);
> +        if (locp) {
> +           ralloc_asprintf_rewrite_tail(&parser->info_log,
> +                                        &parser->info_log_length,
> +                                        "%u:%u(%u): "
> +                                        "preprocessor warning: ",
> +                                        locp->source,
> +                                        locp->first_line,
> +                                        locp->first_column);
> +        } else {
> +           ralloc_asprintf_rewrite_tail(&parser->info_log,
> +                                        &parser->info_log_length,
> +                                        "preprocesor warning: ");
> +        }
> +
>  	va_start(ap, fmt);
>  	ralloc_vasprintf_rewrite_tail(&parser->info_log,
>  				      &parser->info_log_length,


Timothy, can this be considered as Reviewed-by: you?

Thanks in advance!

	J.A.


More information about the mesa-dev mailing list