#include "expr.h"
#include "idf.h"
#include "def.h"
+#include "sizes.h"
extern char options[];
extern arith full_mask[/*MAXSIZE*/]; /* cstoper.c */
(arith)((*expp)->SG_LEN) :
size_of_type((*expp)->ex_type,
symbol2str((*expp)->ex_type->tp_fund))
- , ULONG);
+ , (int_size == pointer_size ? UNSIGNED : ULONG));
expr->ex_flags |= EX_SIZEOF;
free_expression(*expp);
*expp = expr;
#include "label.h"
#include "expr.h"
#include "code.h"
+#include "sizes.h"
extern struct expr *intexpr();
int InSizeof = 0; /* inside a sizeof- expression */
[%if (first_of_type_specifier(AHEAD) && AHEAD != IDENTIFIER)
cast(&tp)
{
- *expp = intexpr(size_of_type(tp, "type"), ULONG);
+ *expp = intexpr(size_of_type(tp, "type"),
+ (int_size == pointer_size ? UNSIGNED : ULONG));
(*expp)->ex_flags |= EX_SIZEOF;
}
|