#if __HAVE_FLOAT128
_Float128 side_float_binary128;
#endif
- const char *string;
+ uint64_t string; /* const char * */
} u;
};
#if __HAVE_FLOAT128
_Float128 side_float_binary128;
#endif
- const char *string;
+ uint64_t string; /* const char * */
} u;
} side_basic;
#if __HAVE_FLOAT128
_Float128 side_float_binary128;
#endif
- const char *string;
+ uint64_t string; /* const char * */
/* Compound types */
const struct side_arg_vec_description *side_struct;
#define side_attr_float_binary32(_val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY32, .u = { .side_float_binary32 = (_val) } }
#define side_attr_float_binary64(_val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY64, .u = { .side_float_binary64 = (_val) } }
#define side_attr_float_binary128(_val) { .type = SIDE_ATTR_TYPE_FLOAT_BINARY128, .u = { .side_float_binary128 = (_val) } }
-#define side_attr_string(_val) { .type = SIDE_ATTR_TYPE_STRING, .u = { .string = (_val) } }
+#define side_attr_string(_val) { .type = SIDE_ATTR_TYPE_STRING, .u = { .string = (uintptr_t) (_val) } }
/* Static field definition */
#define side_arg_float_binary64(_val) { .type = SIDE_TYPE_FLOAT_BINARY64, .u = { .side_float_binary64 = (_val) } }
#define side_arg_float_binary128(_val) { .type = SIDE_TYPE_FLOAT_BINARY128, .u = { .side_float_binary128 = (_val) } }
-#define side_arg_string(_val) { .type = SIDE_TYPE_STRING, .u = { .string = (_val) } }
+#define side_arg_string(_val) { .type = SIDE_TYPE_STRING, .u = { .string = (uintptr_t) (_val) } }
#define side_arg_struct(_side_type) { .type = SIDE_TYPE_STRUCT, .u = { .side_struct = (_side_type) } }
#define side_arg_array(_side_type) { .type = SIDE_TYPE_ARRAY, .u = { .side_array = (_side_type) } }
#define side_arg_vla(_side_type) { .type = SIDE_TYPE_VLA, .u = { .side_vla = (_side_type) } }
.nr_attr = SIDE_ARRAY_SIZE(SIDE_PARAM(_attr)), \
.byte_order = SIDE_TYPE_BYTE_ORDER_HOST, \
.u = { \
- .string = (_val), \
+ .string = (uintptr_t) (_val), \
}, \
}, \
}, \
abort();
#endif
case SIDE_ATTR_TYPE_STRING:
- printf("\"%s\"", attr->value.u.string);
+ printf("\"%s\"", (const char *)(uintptr_t) attr->value.u.string);
break;
default:
fprintf(stderr, "ERROR: <UNKNOWN ATTRIBUTE TYPE>");
}
case SIDE_TYPE_STRING:
tracer_print_basic_type_header(type_desc);
- printf("\"%s\"", item->u.string);
+ printf("\"%s\"", (const char *)(uintptr_t) item->u.string);
break;
case SIDE_TYPE_STRUCT:
tracer_print_struct(type_desc, item->u.side_struct);
}
case SIDE_DYNAMIC_TYPE_STRING:
tracer_print_dynamic_basic_type_header(item);
- printf("\"%s\"", item->u.side_basic.u.string);
+ printf("\"%s\"", (const char *)(uintptr_t) item->u.side_basic.u.string);
break;
case SIDE_DYNAMIC_TYPE_STRUCT:
tracer_print_dynamic_struct(item->u.side_dynamic_struct);