- float_class->sign = integer_type_new(NULL, 1,
- byte_order, false, 1);
- if (!float_class->mantissa)
- goto error_sign;
- float_class->mantissa = integer_type_new(NULL, mantissa_len - 1,
- byte_order, false, 1);
- if (!float_class->mantissa)
- goto error_mantissa;
- float_class->exp = integer_type_new(NULL, exp_len,
- byte_order, true, 1);
- if (!float_class->exp)
- goto error_exp;
+static
+struct definition *
+ _float_definition_new(struct declaration *declaration,
+ struct definition_scope *parent_scope,
+ GQuark field_name, int index)
+{
+ struct declaration_float *float_declaration =
+ container_of(declaration, struct declaration_float, p);
+ struct definition_float *_float;
+
+ _float = g_new(struct definition_float, 1);
+ declaration_ref(&float_declaration->p);
+ _float->p.declaration = declaration;
+ _float->declaration = float_declaration;
+ _float->p.ref = 1;
+ _float->p.index = index;
+ _float->value = 0.0;
+ return &_float->p;
+}