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

Ian Romanick idr at freedesktop.org
Thu Nov 3 19:23:26 UTC 2016


On 10/31/2016 07:06 PM, Timothy Arceri wrote:
> 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?

I was thinking the same thing.  Maybe just use 0 for all the values?
That way the formatting will at least match.

I'm also a little curious how we get to this point with locp being NULL.
 Some commentary about that should at least go in the commit message.

>> Thanks in advance!
>>
>> 	J.A.
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> 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