[Mesa-dev] [PATCH] glsl: do not show locp information if it is not available
Timothy Arceri
timothy.arceri at collabora.com
Tue Nov 1 02:06:14 UTC 2016
On Mon, 2016-10-31 at 16:51 +0100, Juan A. Suarez Romero wrote:
> 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?
I was hoping someone else would comment as I wasn't sure this was the
right fix.
I'm not sure just showing "preprocessor error: " is the right solution.
However I haven't looked into it enough to suggest anything else.
What do others think?
>
> Thanks in advance!
>
> J.A.
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list