projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Consistently use PUSH_PARENT()/POP_PARENT().
[cparser]
/
type.c
diff --git
a/type.c
b/type.c
index
75dffd7
..
88219a4
100644
(file)
--- a/
type.c
+++ b/
type.c
@@
-67,6
+67,7
@@
static size_t get_type_struct_size(type_kind_t kind)
[TYPE_ENUM] = sizeof(enum_type_t),
[TYPE_FUNCTION] = sizeof(function_type_t),
[TYPE_POINTER] = sizeof(pointer_type_t),
[TYPE_ENUM] = sizeof(enum_type_t),
[TYPE_FUNCTION] = sizeof(function_type_t),
[TYPE_POINTER] = sizeof(pointer_type_t),
+ [TYPE_REFERENCE] = sizeof(reference_type_t),
[TYPE_ARRAY] = sizeof(array_type_t),
[TYPE_TYPEDEF] = sizeof(typedef_type_t),
[TYPE_TYPEOF] = sizeof(typeof_type_t),
[TYPE_ARRAY] = sizeof(array_type_t),
[TYPE_TYPEDEF] = sizeof(typedef_type_t),
[TYPE_TYPEOF] = sizeof(typeof_type_t),
@@
-1885,15
+1886,11
@@
type_t *make_function_type(type_t *return_type, int n_types,
type->function.modifiers |= modifiers;
type->function.linkage = LINKAGE_C;
type->function.modifiers |= modifiers;
type->function.linkage = LINKAGE_C;
- function_parameter_t *
last = NULL
;
+ function_parameter_t *
*anchor = &type->function.parameters
;
for (int i = 0; i < n_types; ++i) {
function_parameter_t *parameter = allocate_parameter(argument_types[i]);
for (int i = 0; i < n_types; ++i) {
function_parameter_t *parameter = allocate_parameter(argument_types[i]);
- if (last == NULL) {
- type->function.parameters = parameter;
- } else {
- last->next = parameter;
- }
- last = parameter;
+ *anchor = parameter;
+ anchor = ¶meter->next;
}
return identify_new_type(type);
}
return identify_new_type(type);