From: Akim Demaille Date: Fri, 27 Mar 2009 06:26:24 +0000 (+0100) Subject: lalr1.cc: avoid GCC 4.3 warnings. X-Git-Tag: v2.7.90~929 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/56f772e95e0268d7dc4695450e8f65c22be9fbc2?ds=inline lalr1.cc: avoid GCC 4.3 warnings. GCC 4.3 now warns about "a || b && c" and asks for explicit parentheses. Reported by Alexandre Duret-Lutz. * data/location.cc: Update copyright years. (Position::operator==): Use parens to make precedence explicit. Compare lines and columns first, as they are more likely to be different, and they are faster to compare. --- diff --git a/ChangeLog b/ChangeLog index ec89f00d..619b9736 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2009-03-26 Akim Demaille + + lalr1.cc: avoid GCC 4.3 warnings. + GCC 4.3 now warns about "a || b && c" and asks for explicit + parentheses. + Reported by Alexandre Duret-Lutz. + * data/location.cc: Update copyright years. + (Position::operator==): Use parens to make precedence explicit. + Compare lines and columns first, as they are more likely to be + different, and they are faster to compare. + 2009-03-26 Akim Demaille gnulib: update. diff --git a/data/location.cc b/data/location.cc index 3ad89b39..0f82340c 100644 --- a/data/location.cc +++ b/data/location.cc @@ -1,7 +1,7 @@ # C++ skeleton for Bison -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, -# Inc. +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ # along with this program. If not, see . m4_pushdef([b4_copyright_years], - [2002, 2003, 2004, 2005, 2006, 2007, 2008]) + [2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009]) # We do want M4 expansion after # for CPP macros. m4_changecom() @@ -121,10 +121,11 @@ b4_copyright([Positions for Bison parsers in C++])[ inline bool operator== (const position& pos1, const position& pos2) { - return - (pos1.filename == pos2.filename - || pos1.filename && pos2.filename && *pos1.filename == *pos2.filename) - && pos1.line == pos2.line && pos1.column == pos2.column; + return (pos1.line == pos2.line + && pos1.column == pos2.column + && (pos1.filename == pos2.filename + || (pos1.filename && pos2.filename + && *pos1.filename == *pos2.filename))); } /// Compare two position objects.