Branch: Tag:

2020-01-02

2020-01-02 13:38:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added push_unlimited_array_type().

This is in preparation for adding support for
length-limited array types.

260:   void type_stack_reverse(void);   struct pike_type *debug_peek_type_stack(void);   void debug_push_int_type(INT_TYPE min, INT_TYPE max); + void debug_push_unlimited_array_type(enum PIKE_TYPE t);   void debug_push_object_type(int flag, INT32 id);   void debug_push_object_type_backwards(int flag, INT32 id);   void debug_push_type_attribute(struct pike_string *attr);
382:   #define peek_type_stack() ((struct pike_type *)debug_malloc_pass(debug_peek_type_stack()))   #define pop_type_stack(E) do { debug_malloc_pass(debug_peek_type_stack()); debug_pop_type_stack(E); } while(0)   #define push_int_type(MIN,MAX) do { debug_push_int_type(MIN,MAX);debug_malloc_pass(debug_peek_type_stack()); } while(0) + #define push_unlimited_array_type(ARRAY_OR_STRING) do { debug_push_unlimited_array_type(ARRAY_OR_STRING);debug_malloc_pass(debug_peek_type_stack()); } while(0)   #define push_object_type(FLAG,ID) do { debug_push_object_type(FLAG,ID);debug_malloc_pass(debug_peek_type_stack()); } while(0)   #define push_object_type_backwards(FLAG,ID) do { debug_push_object_type_backwards(FLAG,ID);debug_malloc_pass(debug_peek_type_stack()); } while(0)   #define push_scope_type(LEVEL) do { debug_push_scope_type(LEVEL);debug_malloc_pass(debug_peek_type_stack()); } while(0)
400:   #define peek_type_stack debug_peek_type_stack   #define pop_type_stack debug_pop_type_stack   #define push_int_type debug_push_int_type + #define push_unlimited_array_type debug_push_unlimited_array_type   #define push_object_type debug_push_object_type   #define push_object_type_backwards debug_push_object_type_backwards   #define push_scope_type debug_push_scope_type