summaryrefslogtreecommitdiff
path: root/upb/msg.c
diff options
context:
space:
mode:
Diffstat (limited to 'upb/msg.c')
-rw-r--r--upb/msg.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/upb/msg.c b/upb/msg.c
index 59f7c44..eee0b3a 100644
--- a/upb/msg.c
+++ b/upb/msg.c
@@ -1,5 +1,6 @@
#include "upb/msg.h"
+#include "upb/structs.int.h"
static bool is_power_of_two(size_t val) {
return (val & (val - 1)) == 0;
@@ -170,7 +171,6 @@ static size_t upb_msglayout_place(upb_msglayout *l, size_t size) {
size_t ret;
l->data.size = align_up(l->data.size, size);
- l->data.align = align_up(l->data.align, size);
ret = l->data.size;
l->data.size += size;
return ret;
@@ -231,7 +231,7 @@ static upb_msglayout *upb_msglayout_new(const upb_msgdef *m) {
upb_msglayout_fieldinit_v1 *fields;
upb_msglayout_oneofinit_v1 *oneofs;
- for (upb_msg_field_begin(&it, m), hasbit = sizeof(void*) * 8;
+ for (upb_msg_field_begin(&it, m);
!upb_msg_field_done(&it);
upb_msg_field_next(&it)) {
const upb_fielddef* f = upb_msg_iter_field(&it);
@@ -300,7 +300,6 @@ static upb_msglayout *upb_msglayout_new(const upb_msgdef *m) {
/* Account for space used by hasbits. */
l->data.size = div_round_up(hasbit, 8);
- l->data.align = 1;
/* Allocate non-oneof fields. */
for (upb_msg_field_begin(&it, m); !upb_msg_field_done(&it);
@@ -343,7 +342,7 @@ static upb_msglayout *upb_msglayout_new(const upb_msgdef *m) {
/* Size of the entire structure should be a multiple of its greatest
* alignment. */
- l->data.size = align_up(l->data.size, l->data.align);
+ l->data.size = align_up(l->data.size, 8 /* TODO: track for real? */);
if (upb_msglayout_initdefault(l, m)) {
return l;
@@ -796,15 +795,6 @@ void upb_msg_set(upb_msg *msg, int field_index, upb_msgval val,
/** upb_array *****************************************************************/
-struct upb_array {
- upb_fieldtype_t type;
- uint8_t element_size;
- void *data; /* Each element is element_size. */
- size_t len; /* Measured in elements. */
- size_t size; /* Measured in elements. */
- upb_alloc *alloc;
-};
-
#define DEREF_ARR(arr, i, type) ((type*)arr->data)[i]
size_t upb_array_sizeof(upb_fieldtype_t type) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback