res = xbt_new0(s_gras_datadesc_type_t, 1);
res->name = (char *) strdup(name);
res = xbt_new0(s_gras_datadesc_type_t, 1);
res->name = (char *) strdup(name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.scalar_data.type == type,
"Redefinition of type %s does not match", name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.scalar_data.type == type,
"Redefinition of type %s does not match", name);
res = gras_datadesc_by_name_or_null(name);
if (res) {
/* FIXME: Check that field redefinition matches */
xbt_assert1(res->category_code == e_gras_datadesc_type_cat_struct,
"Redefinition of type %s does not match", name);
res = gras_datadesc_by_name_or_null(name);
if (res) {
/* FIXME: Check that field redefinition matches */
xbt_assert1(res->category_code == e_gras_datadesc_type_cat_struct,
"Redefinition of type %s does not match", name);
xbt_assert2(field_type,
"Cannot add the field '%s' into struct '%s': its type is NULL",
name, struct_type->name);
xbt_assert2(field_type,
"Cannot add the field '%s' into struct '%s': its type is NULL",
name, struct_type->name);
- XBT_IN3("(%s %s.%s;)", field_type->name, struct_type->name, name);
+ XBT_IN_F("(%s %s.%s;)", field_type->name, struct_type->name, name);
field = xbt_new(s_gras_dd_cat_field_t, 1);
field->name = (char *) strdup(name);
field = xbt_new(s_gras_dd_cat_field_t, 1);
field->name = (char *) strdup(name);
- DEBUG0("----------------");
- DEBUG3("PRE s={size=%ld,align=%ld,asize=%ld}",
+ XBT_DEBUG("----------------");
+ XBT_DEBUG("PRE s={size=%ld,align=%ld,asize=%ld}",
struct_type->size[GRAS_THISARCH],
struct_type->alignment[GRAS_THISARCH],
struct_type->aligned_size[GRAS_THISARCH]);
struct_type->size[GRAS_THISARCH],
struct_type->alignment[GRAS_THISARCH],
struct_type->aligned_size[GRAS_THISARCH]);
field_type->name, struct_type->name,
field->offset[GRAS_THISARCH]);
field_type->name, struct_type->name,
field->offset[GRAS_THISARCH]);
- DEBUG3(" f={size=%ld,align=%ld,asize=%ld}",
+ XBT_DEBUG(" f={size=%ld,align=%ld,asize=%ld}",
field_type->size[GRAS_THISARCH],
field_type->alignment[GRAS_THISARCH],
field_type->aligned_size[GRAS_THISARCH]);
field_type->size[GRAS_THISARCH],
field_type->alignment[GRAS_THISARCH],
field_type->aligned_size[GRAS_THISARCH]);
- DEBUG3(" s={size=%ld,align=%ld,asize=%ld}",
+ XBT_DEBUG(" s={size=%ld,align=%ld,asize=%ld}",
struct_type->size[GRAS_THISARCH],
struct_type->alignment[GRAS_THISARCH],
struct_type->aligned_size[GRAS_THISARCH]);
struct_type->size[GRAS_THISARCH],
struct_type->alignment[GRAS_THISARCH],
struct_type->aligned_size[GRAS_THISARCH]);
for (arch = 0; arch < gras_arch_count; arch++) {
struct_type->size[arch] = struct_type->aligned_size[arch];
}
for (arch = 0; arch < gras_arch_count; arch++) {
struct_type->size[arch] = struct_type->aligned_size[arch];
}
- DEBUG4("structure %s closed. size=%ld,align=%ld,asize=%ld",
+ XBT_DEBUG("structure %s closed. size=%ld,align=%ld,asize=%ld",
struct_type->name,
struct_type->size[GRAS_THISARCH],
struct_type->alignment[GRAS_THISARCH],
struct_type->name,
struct_type->size[GRAS_THISARCH],
struct_type->alignment[GRAS_THISARCH],
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.union_data.selector == selector,
"Redefinition of type %s does not match", name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.union_data.selector == selector,
"Redefinition of type %s does not match", name);
- XBT_IN3("(%s %s.%s;)", field_type->name, union_type->name, name);
+ XBT_IN_F("(%s %s.%s;)", field_type->name, union_type->name, name);
xbt_assert1(field_type->size[GRAS_THISARCH] >= 0,
"Cannot add a dynamically sized field in union %s",
union_type->name);
if (union_type->category.union_data.closed) {
xbt_assert1(field_type->size[GRAS_THISARCH] >= 0,
"Cannot add a dynamically sized field in union %s",
union_type->name);
if (union_type->category.union_data.closed) {
res = gras_datadesc_by_name_or_null(name);
if (res) {
xbt_assert1(res->category_code == e_gras_datadesc_type_cat_ref,
res = gras_datadesc_by_name_or_null(name);
if (res) {
xbt_assert1(res->category_code == e_gras_datadesc_type_cat_ref,
"Redefinition of %s does not match", name);
xbt_assert1(res->category.ref_data.selector == NULL,
"Redefinition of %s does not match", name);
"Redefinition of %s does not match", name);
xbt_assert1(res->category.ref_data.selector == NULL,
"Redefinition of %s does not match", name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.ref_data.selector == selector,
"Redefinition of type %s does not match", name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.ref_data.selector == selector,
"Redefinition of type %s does not match", name);
res = gras_datadesc_by_name_or_null(name);
if (res) {
xbt_assert1(res->category_code == e_gras_datadesc_type_cat_array,
"Redefinition of type %s does not match", name);
if (res->category.array_data.type != element_type) {
res = gras_datadesc_by_name_or_null(name);
if (res) {
xbt_assert1(res->category_code == e_gras_datadesc_type_cat_array,
"Redefinition of type %s does not match", name);
if (res->category.array_data.type != element_type) {
("Redefinition of type %s does not match: array elements differ",
name);
gras_datadesc_type_dump(res->category.array_data.type);
("Redefinition of type %s does not match: array elements differ",
name);
gras_datadesc_type_dump(res->category.array_data.type);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.array_data.dynamic_size == NULL,
"Redefinition of type %s does not match", name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.array_data.dynamic_size == NULL,
"Redefinition of type %s does not match", name);
xbt_assert1(dynamic_size,
"'%s' is a dynamic array without size discriminant", name);
xbt_assert1(dynamic_size,
"'%s' is a dynamic array without size discriminant", name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.array_data.dynamic_size == dynamic_size,
"Redefinition of type %s does not match", name);
"Redefinition of type %s does not match", name);
xbt_assert1(res->category.array_data.dynamic_size == dynamic_size,
"Redefinition of type %s does not match", name);
} else if (type->category_code == e_gras_datadesc_type_cat_struct) {
field_array = type->category.struct_data.fields;
} else {
} else if (type->category_code == e_gras_datadesc_type_cat_struct) {
field_array = type->category.struct_data.fields;
} else {
gras_dd_cat_field_t field = gras_dd_find_field(type, field_name);
gras_datadesc_type_t sub_type = field->type;
gras_dd_cat_field_t field = gras_dd_find_field(type, field_name);
gras_datadesc_type_t sub_type = field->type;
field_name, sub_type->name, type->name);
if (!strcmp("int", sub_type->name)) {
field->send = gras_datadesc_cb_push_int;
field_name, sub_type->name, type->name);
if (!strcmp("int", sub_type->name)) {
field->send = gras_datadesc_cb_push_int;
} else if (!strcmp("unsigned long int", sub_type->name)) {
field->send = gras_datadesc_cb_push_ulint;
} else {
} else if (!strcmp("unsigned long int", sub_type->name)) {
field->send = gras_datadesc_cb_push_ulint;
} else {
("Field %s is not an int, unsigned int, long int neither unsigned long int",
sub_type->name);
xbt_abort();
("Field %s is not an int, unsigned int, long int neither unsigned long int",
sub_type->name);
xbt_abort();
gras_dd_cat_field_t field = gras_dd_find_field(type, field_name);
gras_datadesc_type_t sub_type = field->type;
gras_dd_cat_field_t field = gras_dd_find_field(type, field_name);
gras_datadesc_type_t sub_type = field->type;
field_name, sub_type->name, type->name);
if (!strcmp("int", sub_type->name)) {
field->send = gras_datadesc_cb_push_int_mult;
field_name, sub_type->name, type->name);
if (!strcmp("int", sub_type->name)) {
field->send = gras_datadesc_cb_push_int_mult;
} else if (!strcmp("unsigned long int", sub_type->name)) {
field->send = gras_datadesc_cb_push_ulint_mult;
} else {
} else if (!strcmp("unsigned long int", sub_type->name)) {
field->send = gras_datadesc_cb_push_ulint_mult;
} else {
("Field %s is not an int, unsigned int, long int neither unsigned long int",
sub_type->name);
xbt_abort();
("Field %s is not an int, unsigned int, long int neither unsigned long int",
sub_type->name);
xbt_abort();
d1->name, d1->size[cpt], d2->name, d2->size[cpt],
gras_arches[cpt].name);
return d1->size[cpt] > d2->size[cpt] ? 1 : -1;
}
if (d1->alignment[cpt] != d2->alignment[cpt]) {
d1->name, d1->size[cpt], d2->name, d2->size[cpt],
gras_arches[cpt].name);
return d1->size[cpt] > d2->size[cpt] ? 1 : -1;
}
if (d1->alignment[cpt] != d2->alignment[cpt]) {
d1->name, d1->alignment[cpt], d2->name, d2->alignment[cpt],
gras_arches[cpt].name);
return d1->alignment[cpt] > d2->alignment[cpt] ? 1 : -1;
}
if (d1->aligned_size[cpt] != d2->aligned_size[cpt]) {
d1->name, d1->alignment[cpt], d2->name, d2->alignment[cpt],
gras_arches[cpt].name);
return d1->alignment[cpt] > d2->alignment[cpt] ? 1 : -1;
}
if (d1->aligned_size[cpt] != d2->aligned_size[cpt]) {
("ddt_cmp: %s->aligned_size=%ld != %s->aligned_size=%ld (on %s)",
d1->name, d1->aligned_size[cpt], d2->name,
d2->aligned_size[cpt], gras_arches[cpt].name);
("ddt_cmp: %s->aligned_size=%ld != %s->aligned_size=%ld (on %s)",
d1->name, d1->aligned_size[cpt], d2->name,
d2->aligned_size[cpt], gras_arches[cpt].name);
d1->name, gras_datadesc_cat_names[d1->category_code],
d2->name, gras_datadesc_cat_names[d2->category_code]);
return d1->category_code > d2->category_code ? 1 : -1;
}
if (d1->send != d2->send) {
d1->name, gras_datadesc_cat_names[d1->category_code],
d2->name, gras_datadesc_cat_names[d2->category_code]);
return d1->category_code > d2->category_code ? 1 : -1;
}
if (d1->send != d2->send) {
d1->name, (void *) d1->send, d2->name, (void *) d2->send);
return 1; /* ISO C forbids ordered comparisons of pointers to functions */
}
if (d1->recv != d2->recv) {
d1->name, (void *) d1->send, d2->name, (void *) d2->send);
return 1; /* ISO C forbids ordered comparisons of pointers to functions */
}
if (d1->recv != d2->recv) {
d1->name, (void *) d1->recv, d2->name, (void *) d2->recv);
return 1; /* ISO C forbids ordered comparisons of pointers to functions */
}
d1->name, (void *) d1->recv, d2->name, (void *) d2->recv);
return 1; /* ISO C forbids ordered comparisons of pointers to functions */
}
case e_gras_datadesc_type_cat_struct:
if (xbt_dynar_length(d1->category.struct_data.fields) !=
xbt_dynar_length(d2->category.struct_data.fields)) {
case e_gras_datadesc_type_cat_struct:
if (xbt_dynar_length(d1->category.struct_data.fields) !=
xbt_dynar_length(d2->category.struct_data.fields)) {
d1->name, xbt_dynar_length(d1->category.struct_data.fields),
d2->name, xbt_dynar_length(d2->category.struct_data.fields));
d1->name, xbt_dynar_length(d1->category.struct_data.fields),
d2->name, xbt_dynar_length(d2->category.struct_data.fields));
field_desc_2 = field2->type;
ret = gras_datadesc_type_cmp(field_desc_1, field_desc_2);
if (ret) {
field_desc_2 = field2->type;
ret = gras_datadesc_type_cmp(field_desc_1, field_desc_2);
if (ret) {
d1->name, cpt, field1->name, d2->name, cpt, field2->name);
return ret;
}
d1->name, cpt, field1->name, d2->name, cpt, field2->name);
return ret;
}