Compare commits
1 Commits
06773cfd6a
...
62c24c3e2c
Author | SHA1 | Date | |
---|---|---|---|
62c24c3e2c |
@ -12710,6 +12710,16 @@ enter_struct_pointer_for_coerced_access = fn (module: &Module, source_value: &LL
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
coerce_integer_or_pointer_to_integer_or_pointer = fn (module: &Module, source: &LLVMValue, source_type: &Type, destination_type: &Type) &LLVMValue
|
||||||
|
{
|
||||||
|
if (source_type != destination_type)
|
||||||
|
{
|
||||||
|
#trap();
|
||||||
|
}
|
||||||
|
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
create_coerced_store = fn (module: &Module, source_value: &LLVMValue, source_type: &Type, destination_value: &LLVMValue, destination_type: &Type, destination_size: u64, destination_volatile: u1) void
|
create_coerced_store = fn (module: &Module, source_value: &LLVMValue, source_type: &Type, destination_value: &LLVMValue, destination_type: &Type, destination_size: u64, destination_volatile: u1) void
|
||||||
{
|
{
|
||||||
>source_size = get_byte_size(source_type);
|
>source_size = get_byte_size(source_type);
|
||||||
@ -12764,7 +12774,14 @@ create_coerced_store = fn (module: &Module, source_value: &LLVMValue, source_typ
|
|||||||
}
|
}
|
||||||
else if (type_is_integer_backing(source_type))
|
else if (type_is_integer_backing(source_type))
|
||||||
{
|
{
|
||||||
#trap();
|
>int_type = integer_type(module, { .bit_count = destination_size * 8, .signed = 0 });
|
||||||
|
>value = coerce_integer_or_pointer_to_integer_or_pointer(module, source_value, source_type, int_type);
|
||||||
|
create_store(module, {
|
||||||
|
.source = value,
|
||||||
|
.destination = destination_value,
|
||||||
|
.type = int_type,
|
||||||
|
zero,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -12792,11 +12809,6 @@ create_coerced_store = fn (module: &Module, source_value: &LLVMValue, source_typ
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
coerce_integer_or_pointer_to_integer_or_pointer = fn (module: &Module, source: &LLVMValue, source_type: &Type, destination_type: &Type) &LLVMValue
|
|
||||||
{
|
|
||||||
#trap();
|
|
||||||
}
|
|
||||||
|
|
||||||
create_coerced_load = fn (module: &Module, source: &LLVMValue, source_type: &Type, destination_type: &Type) &LLVMValue
|
create_coerced_load = fn (module: &Module, source: &LLVMValue, source_type: &Type, destination_type: &Type) &LLVMValue
|
||||||
{
|
{
|
||||||
>result: &LLVMValue = zero;
|
>result: &LLVMValue = zero;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user