Implement procedure pointers

This commit is contained in:
2025-02-24 00:24:36 +01:00
parent 18857e1a88
commit 85b6843ecf
9 changed files with 217 additions and 181 deletions

View File

@ -80,9 +80,18 @@ namespace gcc
}
else if (is_pointer_type(type))
{
return std::string("^" + print_type(TREE_TYPE(type)));
tree pointer_target_type = TREE_TYPE(type);
if (TREE_CODE(pointer_target_type) == FUNCTION_TYPE)
{
return print_type(pointer_target_type);
}
else
{
return std::string("^" + print_type(pointer_target_type));
}
}
else if (is_procedure_type(type))
else if (TREE_CODE(type) == FUNCTION_TYPE)
{
std::string output = "proc(";
tree parameter_type = TYPE_ARG_TYPES(type);