.size = 8,
};
+static struct aop_type _aop_t_float96 = {
+ .kind = ATK_FP,
+ .pointer_levels = 0,
+ .tag = NULL,
+
+ .size = 12,
+};
+
static struct aop_type _aop_t_float128 = {
.kind = ATK_FP,
.pointer_levels = 0,
return &_aop_t_float64;
}
+/**
+ * Return a type that will match 96-bit floating point types (long double
+ * in C on a 32-bit system).
+ * \return A type that will match quadruple-precision floating point
+ * types.
+ */
+const struct aop_type *
+aop_t_float96 ()
+{
+ return &_aop_t_float96;
+}
+
/**
* Return a type that will match quadruple-precision floating point
- * types (long double in C).
+ * types (long double in C on a 64-bit system).
* \return A type that will match quadruple-precision floating point
* types.
*/
case 8:
BUF_PRINTF ("%s", "double");
break;
+ case 12: /* As seen on 32-bit systems. */
+ BUF_PRINTF ("%s", "long double");
+ break;
case 16:
BUF_PRINTF ("%s", "long double");
break;
extern const struct aop_type *aop_t_unsigned128 ();
extern const struct aop_type *aop_t_float32 ();
extern const struct aop_type *aop_t_float64 ();
+extern const struct aop_type *aop_t_float96 ();
extern const struct aop_type *aop_t_float128 ();
extern const struct aop_type *aop_t_cstring ();
extern const struct aop_type *aop_t_struct (const char *tag);