aboutsummaryrefslogtreecommitdiffstats
path: root/src/comp.c
diff options
context:
space:
mode:
authorAndrea Corallo2019-06-23 16:41:04 +0200
committerAndrea Corallo2020-01-01 11:33:44 +0100
commit0406c74b6083e0ddf08e386d935c07f6493e41d4 (patch)
treee96dd4f6b93458e537d5a6f69ca4a7f75ebcd4fc /src/comp.c
parent3f96f72b59a627944040228984ec48cf0f74ecec (diff)
downloademacs-0406c74b6083e0ddf08e386d935c07f6493e41d4.tar.gz
emacs-0406c74b6083e0ddf08e386d935c07f6493e41d4.zip
fix awful pad hack in define_handler_struct
Diffstat (limited to 'src/comp.c')
-rw-r--r--src/comp.c75
1 files changed, 28 insertions, 47 deletions
diff --git a/src/comp.c b/src/comp.c
index aee7ca99463..fe3fac606d9 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -818,56 +818,37 @@ define_handler_struct (void)
818 comp.handler_ptr_type, 818 comp.handler_ptr_type,
819 "next"); 819 "next");
820 gcc_jit_field *fields[] = 820 gcc_jit_field *fields[] =
821 { gcc_jit_context_new_field (comp.ctxt, 821 { gcc_jit_context_new_field (
822 NULL, 822 comp.ctxt,
823 comp.int_type, 823 NULL,
824 "type"), 824 gcc_jit_context_new_array_type (comp.ctxt,
825 gcc_jit_context_new_field (comp.ctxt, 825 NULL,
826 NULL, 826 comp.char_type,
827 comp.lisp_obj_type, 827 offsetof (struct handler, val)),
828 "tag_or_ch"), 828 "pad0"),
829 gcc_jit_context_new_field (comp.ctxt,
830 NULL,
831 comp.int_type,
832 "nonlocal_exit"),
833 comp.handler_val_field, 829 comp.handler_val_field,
834 comp.handler_next_field, 830 comp.handler_next_field,
835 gcc_jit_context_new_field (comp.ctxt, 831 gcc_jit_context_new_field (
836 NULL, 832 comp.ctxt,
837 comp.handler_ptr_type, 833 NULL,
838 "nextfree"), 834 gcc_jit_context_new_array_type (comp.ctxt,
839 gcc_jit_context_new_field (comp.ctxt, 835 NULL,
840 NULL, 836 comp.char_type,
841 comp.lisp_obj_ptr_type, 837 offsetof (struct handler, jmp)
842 "bytecode_top"), 838 - offsetof (struct handler, next)
843 gcc_jit_context_new_field (comp.ctxt, 839 - sizeof (((struct handler *) 0)->next)),
844 NULL, 840 "pad1"),
845 comp.int_type,
846 "bytecode_dest"),
847 gcc_jit_context_new_field (comp.ctxt,
848 NULL,
849 gcc_jit_context_new_array_type (comp.ctxt,
850 NULL,
851 comp.char_type,
852 4),
853 "pad"),
854 comp.handler_jmp_field, 841 comp.handler_jmp_field,
855 gcc_jit_context_new_field (comp.ctxt, 842 gcc_jit_context_new_field (
856 NULL, 843 comp.ctxt,
857 comp.emacs_int_type, 844 NULL,
858 "f_lisp_eval_depth"), 845 gcc_jit_context_new_array_type (comp.ctxt,
859 gcc_jit_context_new_field (comp.ctxt, 846 NULL,
860 NULL, 847 comp.char_type,
861 comp.ptrdiff_type, 848 sizeof (struct handler)
862 "pdlcount"), 849 - offsetof (struct handler, jmp)
863 gcc_jit_context_new_field (comp.ctxt, 850 - sizeof (((struct handler *) 0)->jmp)),
864 NULL, 851 "pad2") };
865 comp.int_type,
866 "poll_suppress_count"),
867 gcc_jit_context_new_field (comp.ctxt,
868 NULL,
869 comp.int_type,
870 "interrupt_input_blocked") };
871 gcc_jit_struct_set_fields (comp.handler, 852 gcc_jit_struct_set_fields (comp.handler,
872 NULL, 853 NULL,
873 sizeof (fields) / sizeof (*fields), 854 sizeof (fields) / sizeof (*fields),