]> git.saurik.com Git - bison.git/commitdiff
lalr1.cc: avoid GCC 4.3 warnings.
authorAkim Demaille <demaille@gostai.com>
Thu, 26 Mar 2009 22:02:18 +0000 (23:02 +0100)
committerAkim Demaille <demaille@gostai.com>
Thu, 26 Mar 2009 22:45:25 +0000 (23:45 +0100)
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.

ChangeLog
data/location.cc

index 7e225f9df032c86756525551ab99e5b9a74a6bc5..2713a500db912676c9be7983bbb78269eed1fd09 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
        gnulib: update.
index 4b79069fb6c6d7398829cc3bc40ec1d6ef42f395..2adde81abcc5f632562cb182e46294ab113c7cd1 100644 (file)
@@ -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