[Mesa-dev] [PATCH 3/3] glcpp: Define dummy __LINE__ and __FILE__ macros
Ian Romanick
idr at freedesktop.org
Tue Nov 27 11:58:19 PST 2012
On 11/26/2012 02:30 PM, Matt Turner wrote:
> This is at least better than failing to compile the shader.
>
> I think this is a pretty clear indication that app developers think
> these macros are about as useful as the rest of us.
I think the rest of us are pretty useful. :)
Since we maintain line and "file" information for generating error
messages, how hard would it be to just fix this?
> Works around es3conform's silly preprocess2_frag and preprocess16_frag
> tests.
> ---
> src/glsl/glcpp/README | 4 ++--
> src/glsl/glcpp/glcpp-parse.y | 3 +++
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/src/glsl/glcpp/README b/src/glsl/glcpp/README
> index 0b5ef50..592d073 100644
> --- a/src/glsl/glcpp/README
> +++ b/src/glsl/glcpp/README
> @@ -25,8 +25,8 @@ and will not appear in the output.
>
> Known limitations
> -----------------
> -The __LINE__ and __FILE__ macros are not yet supported.
> +The __LINE__ and __FILE__ macros always evaluate to zero.
>
> 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).
> \ No newline at end of file
> +passed through as is).
> diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
> index f62cbe4..e09de94 100644
> --- a/src/glsl/glcpp/glcpp-parse.y
> +++ b/src/glsl/glcpp/glcpp-parse.y
> @@ -1186,6 +1186,9 @@ glcpp_parser_create (const struct gl_extensions *extensions, int api)
>
> language_version = 110;
> add_builtin_define(parser, "__VERSION__", language_version);
> + /* FINISHME */
> + add_builtin_define(parser, "__FILE__", 0);
> + add_builtin_define(parser, "__LINE__", 0);
>
> return parser;
> }
>
More information about the mesa-dev
mailing list