[Mesa-dev] Mesa (master): glsl: do not use deprecated bison-keyword

Erik Faye-Lund erik.faye-lund at collabora.com
Wed May 22 06:54:48 UTC 2019


I ended up reverting the change, and I can't find an obcious way to
support both old and new versions with the same source file.

The Android SDK also ships a pre-3.x version of Bison, so you're not
the only one affected. Also, Chocolatey doesn't provide a new enough
version of Bison for Windows either.

The problem is that Bison doesn't seem to have any mechanism for doing
statements like these conditionally. The only way around that that I
can see is to pre-process the source files somehow. But especially with
three different build systems, that's not really a venue I find
particularly attractive. If someone can think of a neat solution, I
would certainly love to hear about it :)

For now I guess we can just live with the warning. But whenever the
Bison devs decide to remove support for %error-verbose, I fear that
we'll either have to drop support for older versions or live with pre-
processing.

We can cross that bridge when we get there. Perhaps by then the world
looks a bit differently?

On Tue, 2019-05-21 at 15:51 +0200, Erik Faye-Lund wrote:
> Right. I guess with an old enough bison version, this can happen.
> I'll see if I can come up with something better.
> 
> On May 21, 2019 15:47, Brian Paul <brianp at vmware.com> wrote:
> > I think this change broke the MSVC build for us. 
> > 
> > I may not have time to investigate until later today. 
> > 
> > -Brian 
> > 
> > 
> > On 05/21/2019 05:41 AM, GitLab Mirror wrote: 
> > > Module: Mesa 
> > > Branch: master 
> > > Commit: eb85124a9f6e9cb94d0d4a99f91bbae374777e3a 
> > > URL:    
> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcgit.freedesktop.org%2Fmesa%2Fmesa%2Fcommit%2F%3Fid%3Deb85124a9f6e9cb94d0d4a99f91bbae374777e3a&data=02%7C01%7Cbrianp%40vmware.com%7C8fb4b04aba0f46cf005d08d6dde15558%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636940357210597924&sdata=N0sBC6rz%2F4KcpZyCKuNbNqNNhSE%2Fu6d8DcMCQY7STkY%3D&reserved=0
> >  
> > > 
> > > Author: Erik Faye-Lund <erik.faye-lund at collabora.com> 
> > > Date:   Mon May 20 13:29:05 2019 +0200 
> > > 
> > > glsl: do not use deprecated bison-keyword 
> > > 
> > > %error-verbose has been deprecated since Bison 3.0, which was
> > released 
> > > in 2013. In Bison 3.3.1 which was recently released, this has
> > started 
> > > causing warnings. Let's update the code to do this in the modern
> > way 
> > > intead, to avoid cluttering the output needlessly. 
> > > 
> > > Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com> 
> > > Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com> 
> > > 
> > > --- 
> > > 
> > >   src/compiler/glsl/glcpp/glcpp-parse.y | 2 +- 
> > >   src/compiler/glsl/glsl_parser.yy      | 2 +- 
> > >   src/mesa/program/program_parse.y      | 2 +- 
> > >   3 files changed, 3 insertions(+), 3 deletions(-) 
> > > 
> > > diff --git a/src/compiler/glsl/glcpp/glcpp-parse.y
> > b/src/compiler/glsl/glcpp/glcpp-parse.y 
> > > index 1c095cb66f9..736af7e680d 100644 
> > > --- a/src/compiler/glsl/glcpp/glcpp-parse.y 
> > > +++ b/src/compiler/glsl/glcpp/glcpp-parse.y 
> > > @@ -155,7 +155,7 @@ add_builtin_define(glcpp_parser_t *parser,
> > const char *name, int value); 
> > >   %} 
> > >   
> > >   %pure-parser 
> > > -%error-verbose 
> > > +%define parse.error verbose 
> > >   
> > >   %locations 
> > >   %initial-action { 
> > > diff --git a/src/compiler/glsl/glsl_parser.yy
> > b/src/compiler/glsl/glsl_parser.yy 
> > > index 6426f890b9e..dc6aade2643 100644 
> > > --- a/src/compiler/glsl/glsl_parser.yy 
> > > +++ b/src/compiler/glsl/glsl_parser.yy 
> > > @@ -81,7 +81,7 @@ static bool match_layout_qualifier(const char
> > *s1, const char *s2, 
> > >   %expect 0 
> > >   
> > >   %pure-parser 
> > > -%error-verbose 
> > > +%define parse.error verbose 
> > >   
> > >   %locations 
> > >   %initial-action { 
> > > diff --git a/src/mesa/program/program_parse.y
> > b/src/mesa/program/program_parse.y 
> > > index 7398f5f507a..3d0c1e2ea9e 100644 
> > > --- a/src/mesa/program/program_parse.y 
> > > +++ b/src/mesa/program/program_parse.y 
> > > @@ -124,7 +124,7 @@ static struct asm_instruction
> > *asm_instruction_copy_ctor( 
> > >   %locations 
> > >   %lex-param   { struct asm_parser_state *state } 
> > >   %parse-param { struct asm_parser_state *state } 
> > > -%error-verbose 
> > > +%define parse.error verbose 
> > >   
> > >   %union { 
> > >      struct asm_instruction *inst; 
> > > 
> > > _______________________________________________ 
> > > mesa-commit mailing list 
> > > mesa-commit at lists.freedesktop.org 
> > > 
> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fmesa-commit&data=02%7C01%7Cbrianp%40vmware.com%7C8fb4b04aba0f46cf005d08d6dde15558%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636940357210607919&sdata=%2F%2FK4CMY1Wd9PgydEgugYq63pp26NkX%2B4venu%2FYk7FQk%3D&reserved=0
> >  
> > > 
> > 
> 
> _______________________________________________
> 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