GDB typecasting failure in c
17:03 29 Jan 2026

i was setting up gdb on vscode on windows and i wasnt working i soon found out that it was erroring giving me a SIGSEGV segfault
i try gdb in powershell same problem
i run the programm normally multiple times it works fine
`

void init_builtin_metadataS(void){
    //int
    ptr_builtin_metadata_int=malloc(sizeof(RTTI_INT_metadata)+sizeof(RTTI_FLOAT_metadata)+sizeof(RTTI_STRING_metadata));
    ptr_builtin_metadata_int->type[0]=INT_id;
    ptr_builtin_metadata_int->endoftypes=0;
    ptr_builtin_metadata_int->meta.constructor=&RTTI_BUILTIN_INT_CONSTRUCTOR;
    ptr_builtin_metadata_int->meta.destructor=&RTTI_BUILTIN_INT_DESTRUCTOR;
    ptr_builtin_metadata_int->meta.repr=&RTTI_BUILTIN_INT_REPR;
    ptr_builtin_metadata_int->add=&RTTI_INT_ADD;
    ptr_builtin_metadata_int->sub=&RTTI_INT_SUB;
    ptr_builtin_metadata_int->mul=&RTTI_INT_MUL;
    ptr_builtin_metadata_int->div=&RTTI_INT_DIV;
    ptr_builtin_metadata_int->pow=&RTTI_INT_POW;
    //
    //float
    ptr_builtin_metadata_float=(RTTI_FLOAT_metadata*)((char*)ptr_builtin_metadata_int)+sizeof(RTTI_INT_metadata);
    ptr_builtin_metadata_float->type[0]=FLOAT_id;
    ptr_builtin_metadata_float->endoftypes=0;
    ptr_builtin_metadata_float->meta.constructor=&RTTI_BUILTIN_FLOAT_CONSTRUCTOR;
    ptr_builtin_metadata_float->meta.destructor=&RTTI_BUILTIN_FLOAT_DESTRUCTOR;
    ptr_builtin_metadata_float->meta.repr=&RTTI_BUILTIN_FLOAT_REPR;
    ptr_builtin_metadata_float->add=&RTTI_FLOAT_ADD;
    ptr_builtin_metadata_float->sub=&RTTI_FLOAT_SUB;
    ptr_builtin_metadata_float->mul=&RTTI_FLOAT_MUL;
    ptr_builtin_metadata_float->div=&RTTI_FLOAT_DIV;
    //
    //string
    ptr_builtin_metadata_string=(RTTI_STRING_metadata*)(((char*)ptr_builtin_metadata_float)+sizeof(RTTI_FLOAT_metadata));
    ptr_builtin_metadata_string->type[0]=STRING_id;
    ptr_builtin_metadata_string->endoftypes=0;
    ptr_builtin_metadata_string->meta.constructor=&RTTI_BUILTIN_STRING_CONSTRUCTOR;
    ptr_builtin_metadata_string->meta.destructor=&RTTI_BUILTIN_STRING_DESTRUCTOR;
    ptr_builtin_metadata_string->meta.repr=&RTTI_BUILTIN_STRING_REPR;
    ptr_builtin_metadata_string->cat=&RTTI_BUILTIN_STRING_cat;
}

it errors in the '

    ptr_builtin_metadata_float->type[0]=FLOAT_id;

'

i heard but unsure that its gdb not goint well with this typecast

((char*)ptr_builtin_metadata_int)+sizeof(RTTI_INT_metadata);

and that it internally segfault but iam not sure and i dont want to switch to VS 2022 as its well heavy

c casting segmentation-fault gdb rtti