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.
This commit is contained in:
Akim Demaille
2009-03-26 23:02:18 +01:00
parent f307943941
commit b328890a9e
2 changed files with 20 additions and 8 deletions

View File

@@ -1,3 +1,14 @@
2009-03-26 Akim Demaille <demaille@gostai.com>
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 <demaille@gostai.com> 2009-03-26 Akim Demaille <demaille@gostai.com>
gnulib: update. gnulib: update.

View File

@@ -1,7 +1,7 @@
# C++ skeleton for Bison # C++ skeleton for Bison
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, # Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009
# Inc. # Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@ m4_changecom()
m4_divert_push(0)dnl m4_divert_push(0)dnl
@output(b4_dir_prefix[]position.hh@) @output(b4_dir_prefix[]position.hh@)
b4_copyright([Positions for Bison parsers in C++], b4_copyright([Positions for Bison parsers in C++],
[2002, 2003, 2004, 2005, 2006])[ [2002, 2003, 2004, 2005, 2006, 2007, 2009])[
/** /**
** \file position.hh ** \file position.hh
@@ -116,10 +116,11 @@ b4_copyright([Positions for Bison parsers in C++],
inline bool inline bool
operator== (const position& pos1, const position& pos2) operator== (const position& pos1, const position& pos2)
{ {
return return (pos1.line == pos2.line
(pos1.filename == pos2.filename && pos1.column == pos2.column
|| pos1.filename && pos2.filename && *pos1.filename == *pos2.filename) && (pos1.filename == pos2.filename
&& pos1.line == pos2.line && pos1.column == pos2.column; || (pos1.filename && pos2.filename
&& *pos1.filename == *pos2.filename)));
} }
/// Compare two position objects. /// Compare two position objects.
@@ -145,7 +146,7 @@ b4_copyright([Positions for Bison parsers in C++],
#endif // not BISON_POSITION_HH] #endif // not BISON_POSITION_HH]
@output(b4_dir_prefix[]location.hh@) @output(b4_dir_prefix[]location.hh@)
b4_copyright([Locations for Bison parsers in C++], b4_copyright([Locations for Bison parsers in C++],
[2002, 2003, 2004, 2005, 2006])[ [2002, 2003, 2004, 2005, 2006, 2007, 2009])[
/** /**
** \file location.hh ** \file location.hh