Added the float type.
authorRichard Jones <rjones@redhat.com>
Wed, 14 Jan 2009 16:11:25 +0000 (16:11 +0000)
committerRichard Jones <rjones@redhat.com>
Wed, 14 Jan 2009 16:11:25 +0000 (16:11 +0000)
rpcgen_codegen.c
rpcgen_int.h
rpcgen_parse.y
rpcgen_scan.l

index 9677a2a..49a7059 100644 (file)
@@ -119,7 +119,8 @@ gen_prologue (const char *filename)
               "#endif\n"
               "\n"
               "#include <stdint.h>\n"
-              "#include <rpc/rpc.h>\n"
+              "#include <rpc/types.h>\n"
+              "#include <rpc/xdr.h>\n"
               "\n"
               "/* Use the following symbol in your code to detect whether\n"
               " * PortableXDR's rpcgen was used to compile the source file.\n"
@@ -423,6 +424,9 @@ xdr_func_of_simple_type (const struct type *type)
   case type_hyper:
     if (type->sgn) r = "quad_t"; else r = "u_quad_t";
     break;
+  case type_float:
+    r = "float";
+    break;
   case type_double:
     r = "double";
     break;
@@ -457,6 +461,9 @@ sizeof_simple_type (const struct type *type)
   case type_hyper:
     r = strdup ("8");
     break;
+  case type_float:
+    r = strdup ("4");
+    break;
   case type_double:
     r = strdup ("8");
     break;
@@ -567,6 +574,10 @@ gen_type (const struct type *type)
       else fputs ("uint64_t", yyout);
       break;
 
+    case type_float:
+      fputs ("float", yyout);
+      break;
+
     case type_double:
       fputs ("double", yyout);
       break;
index b551516..024b0c6 100644 (file)
@@ -36,7 +36,7 @@ extern enum output_mode output_mode;
 /* Abstract syntax tree types. */
 enum type_enum {
   type_char, type_short, type_int, type_hyper,
-  type_double,
+  type_float, type_double,
   type_bool,
   type_ident,
 };
index 2923325..652a7f3 100644 (file)
@@ -59,6 +59,7 @@ extern void yyerror (const char *str);
 %token SHORT
 %token INT
 %token HYPER
+%token FLOAT
 %token DOUBLE
 %token STRING
 %token OPAQUE
@@ -259,6 +260,8 @@ type_ident
        { $$ = new_type (type_int, 1, NULL); }
        | UNSIGNED
        { $$ = new_type (type_int, 0, NULL); }
+       | FLOAT
+       { $$ = new_type (type_float, 0, NULL); }
        | DOUBLE
        { $$ = new_type (type_double, 0, NULL); }
        | BOOL
index 10ed056..1a78235 100644 (file)
@@ -134,6 +134,7 @@ char       return CHAR;
 short      return SHORT;
 int        return INT;
 hyper      return HYPER;
+float      return FLOAT;
 double     return DOUBLE;
 string     return STRING;
 opaque     return OPAQUE;