void ctf_float_copy(struct stream_pos *dest, struct stream_pos *src,
const struct declaration_float *float_declaration)
{
- align_pos(src, float_declaration->p.alignment);
- align_pos(dest, float_declaration->p.alignment);
+ ctf_align_pos(ctf_pos(src), float_declaration->p.alignment);
+ ctf_align_pos(ctf_pos(dest), float_declaration->p.alignment);
_ctf_float_copy(dest, float_declaration, src, float_declaration);
}
const struct declaration_float *float_declaration)
{
union doubleIEEE754 u;
- struct declaration_float *dest_declaration = float_declaration_new(NULL,
- DBL_MANT_DIG,
+ struct declaration_float *dest_declaration =
+ float_declaration_new(DBL_MANT_DIG,
sizeof(double) * CHAR_BIT - DBL_MANT_DIG,
BYTE_ORDER,
__alignof__(double));
- struct stream_pos destp;
+ struct ctf_stream_pos destp;
- align_pos(srcp, float_declaration->p.alignment);
- init_pos(&destp, (char *) u.bits);
- _ctf_float_copy(&destp, dest_declaration, srcp, float_declaration);
+ ctf_align_pos(ctf_pos(srcp), float_declaration->p.alignment);
+ ctf_init_pos(&destp, -1);
+ destp.base = (char *) u.bits;
+ _ctf_float_copy(&destp.parent, dest_declaration, srcp, float_declaration);
declaration_unref(&dest_declaration->p);
return u.v;
}
double v)
{
union doubleIEEE754 u;
- struct declaration_float *src_declaration = float_declaration_new(NULL,
- DBL_MANT_DIG,
+ struct declaration_float *src_declaration =
+ float_declaration_new(DBL_MANT_DIG,
sizeof(double) * CHAR_BIT - DBL_MANT_DIG,
BYTE_ORDER,
__alignof__(double));
- struct stream_pos srcp;
+ struct ctf_stream_pos srcp;
u.v = v;
- align_pos(destp, float_declaration->p.alignment);
- init_pos(&srcp, (char *) u.bits);
- _ctf_float_copy(destp, float_declaration, &srcp, src_declaration);
+ ctf_align_pos(ctf_pos(destp), float_declaration->p.alignment);
+ ctf_init_pos(&srcp, -1);
+ srcp.base = (char *) u.bits;
+ _ctf_float_copy(destp, float_declaration, &srcp.parent, src_declaration);
declaration_unref(&src_declaration->p);
}
const struct declaration_float *float_declaration)
{
union ldoubleIEEE754 u;
- struct declaration_float *dest_declaration = float_declaration_new(NULL,
- LDBL_MANT_DIG,
+ struct declaration_float *dest_declaration =
+ float_declaration_new(LDBL_MANT_DIG,
sizeof(long double) * CHAR_BIT - LDBL_MANT_DIG,
BYTE_ORDER,
__alignof__(long double));
- struct stream_pos destp;
+ struct ctf_stream_pos destp;
- align_pos(srcp, float_declaration->p.alignment);
- init_pos(&destp, (char *) u.bits);
- _ctf_float_copy(&destp, dest_declaration, srcp, float_declaration);
+ ctf_align_pos(ctf_pos(srcp), float_declaration->p.alignment);
+ ctf_init_pos(&destp, -1);
+ destp.base = (char *) u.bits;
+ _ctf_float_copy(&destp.parent, dest_declaration, srcp, float_declaration);
declaration_unref(&dest_declaration->p);
return u.v;
}
long double v)
{
union ldoubleIEEE754 u;
- struct declaration_float *src_declaration = float_declaration_new(NULL,
- LDBL_MANT_DIG,
+ struct declaration_float *src_declaration =
+ float_declaration_new(LDBL_MANT_DIG,
sizeof(long double) * CHAR_BIT - LDBL_MANT_DIG,
BYTE_ORDER,
__alignof__(long double));
- struct stream_pos srcp;
+ struct ctf_stream_pos srcp;
u.v = v;
- align_pos(destp, float_declaration->p.alignment);
- init_pos(&srcp, (char *) u.bits);
- _ctf_float_copy(destp, float_declaration, &srcp, src_declaration);
+ ctf_align_pos(ctf_pos(destp), float_declaration->p.alignment);
+ ctf_init_pos(&srcp, -1);
+ srcp.base = (char *) u.bits;
+ _ctf_float_copy(destp, float_declaration, &srcp.parent, src_declaration);
declaration_unref(&src_declaration->p);
}