+ expression_t *size_expression;
+};
+
+struct designator_t {
+ symbol_t *symbol;
+ expression_t *array_access;
+ designator_t *next;
+};
+
+struct offsetof_expression_t {
+ expression_t expression;
+ type_t *type;
+ designator_t *designator;
+};
+
+struct va_arg_expression_t {
+ expression_t expression;
+ expression_t *arg;
+ type_t *type;