nibblebits/PeachCompiler

Issue about calculating secondary data type size.

zzdmfk opened this issue · 2 comments

zzdmfk commented

When I declared variables like below:

short int a;
long int b;

Data type sizes were calculated wrong In function:

void parser_datatype_adjust_size_for_secondary(struct datatype* datatype, struct token* datatype_secondary_token)
{
    if(!datatype_secondary_token)
        return;

    struct datatype* secondary_data_type = calloc(1, sizeof(struct datatype));
    parser_datatype_init_type_and_size_for_primitive(datatype_secondary_token, NULL, secondary_data_type);
    datatype->size += secondary_data_type->size;
    datatype->datatype_secondary = secondary_data_type;
    datatype->flags |= DATATYPE_FLAG_IS_SECONDARY;
}

short int a; //datatype->size=6
long int b; //datatype->size=8

Yes the secondary datatype has been miscalculated thats for bringing this to my attention it will be resolved

Thanks *