Pass 'generic_pointer_macro'
This commit is contained in:
parent
2d2dd43512
commit
62c9909d46
@ -9541,6 +9541,18 @@ resolve_type = fn (module: &Module, type: &Type) &Type
|
|||||||
{
|
{
|
||||||
result = type;
|
result = type;
|
||||||
},
|
},
|
||||||
|
.pointer =>
|
||||||
|
{
|
||||||
|
>old_element_type = type.content.pointer.element_type;
|
||||||
|
>element_type = resolve_type(module, old_element_type);
|
||||||
|
|
||||||
|
result = type;
|
||||||
|
|
||||||
|
if (element_type != old_element_type)
|
||||||
|
{
|
||||||
|
result = get_pointer_type(module, element_type);
|
||||||
|
}
|
||||||
|
},
|
||||||
else =>
|
else =>
|
||||||
{
|
{
|
||||||
#trap();
|
#trap();
|
||||||
@ -9585,6 +9597,16 @@ clone_value = fn (module: &Module, scope: &Scope, old_value: &Value) &Value
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
.unary =>
|
||||||
|
{
|
||||||
|
>unary_value = clone_value(module, scope, old_value.content.unary.value);
|
||||||
|
result.content = {
|
||||||
|
.unary = {
|
||||||
|
.value = unary_value,
|
||||||
|
.id = old_value.content.unary.id,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
else =>
|
else =>
|
||||||
{
|
{
|
||||||
#trap();
|
#trap();
|
||||||
@ -12600,7 +12622,11 @@ emit_field_access = fn (module: &Module, value: &Value, left_llvm: &LLVMValue, l
|
|||||||
|
|
||||||
if (real_aggregate_type != aggregate_element_type)
|
if (real_aggregate_type != aggregate_element_type)
|
||||||
{
|
{
|
||||||
#trap();
|
v = create_load(module, {
|
||||||
|
.type = aggregate_element_type,
|
||||||
|
.pointer = aggregate.llvm,
|
||||||
|
zero,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -17147,6 +17173,7 @@ names: [_][]u8 =
|
|||||||
"slice_only_start",
|
"slice_only_start",
|
||||||
"basic_macro",
|
"basic_macro",
|
||||||
"generic_macro",
|
"generic_macro",
|
||||||
|
"generic_pointer_macro",
|
||||||
];
|
];
|
||||||
|
|
||||||
[export] main = fn [cc(c)] (argument_count: u32, argv: &&u8, envp: &&u8) s32
|
[export] main = fn [cc(c)] (argument_count: u32, argv: &&u8, envp: &&u8) s32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user