In tree.def:329 it is written that DECL_RESULT holds a RESULT_DECL node for the value of a function, or it is 0 for a function that returns no value. (C functions returning void have zero here.) but C functions returning void have void_type_node in DECL_RESULT. Also note that allocate_struct_function calls aggregate_value_p on the DECL_RESULT and aggregate_value_p assumes that its argument is not null. Should DECL_RESULT be allowed to be null or should the comment be fixed? If DECL_RESULT can be null, should aggregate_value_p return false if its argument is null? Thanks, Rafael