From b328890a9e62573176b34279fb59f0b97935f33a Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Thu, 26 Mar 2009 23:02:18 +0100 Subject: [PATCH] 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. --- a/data/location.cc +++ b/data/location.cc @@ -1,7 +1,7 @@ # C++ skeleton for Bison -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, -# Inc. +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 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 @@ -21,7 +21,7 @@ m4_changecom() m4_divert_push(0)dnl @output(b4_dir_prefix[]position.hh@) b4_copyright([Positions for Bison parsers in C++], - [2002, 2003, 2004, 2005, 2006])[ + [2002, 2003, 2004, 2005, 2006, 2007, 2009])[ /** ** \file position.hh @@ -116,10 +116,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. @@ -145,7 +146,7 @@ b4_copyright([Positions for Bison parsers in C++], #endif // not BISON_POSITION_HH] @output(b4_dir_prefix[]location.hh@) b4_copyright([Locations for Bison parsers in C++], - [2002, 2003, 2004, 2005, 2006])[ + [2002, 2003, 2004, 2005, 2006, 2007, 2009])[ /** ** \file location.hh