]> git.saurik.com Git - bison.git/blobdiff - data/c++.m4
c++: please G++ 4.8 with -O3: type puning issue
[bison.git] / data / c++.m4
index e91b90d79e8397b3bbb4cde221ff61a47ede88d2..87bc5e0dcf184ab5fc3bea00154c8ac8bbe36bab 100644 (file)
@@ -231,6 +231,8 @@ m4_define([b4_public_types_declare],
       /// The token.
       token_type token () const;
 
+      enum { empty = 0 };
+
       /// The symbol type.
       ///
       /// -1 when this symbol is empty.
@@ -328,7 +330,7 @@ m4_define([b4_public_types_define],
   // by_type.
   inline
   ]b4_parser_class_name[::by_type::by_type ()
-     : type (-1)
+     : type (empty)
   {}
 
   inline
@@ -346,7 +348,7 @@ m4_define([b4_public_types_define],
   ]b4_parser_class_name[::by_type::move (by_type& that)
   {
     type = that.type;
-    that.type = -1;
+    that.type = empty;
   }
 
   inline