bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] lalr1.cc: avoid GCC 4.3 warnings.


From: Akim Demaille
Subject: [PATCH] lalr1.cc: avoid GCC 4.3 warnings.
Date: Thu, 26 Mar 2009 23:02:18 +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        |   11 +++++++++++
 data/location.cc |   17 +++++++++--------
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7e225f9..2713a50 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2009-03-26  Akim Demaille  <address@hidden>
 
+       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  <address@hidden>
+
        gnulib: update.
        * gnulib: Update to latest.
        * lib/Makefile.am (AM_CPPFLAGS): It is now defined by gnulib, so
diff --git a/data/location.cc b/data/location.cc
index 4b79069..2adde81 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 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
-- 
1.6.2.rc0.35.g1b53





reply via email to

[Prev in Thread] Current Thread [Next in Thread]