diff options
author | Petr Machata <pmachata@redhat.com> | 2012-01-05 18:07:02 +0100 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2012-08-29 19:02:05 +0200 |
commit | 94078ecce3a103c28457e6f90f1e5b0dacc61146 (patch) | |
tree | 2067fe27ceac9f9cf166bd523f96e3a8e5e1d891 /type.h | |
parent | 000e31195ad4ad30a0c80c93ab57a424e7d8d918 (diff) | |
download | ltrace-94078ecce3a103c28457e6f90f1e5b0dacc61146.tar.gz |
Add expr.c, expr.h, plug in properly
- in callstack_pop, we don't free arch_ptr. That's because this doesn't
get copied over the clone. It's a mere coincidence that fork() doesn't
need to save register arguments, and this works.
- added copyright notices to files that this touches. This is based on
git blame. Only contributors of 10+ lines are added
- test suite adjusted to not include "void" type as "don't show this int".
Back ends in general need to know the exact type, so this never worked
anyway.
Diffstat (limited to 'type.h')
-rw-r--r-- | type.h | 16 |
1 files changed, 5 insertions, 11 deletions
@@ -66,23 +66,17 @@ struct arg_type_info { /* ARGTYPE_ARRAY */ struct { struct arg_type_info *elt_type; - size_t elt_size; - int len_spec; + struct expr_node *length; int own_info:1; + int own_length:1; } array_info; /* ARGTYPE_STRING_N */ struct { - int size_spec; + struct expr_node *length; + int own_length:1; } string_n_info; - /* ARGTYPE_STRUCT */ - struct { - struct arg_type_info **fields; - size_t * offset; - size_t size; - } struct_info; - /* ARGTYPE_POINTER */ struct { struct arg_type_info *info; @@ -145,7 +139,7 @@ size_t type_struct_size(struct arg_type_info *info); * length are owned and destroyed together with INFO. */ void type_init_array(struct arg_type_info *info, struct arg_type_info *element_info, int own_info, - int len_spec); + struct expr_node *length, int own_length); /* Initialize INFO so it becomes ARGTYPE_POINTER. The pointee type is * passed in POINTEE_INFO. If OWN_INFO, the pointee type is owned and |