typedef int token_t;
+#include "token_oper_cmp.h"
+
static inline size_t psi_t_alignment(token_t t)
{
#define PSI_ALIGNOF(T) case PSI_T_## T: return ALIGNOF_## T ##_T;
return ALIGNOF_VOID_P;
case PSI_T_ENUM:
return ALIGNOF_INT;
+#ifdef HAVE_LONG_DOUBLE
+ case PSI_T_LONG_DOUBLE:
+ return ALIGNOF_LONG_DOUBLE;
+#endif
default:
assert(0);
}
return SIZEOF_FLOAT;
case PSI_T_DOUBLE:
return SIZEOF_DOUBLE;
+ case PSI_T_VOID:
case PSI_T_POINTER:
case PSI_T_FUNCTION:
return SIZEOF_VOID_P;
case PSI_T_ENUM:
return SIZEOF_INT;
+#ifdef HAVE_LONG_DOUBLE
+ case PSI_T_LONG_DOUBLE:
+ return SIZEOF_LONG_DOUBLE;
+#endif
default:
- assert(0);
+ assert(!t);
}
return 0;
}