mescc: Tinycc support: sizeof (struct.field).
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 23 Jul 2017 12:18:00 +0000 (14:18 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 26 Jul 2017 09:36:08 +0000 (11:36 +0200)
* module/language/c99/compiler.mes (expr->accu): Support sizeof (struct.field).

module/language/c99/compiler.mes

index 7ff333ed547235b552a7542007dc2bc5e622b0f6..8030f8155e5f6128ca9b4ca80216ea3ebcbe99db 100644 (file)
                 (size (field-size info type field)))
            (append-text info (wrap-as (i386:value->accu size)))))
 
+        ((sizeof-expr (d-sel (ident ,field) (p-expr (ident ,struct))))
+         (let* ((type (ident->type info struct))
+                (size (field-size info type field)))
+           (append-text info (wrap-as (i386:value->accu size)))))
+
         ((sizeof-type (type-name (decl-spec-list (type-spec (fixed-type ,name)))))
          (let* ((type name)
                 (size (ast-type->size info type)))