]> granicus.if.org Git - re2c/commitdiff
Fixed MINGW builds where 'sizeof (int)' is equal to 'sizeof (long)'.
authorUlya Trofimovich <skvadrik@gmail.com>
Tue, 15 Sep 2015 12:08:10 +0000 (13:08 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Tue, 15 Sep 2015 12:08:10 +0000 (13:08 +0100)
re2c/src/codegen/skeleton/generate_code.cc

index 47083942be1e278f78473650c3fea6a96b652d79..55da840e8b6d82055ccd56ba3716999f5f0c2e24 100644 (file)
@@ -6,23 +6,25 @@ namespace re2c
 
 static void exact_uint (OutputFile & o, size_t width)
 {
-       switch (width)
+       if (width == sizeof (char))
        {
-               case sizeof (char):
-                       o << "unsigned char";
-                       break;
-               case sizeof (short):
-                       o << "unsigned short";
-                       break;
-               case sizeof (int):
-                       o << "unsigned int";
-                       break;
-               case sizeof (long):
-                       o << "unsigned long";
-                       break;
-               default:
-                       o << "uint" << width * 8 << "_t";
-                       break;
+               o << "unsigned char";
+       }
+       else if (width == sizeof (short))
+       {
+               o << "unsigned short";
+       }
+       else if (width == sizeof (int))
+       {
+               o << "unsigned int";
+       }
+       else if (width == sizeof (long))
+       {
+               o << "unsigned long";
+       }
+       else
+       {
+               o << "uint" << width * 8 << "_t";
        }
 }