791785c2b4
Currently, it's always initialized to 0, but we should take the value from
the grouping passed to the macro. This way parser will have the full
location info, and errors originating from it will show the correct
source file number.
Fixes: a0cfe8c4 ("glsl: Fix missing initialization of yylloc.source")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9229
Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23966>
glcpp -- GLSL "C" preprocessor This is a simple preprocessor designed to provide the preprocessing needs of the GLSL language. The requirements for this preprocessor are specified in the GLSL 1.30 specification availble from: http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.10.pdf This specification is not precise on some semantics, (for example, #define and #if), defining these merely "as is standard for C++ preprocessors". To fill in these details, I've been using a draft of the C99 standard as available from: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf Any downstream compiler accepting output from glcpp should be prepared to encounter and deal with the following preprocessor macros: #line #pragma #extension All other macros will be handled according to the GLSL specification and will not appear in the output. Known limitations ----------------- A file that ends with a function-like macro name as the last non-whitespace token will result in a parse error, (where it should be passed through as is).