[Mesa-dev] [PATCH] glsl: do not show locp information if it is not available
Juan A. Suarez Romero
jasuarez at igalia.com
Wed Oct 26 11:42:32 UTC 2016
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,
--
2.7.4
More information about the mesa-dev
mailing list