Fixes that come from clang.
[awesomized/libmemcached] / libmemcached / csl / parser.yy
index e70bba975a12da3c11768d4da92153bbde87eb19..243c4fcd835209b526ba76f76461b396e90fb507 100644 (file)
  *
  */
 
+%{
+
+#include <libmemcached/csl/common.h>
+
+class Context;
+
+%}
+
 %error-verbose
 %debug
 %defines
@@ -51,7 +59,6 @@
 
 %{
 
-#include <libmemcached/csl/common.h>
 #include <libmemcached/options.hpp>
 
 #include <libmemcached/csl/context.h>
 #pragma GCC diagnostic ignored "-Wold-style-cast"
 #endif
 
+#ifndef __INTEL_COMPILER
+#ifndef __clang__
+#pragma GCC diagnostic ignored "-Wlogical-op"
+#endif
+#endif
+
 int conf_lex(YYSTYPE* lvalp, void* scanner);
 
 #define select_yychar(__context) yychar == UNKNOWN ? ( (__context)->previous_token == END ? UNKNOWN : (__context)->previous_token ) : yychar   
@@ -90,14 +103,14 @@ inline void __config_error(Context *context, yyscan_t *scanner, const char *erro
 
 %token COMMENT
 %token END
-%token ERROR
+%token CSL_ERROR
 %token RESET
 %token PARSER_DEBUG
 %token INCLUDE
 %token CONFIGURE_FILE
 %token EMPTY_LINE
 %token SERVER
-%token SOCKET
+%token CSL_SOCKET
 %token SERVERS
 %token SERVERS_OPTION
 %token UNKNOWN_OPTION
@@ -159,13 +172,13 @@ inline void __config_error(Context *context, yyscan_t *scanner, const char *erro
 %token RANDOM
 
 /* Boolean values */
-%token <boolean> TRUE
-%token <boolean> FALSE
+%token <boolean> CSL_TRUE
+%token <boolean> CSL_FALSE
 
 %nonassoc ','
 %nonassoc '='
 
-%token <number> FLOAT
+%token <number> CSL_FLOAT
 %token <number> NUMBER
 %token <number> PORT
 %token <number> WEIGHT_START
@@ -202,7 +215,7 @@ statement:
             context->set_end();
             YYACCEPT;
           }
-        | ERROR
+        | CSL_ERROR
           {
             context->rc= MEMCACHED_PARSE_USER_ERROR;
             parser_abort(context, "ERROR called directly");
@@ -228,7 +241,7 @@ statement:
 expression:
           SERVER HOSTNAME optional_port optional_weight
           {
-            if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, $4)))
+            if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, uint32_t($4))))
             {
               char buffer[1024];
               snprintf(buffer, sizeof(buffer), "Failed to add server: %s:%u", $2.c_str, uint32_t($3));
@@ -238,7 +251,7 @@ expression:
           }
         | SERVER IPADDRESS optional_port optional_weight
           {
-            if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, $4)))
+            if (memcached_failed(context->rc= memcached_server_add_with_weight(context->memc, $2.c_str, $3, uint32_t($4))))
             {
               char buffer[1024];
               snprintf(buffer, sizeof(buffer), "Failed to add server: %s:%u", $2.c_str, uint32_t($3));
@@ -246,12 +259,12 @@ expression:
             }
             context->unset_server();
           }
-        | SOCKET string optional_weight
+        | CSL_SOCKET string optional_weight
           {
-            if (memcached_failed(context->rc= memcached_server_add_unix_socket_with_weight(context->memc, $2.c_str, $3)))
+            if (memcached_failed(context->rc= memcached_server_add_unix_socket_with_weight(context->memc, $2.c_str, uint32_t($3))))
             {
               char buffer[1024];
-              snprintf(buffer, sizeof(buffer), "Failed to add server: %s", $2.c_str);
+              snprintf(buffer, sizeof(buffer), "Failed to add socket: %s", $2.c_str);
               parser_abort(context, buffer);
             }
           }
@@ -261,11 +274,11 @@ expression:
           }
         | POOL_MIN NUMBER
           {
-            context->memc->configure.initial_pool_size= $2;
+            context->memc->configure.initial_pool_size= uint32_t($2);
           }
         | POOL_MAX NUMBER
           {
-            context->memc->configure.max_pool_size= $2;
+            context->memc->configure.max_pool_size= uint32_t($2);
           }
         | behaviors
         ;