/* ./tests/suites/toyir/tsf_ir_different.c -- generated by tsf_define from ./tests/suites/toyir/tsf_ir_different.t */ #include "tsf_ir_different.h" #include "tsf_define_helpers.h" #include static tsf_type_t *DOperand__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DType__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DCodeOffset__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DVariableDecl__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProcedure__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProcedureDecl__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProcedureDefn__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProgramElement__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProgram__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__mov__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__add__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__alloc__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__ret__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__jump__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__call__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__call__args__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *int16__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__branchZero__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProcedureDefn__variables__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DVariableDecl__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProcedureDefn__code__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DInstruction__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProgram__globals__build_type(void) TSF_ATTRIBUTE_NOINLINE; static tsf_type_t *DProgramElement__array__build_type(void) TSF_ATTRIBUTE_NOINLINE; tsf_type_t *DOperand__build_type(void) { tsf_type_t *result = tsf_type_create_aoe(TSF_TK_INT16); return result; } tsf_type_t *DType__build_type(void) { tsf_type_t *result = tsf_type_create_aoe(TSF_TK_STRING); return result; } tsf_type_t *DCodeOffset__build_type(void) { tsf_type_t *result = tsf_type_create_aoe(TSF_TK_INT16); return result; } tsf_type_t *DVariableDecl__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DVariableDecl_t), (void(*)(void*))DVariableDecl__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "type", DType__get_type, tsf_offsetof(DVariableDecl_t, type)); tsf_type_set_name_aoe(&result, "DVariableDecl"); return result; } tsf_type_t *DInstruction__build_type(void) { tsf_type_t *result = tsf_type_create_choice_with_native_map_aoe(&result, tsf_true, tsf_offsetof(DInstruction_t, value), tsf_offsetof(DInstruction_t, u), sizeof(DInstruction_t)); tsf_choice_type_append_primitive_aoe(&result, "nop", TSF_TK_VOID); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "mov", DInstruction__mov__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "add", DInstruction__add__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "alloc", DInstruction__alloc__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "ret", DInstruction__ret__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "jump", DInstruction__jump__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "call", DInstruction__call__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "branchZero", DInstruction__branchZero__get_type); tsf_type_set_name_aoe(&result, "DInstruction"); return result; } tsf_type_t *DInstruction__mov__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__mov_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", DOperand__get_type, tsf_offsetof(DInstruction__mov_t, dest)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__mov_t, src)); tsf_type_set_name_aoe(&result, "DInstruction__mov"); return result; } tsf_type_t *DInstruction__add__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__add_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", DOperand__get_type, tsf_offsetof(DInstruction__add_t, dest)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__add_t, src)); tsf_type_set_name_aoe(&result, "DInstruction__add"); return result; } tsf_type_t *DInstruction__alloc__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DInstruction__alloc_t), (void(*)(void*))DInstruction__alloc__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "type", DType__get_type, tsf_offsetof(DInstruction__alloc_t, type)); tsf_type_set_name_aoe(&result, "DInstruction__alloc"); return result; } tsf_type_t *DInstruction__ret__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__ret_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__ret_t, src)); tsf_type_set_name_aoe(&result, "DInstruction__ret"); return result; } tsf_type_t *DInstruction__jump__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__jump_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "target", DCodeOffset__get_type, tsf_offsetof(DInstruction__jump_t, target)); tsf_type_set_name_aoe(&result, "DInstruction__jump"); return result; } tsf_type_t *DInstruction__call__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DInstruction__call_t), (void(*)(void*))DInstruction__call__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "dest", DOperand__get_type, tsf_offsetof(DInstruction__call_t, dest)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "callee", DOperand__get_type, tsf_offsetof(DInstruction__call_t, callee)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "args", DInstruction__call__args__get_type, tsf_offsetof(DInstruction__call_t, args)); tsf_type_set_name_aoe(&result, "DInstruction__call"); return result; } tsf_type_t *int16__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_create_aoe(TSF_TK_INT16)); return result; } tsf_type_t *DInstruction__branchZero__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_aoe(sizeof(DInstruction__branchZero_t)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "src", DOperand__get_type, tsf_offsetof(DInstruction__branchZero_t, src)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "target", DCodeOffset__get_type, tsf_offsetof(DInstruction__branchZero_t, target)); tsf_type_set_name_aoe(&result, "DInstruction__branchZero"); return result; } tsf_type_t *DProcedure__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProcedure_t), (void(*)(void*))DProcedure__destruct); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(DProcedure_t, name)); tsf_type_set_name_aoe(&result, "DProcedure"); return result; } tsf_type_t *DProcedureDecl__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProcedureDecl_t), (void(*)(void*))DProcedureDecl__destruct); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(DProcedureDecl_t, name)); tsf_type_set_name_aoe(&result, "DProcedureDecl"); return result; } tsf_type_t *DProcedureDefn__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProcedureDefn_t), (void(*)(void*))DProcedureDefn__destruct); tsf_struct_type_append_primitive_with_native_map_aoe(&result, "name", TSF_TK_STRING, tsf_offsetof(DProcedureDefn_t, name)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "variables", DProcedureDefn__variables__get_type, tsf_offsetof(DProcedureDefn_t, variables)); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "code", DProcedureDefn__code__get_type, tsf_offsetof(DProcedureDefn_t, code)); tsf_type_set_name_aoe(&result, "DProcedureDefn"); return result; } tsf_type_t *DVariableDecl__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(DVariableDecl__get_type())); return result; } tsf_type_t *DInstruction__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(DInstruction__get_type())); return result; } tsf_type_t *DProgramElement__build_type(void) { tsf_type_t *result = tsf_type_create_choice_with_native_map_aoe(&result, tsf_true, tsf_offsetof(DProgramElement_t, value), tsf_offsetof(DProgramElement_t, u), sizeof(DProgramElement_t)); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "procedureDecl", DProcedureDecl__get_type); tsf_choice_type_append_from_callback_and_dup_aoe(&result, "procedureDefn", DProcedureDefn__get_type); tsf_type_set_name_aoe(&result, "DProgramElement"); return result; } tsf_type_t *DProgram__build_type(void) { tsf_type_t *result = tsf_type_create_struct_with_native_size_and_destructor_aoe(sizeof(DProgram_t), (void(*)(void*))DProgram__destruct); tsf_struct_type_append_from_callback_and_dup_with_native_map_aoe(&result, "globals", DProgram__globals__get_type, tsf_offsetof(DProgram_t, globals)); tsf_type_set_name_aoe(&result, "DProgram"); return result; } tsf_type_t *DProgramElement__array__build_type(void) { tsf_type_t *result = tsf_type_create_array_aoe(tsf_type_dup(DProgramElement__get_type())); return result; } tsf_type_t *DInstruction__call__args__build_type(void) { tsf_type_t *result = tsf_type_dup(int16__array__get_type()); return result; } tsf_type_t *DProcedureDefn__variables__build_type(void) { tsf_type_t *result = tsf_type_dup(DVariableDecl__array__get_type()); return result; } tsf_type_t *DProcedureDefn__code__build_type(void) { tsf_type_t *result = tsf_type_dup(DInstruction__array__get_type()); return result; } tsf_type_t *DProgram__globals__build_type(void) { tsf_type_t *result = tsf_type_dup(DProgramElement__array__get_type()); return result; } static tsf_type_t * volatile DOperand__type = NULL; static tsf_genrtr_t * volatile DOperand__genrtr = NULL; static tsf_parser_t * volatile DOperand__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DOperand__type__oc = PTHREAD_ONCE_INIT; static void DOperand__type__builder(void) { DOperand__type = DOperand__build_type(); } #else static void *DOperand__type__builder(void) { return DOperand__build_type(); } #endif tsf_type_t *DOperand__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DOperand__type, DOperand__type__builder); #else pthread_once(&DOperand__type__oc, DOperand__type__builder); return DOperand__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DOperand__genrtr__oc = PTHREAD_ONCE_INIT; static void DOperand__genrtr__builder(void) { DOperand__genrtr = tsf_generator_create(DOperand__get_type()); } #else static void *DOperand__genrtr__builder(void) { return tsf_generator_create(DOperand__get_type()); } #endif tsf_genrtr_t *DOperand__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DOperand__genrtr, DOperand__genrtr__builder); #else pthread_once(&DOperand__genrtr__oc, DOperand__genrtr__builder); return DOperand__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DOperand__parser__oc = PTHREAD_ONCE_INIT; static void DOperand__parser__builder(void) { DOperand__parser = tsf_parser_create(DOperand__get_type()); } #else static void *DOperand__parser__builder(void) { return tsf_parser_create(DOperand__get_type()); } #endif tsf_parser_t *DOperand__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DOperand__parser, DOperand__parser__builder); #else pthread_once(&DOperand__parser__oc, DOperand__parser__builder); return DOperand__parser; #endif } tsf_bool_t DOperand__write(tsf_stream_file_output_t *out, DOperand_t *data) { return tsf_typed_data_write(out, DOperand__get_generator(), data); } DOperand_t *DOperand__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DOperand__get_parser()); } tsf_bool_t DOperand__read_into(tsf_stream_file_input_t *in, DOperand_t *result) { return tsf_typed_data_read_into(in, DOperand__get_parser(), result); } static tsf_type_t * volatile DType__type = NULL; static tsf_genrtr_t * volatile DType__genrtr = NULL; static tsf_parser_t * volatile DType__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DType__type__oc = PTHREAD_ONCE_INIT; static void DType__type__builder(void) { DType__type = DType__build_type(); } #else static void *DType__type__builder(void) { return DType__build_type(); } #endif tsf_type_t *DType__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DType__type, DType__type__builder); #else pthread_once(&DType__type__oc, DType__type__builder); return DType__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DType__genrtr__oc = PTHREAD_ONCE_INIT; static void DType__genrtr__builder(void) { DType__genrtr = tsf_generator_create(DType__get_type()); } #else static void *DType__genrtr__builder(void) { return tsf_generator_create(DType__get_type()); } #endif tsf_genrtr_t *DType__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DType__genrtr, DType__genrtr__builder); #else pthread_once(&DType__genrtr__oc, DType__genrtr__builder); return DType__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DType__parser__oc = PTHREAD_ONCE_INIT; static void DType__parser__builder(void) { DType__parser = tsf_parser_create(DType__get_type()); } #else static void *DType__parser__builder(void) { return tsf_parser_create(DType__get_type()); } #endif tsf_parser_t *DType__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DType__parser, DType__parser__builder); #else pthread_once(&DType__parser__oc, DType__parser__builder); return DType__parser; #endif } void DType__destruct(DType_t *data) { free(*data); } tsf_bool_t DType__write(tsf_stream_file_output_t *out, DType_t *data) { return tsf_typed_data_write(out, DType__get_generator(), data); } DType_t *DType__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DType__get_parser()); } tsf_bool_t DType__read_into(tsf_stream_file_input_t *in, DType_t *result) { return tsf_typed_data_read_into(in, DType__get_parser(), result); } static tsf_type_t * volatile DCodeOffset__type = NULL; static tsf_genrtr_t * volatile DCodeOffset__genrtr = NULL; static tsf_parser_t * volatile DCodeOffset__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DCodeOffset__type__oc = PTHREAD_ONCE_INIT; static void DCodeOffset__type__builder(void) { DCodeOffset__type = DCodeOffset__build_type(); } #else static void *DCodeOffset__type__builder(void) { return DCodeOffset__build_type(); } #endif tsf_type_t *DCodeOffset__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DCodeOffset__type, DCodeOffset__type__builder); #else pthread_once(&DCodeOffset__type__oc, DCodeOffset__type__builder); return DCodeOffset__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DCodeOffset__genrtr__oc = PTHREAD_ONCE_INIT; static void DCodeOffset__genrtr__builder(void) { DCodeOffset__genrtr = tsf_generator_create(DCodeOffset__get_type()); } #else static void *DCodeOffset__genrtr__builder(void) { return tsf_generator_create(DCodeOffset__get_type()); } #endif tsf_genrtr_t *DCodeOffset__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DCodeOffset__genrtr, DCodeOffset__genrtr__builder); #else pthread_once(&DCodeOffset__genrtr__oc, DCodeOffset__genrtr__builder); return DCodeOffset__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DCodeOffset__parser__oc = PTHREAD_ONCE_INIT; static void DCodeOffset__parser__builder(void) { DCodeOffset__parser = tsf_parser_create(DCodeOffset__get_type()); } #else static void *DCodeOffset__parser__builder(void) { return tsf_parser_create(DCodeOffset__get_type()); } #endif tsf_parser_t *DCodeOffset__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DCodeOffset__parser, DCodeOffset__parser__builder); #else pthread_once(&DCodeOffset__parser__oc, DCodeOffset__parser__builder); return DCodeOffset__parser; #endif } tsf_bool_t DCodeOffset__write(tsf_stream_file_output_t *out, DCodeOffset_t *data) { return tsf_typed_data_write(out, DCodeOffset__get_generator(), data); } DCodeOffset_t *DCodeOffset__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DCodeOffset__get_parser()); } tsf_bool_t DCodeOffset__read_into(tsf_stream_file_input_t *in, DCodeOffset_t *result) { return tsf_typed_data_read_into(in, DCodeOffset__get_parser(), result); } static tsf_type_t * volatile DVariableDecl__type = NULL; static tsf_genrtr_t * volatile DVariableDecl__genrtr = NULL; static tsf_parser_t * volatile DVariableDecl__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DVariableDecl__type__oc = PTHREAD_ONCE_INIT; static void DVariableDecl__type__builder(void) { DVariableDecl__type = DVariableDecl__build_type(); } #else static void *DVariableDecl__type__builder(void) { return DVariableDecl__build_type(); } #endif tsf_type_t *DVariableDecl__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DVariableDecl__type, DVariableDecl__type__builder); #else pthread_once(&DVariableDecl__type__oc, DVariableDecl__type__builder); return DVariableDecl__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DVariableDecl__genrtr__oc = PTHREAD_ONCE_INIT; static void DVariableDecl__genrtr__builder(void) { DVariableDecl__genrtr = tsf_generator_create(DVariableDecl__get_type()); } #else static void *DVariableDecl__genrtr__builder(void) { return tsf_generator_create(DVariableDecl__get_type()); } #endif tsf_genrtr_t *DVariableDecl__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DVariableDecl__genrtr, DVariableDecl__genrtr__builder); #else pthread_once(&DVariableDecl__genrtr__oc, DVariableDecl__genrtr__builder); return DVariableDecl__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DVariableDecl__parser__oc = PTHREAD_ONCE_INIT; static void DVariableDecl__parser__builder(void) { DVariableDecl__parser = tsf_parser_create(DVariableDecl__get_type()); } #else static void *DVariableDecl__parser__builder(void) { return tsf_parser_create(DVariableDecl__get_type()); } #endif tsf_parser_t *DVariableDecl__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DVariableDecl__parser, DVariableDecl__parser__builder); #else pthread_once(&DVariableDecl__parser__oc, DVariableDecl__parser__builder); return DVariableDecl__parser; #endif } void DVariableDecl__destruct(DVariableDecl_t *data) { DType__destruct(&data->type); } tsf_bool_t DVariableDecl__write(tsf_stream_file_output_t *out, DVariableDecl_t *data) { return tsf_typed_data_write(out, DVariableDecl__get_generator(), data); } DVariableDecl_t *DVariableDecl__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DVariableDecl__get_parser()); } tsf_bool_t DVariableDecl__read_into(tsf_stream_file_input_t *in, DVariableDecl_t *result) { return tsf_typed_data_read_into(in, DVariableDecl__get_parser(), result); } static tsf_type_t * volatile DInstruction__type = NULL; static tsf_genrtr_t * volatile DInstruction__genrtr = NULL; static tsf_parser_t * volatile DInstruction__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__type__builder(void) { DInstruction__type = DInstruction__build_type(); } #else static void *DInstruction__type__builder(void) { return DInstruction__build_type(); } #endif tsf_type_t *DInstruction__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__type, DInstruction__type__builder); #else pthread_once(&DInstruction__type__oc, DInstruction__type__builder); return DInstruction__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__genrtr__oc = PTHREAD_ONCE_INIT; static void DInstruction__genrtr__builder(void) { DInstruction__genrtr = tsf_generator_create(DInstruction__get_type()); } #else static void *DInstruction__genrtr__builder(void) { return tsf_generator_create(DInstruction__get_type()); } #endif tsf_genrtr_t *DInstruction__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DInstruction__genrtr, DInstruction__genrtr__builder); #else pthread_once(&DInstruction__genrtr__oc, DInstruction__genrtr__builder); return DInstruction__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__parser__oc = PTHREAD_ONCE_INIT; static void DInstruction__parser__builder(void) { DInstruction__parser = tsf_parser_create(DInstruction__get_type()); } #else static void *DInstruction__parser__builder(void) { return tsf_parser_create(DInstruction__get_type()); } #endif tsf_parser_t *DInstruction__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DInstruction__parser, DInstruction__parser__builder); #else pthread_once(&DInstruction__parser__oc, DInstruction__parser__builder); return DInstruction__parser; #endif } void DInstruction__destruct(DInstruction_t *data) { switch (data->value) { case 3: DInstruction__alloc__destruct(&data->u.alloc); break; case 6: DInstruction__call__destruct(&data->u.call); break; default: break; } } tsf_bool_t DInstruction__write(tsf_stream_file_output_t *out, DInstruction_t *data) { return tsf_typed_data_write(out, DInstruction__get_generator(), data); } DInstruction_t *DInstruction__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DInstruction__get_parser()); } tsf_bool_t DInstruction__read_into(tsf_stream_file_input_t *in, DInstruction_t *result) { return tsf_typed_data_read_into(in, DInstruction__get_parser(), result); } static tsf_type_t * volatile DProcedure__type = NULL; static tsf_genrtr_t * volatile DProcedure__genrtr = NULL; static tsf_parser_t * volatile DProcedure__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedure__type__oc = PTHREAD_ONCE_INIT; static void DProcedure__type__builder(void) { DProcedure__type = DProcedure__build_type(); } #else static void *DProcedure__type__builder(void) { return DProcedure__build_type(); } #endif tsf_type_t *DProcedure__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProcedure__type, DProcedure__type__builder); #else pthread_once(&DProcedure__type__oc, DProcedure__type__builder); return DProcedure__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedure__genrtr__oc = PTHREAD_ONCE_INIT; static void DProcedure__genrtr__builder(void) { DProcedure__genrtr = tsf_generator_create(DProcedure__get_type()); } #else static void *DProcedure__genrtr__builder(void) { return tsf_generator_create(DProcedure__get_type()); } #endif tsf_genrtr_t *DProcedure__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProcedure__genrtr, DProcedure__genrtr__builder); #else pthread_once(&DProcedure__genrtr__oc, DProcedure__genrtr__builder); return DProcedure__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedure__parser__oc = PTHREAD_ONCE_INIT; static void DProcedure__parser__builder(void) { DProcedure__parser = tsf_parser_create(DProcedure__get_type()); } #else static void *DProcedure__parser__builder(void) { return tsf_parser_create(DProcedure__get_type()); } #endif tsf_parser_t *DProcedure__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DProcedure__parser, DProcedure__parser__builder); #else pthread_once(&DProcedure__parser__oc, DProcedure__parser__builder); return DProcedure__parser; #endif } void DProcedure__destruct(DProcedure_t *data) { free(*&data->name); } tsf_bool_t DProcedure__write(tsf_stream_file_output_t *out, DProcedure_t *data) { return tsf_typed_data_write(out, DProcedure__get_generator(), data); } DProcedure_t *DProcedure__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DProcedure__get_parser()); } tsf_bool_t DProcedure__read_into(tsf_stream_file_input_t *in, DProcedure_t *result) { return tsf_typed_data_read_into(in, DProcedure__get_parser(), result); } static tsf_type_t * volatile DProcedureDecl__type = NULL; static tsf_genrtr_t * volatile DProcedureDecl__genrtr = NULL; static tsf_parser_t * volatile DProcedureDecl__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDecl__type__oc = PTHREAD_ONCE_INIT; static void DProcedureDecl__type__builder(void) { DProcedureDecl__type = DProcedureDecl__build_type(); } #else static void *DProcedureDecl__type__builder(void) { return DProcedureDecl__build_type(); } #endif tsf_type_t *DProcedureDecl__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDecl__type, DProcedureDecl__type__builder); #else pthread_once(&DProcedureDecl__type__oc, DProcedureDecl__type__builder); return DProcedureDecl__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDecl__genrtr__oc = PTHREAD_ONCE_INIT; static void DProcedureDecl__genrtr__builder(void) { DProcedureDecl__genrtr = tsf_generator_create(DProcedureDecl__get_type()); } #else static void *DProcedureDecl__genrtr__builder(void) { return tsf_generator_create(DProcedureDecl__get_type()); } #endif tsf_genrtr_t *DProcedureDecl__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProcedureDecl__genrtr, DProcedureDecl__genrtr__builder); #else pthread_once(&DProcedureDecl__genrtr__oc, DProcedureDecl__genrtr__builder); return DProcedureDecl__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDecl__parser__oc = PTHREAD_ONCE_INIT; static void DProcedureDecl__parser__builder(void) { DProcedureDecl__parser = tsf_parser_create(DProcedureDecl__get_type()); } #else static void *DProcedureDecl__parser__builder(void) { return tsf_parser_create(DProcedureDecl__get_type()); } #endif tsf_parser_t *DProcedureDecl__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DProcedureDecl__parser, DProcedureDecl__parser__builder); #else pthread_once(&DProcedureDecl__parser__oc, DProcedureDecl__parser__builder); return DProcedureDecl__parser; #endif } void DProcedureDecl__destruct(DProcedureDecl_t *data) { free(*&data->name); } tsf_bool_t DProcedureDecl__write(tsf_stream_file_output_t *out, DProcedureDecl_t *data) { return tsf_typed_data_write(out, DProcedureDecl__get_generator(), data); } DProcedureDecl_t *DProcedureDecl__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DProcedureDecl__get_parser()); } tsf_bool_t DProcedureDecl__read_into(tsf_stream_file_input_t *in, DProcedureDecl_t *result) { return tsf_typed_data_read_into(in, DProcedureDecl__get_parser(), result); } static tsf_type_t * volatile DProcedureDefn__type = NULL; static tsf_genrtr_t * volatile DProcedureDefn__genrtr = NULL; static tsf_parser_t * volatile DProcedureDefn__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDefn__type__oc = PTHREAD_ONCE_INIT; static void DProcedureDefn__type__builder(void) { DProcedureDefn__type = DProcedureDefn__build_type(); } #else static void *DProcedureDefn__type__builder(void) { return DProcedureDefn__build_type(); } #endif tsf_type_t *DProcedureDefn__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDefn__type, DProcedureDefn__type__builder); #else pthread_once(&DProcedureDefn__type__oc, DProcedureDefn__type__builder); return DProcedureDefn__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDefn__genrtr__oc = PTHREAD_ONCE_INIT; static void DProcedureDefn__genrtr__builder(void) { DProcedureDefn__genrtr = tsf_generator_create(DProcedureDefn__get_type()); } #else static void *DProcedureDefn__genrtr__builder(void) { return tsf_generator_create(DProcedureDefn__get_type()); } #endif tsf_genrtr_t *DProcedureDefn__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProcedureDefn__genrtr, DProcedureDefn__genrtr__builder); #else pthread_once(&DProcedureDefn__genrtr__oc, DProcedureDefn__genrtr__builder); return DProcedureDefn__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDefn__parser__oc = PTHREAD_ONCE_INIT; static void DProcedureDefn__parser__builder(void) { DProcedureDefn__parser = tsf_parser_create(DProcedureDefn__get_type()); } #else static void *DProcedureDefn__parser__builder(void) { return tsf_parser_create(DProcedureDefn__get_type()); } #endif tsf_parser_t *DProcedureDefn__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DProcedureDefn__parser, DProcedureDefn__parser__builder); #else pthread_once(&DProcedureDefn__parser__oc, DProcedureDefn__parser__builder); return DProcedureDefn__parser; #endif } void DProcedureDefn__destruct(DProcedureDefn_t *data) { free(*&data->name); DProcedureDefn__variables__destruct(&data->variables); DProcedureDefn__code__destruct(&data->code); } tsf_bool_t DProcedureDefn__write(tsf_stream_file_output_t *out, DProcedureDefn_t *data) { return tsf_typed_data_write(out, DProcedureDefn__get_generator(), data); } DProcedureDefn_t *DProcedureDefn__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DProcedureDefn__get_parser()); } tsf_bool_t DProcedureDefn__read_into(tsf_stream_file_input_t *in, DProcedureDefn_t *result) { return tsf_typed_data_read_into(in, DProcedureDefn__get_parser(), result); } static tsf_type_t * volatile DProgramElement__type = NULL; static tsf_genrtr_t * volatile DProgramElement__genrtr = NULL; static tsf_parser_t * volatile DProgramElement__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgramElement__type__oc = PTHREAD_ONCE_INIT; static void DProgramElement__type__builder(void) { DProgramElement__type = DProgramElement__build_type(); } #else static void *DProgramElement__type__builder(void) { return DProgramElement__build_type(); } #endif tsf_type_t *DProgramElement__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProgramElement__type, DProgramElement__type__builder); #else pthread_once(&DProgramElement__type__oc, DProgramElement__type__builder); return DProgramElement__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgramElement__genrtr__oc = PTHREAD_ONCE_INIT; static void DProgramElement__genrtr__builder(void) { DProgramElement__genrtr = tsf_generator_create(DProgramElement__get_type()); } #else static void *DProgramElement__genrtr__builder(void) { return tsf_generator_create(DProgramElement__get_type()); } #endif tsf_genrtr_t *DProgramElement__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProgramElement__genrtr, DProgramElement__genrtr__builder); #else pthread_once(&DProgramElement__genrtr__oc, DProgramElement__genrtr__builder); return DProgramElement__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgramElement__parser__oc = PTHREAD_ONCE_INIT; static void DProgramElement__parser__builder(void) { DProgramElement__parser = tsf_parser_create(DProgramElement__get_type()); } #else static void *DProgramElement__parser__builder(void) { return tsf_parser_create(DProgramElement__get_type()); } #endif tsf_parser_t *DProgramElement__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DProgramElement__parser, DProgramElement__parser__builder); #else pthread_once(&DProgramElement__parser__oc, DProgramElement__parser__builder); return DProgramElement__parser; #endif } void DProgramElement__destruct(DProgramElement_t *data) { switch (data->value) { case 0: DProcedureDecl__destruct(&data->u.procedureDecl); break; case 1: DProcedureDefn__destruct(&data->u.procedureDefn); break; default: break; } } tsf_bool_t DProgramElement__write(tsf_stream_file_output_t *out, DProgramElement_t *data) { return tsf_typed_data_write(out, DProgramElement__get_generator(), data); } DProgramElement_t *DProgramElement__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DProgramElement__get_parser()); } tsf_bool_t DProgramElement__read_into(tsf_stream_file_input_t *in, DProgramElement_t *result) { return tsf_typed_data_read_into(in, DProgramElement__get_parser(), result); } static tsf_type_t * volatile DProgram__type = NULL; static tsf_genrtr_t * volatile DProgram__genrtr = NULL; static tsf_parser_t * volatile DProgram__parser = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgram__type__oc = PTHREAD_ONCE_INIT; static void DProgram__type__builder(void) { DProgram__type = DProgram__build_type(); } #else static void *DProgram__type__builder(void) { return DProgram__build_type(); } #endif tsf_type_t *DProgram__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProgram__type, DProgram__type__builder); #else pthread_once(&DProgram__type__oc, DProgram__type__builder); return DProgram__type; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgram__genrtr__oc = PTHREAD_ONCE_INIT; static void DProgram__genrtr__builder(void) { DProgram__genrtr = tsf_generator_create(DProgram__get_type()); } #else static void *DProgram__genrtr__builder(void) { return tsf_generator_create(DProgram__get_type()); } #endif tsf_genrtr_t *DProgram__get_generator(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_genrtr_t*)tsf_init_pointer((void**)&DProgram__genrtr, DProgram__genrtr__builder); #else pthread_once(&DProgram__genrtr__oc, DProgram__genrtr__builder); return DProgram__genrtr; #endif } #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgram__parser__oc = PTHREAD_ONCE_INIT; static void DProgram__parser__builder(void) { DProgram__parser = tsf_parser_create(DProgram__get_type()); } #else static void *DProgram__parser__builder(void) { return tsf_parser_create(DProgram__get_type()); } #endif tsf_parser_t *DProgram__get_parser(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_parser_t*)tsf_init_pointer((void**)&DProgram__parser, DProgram__parser__builder); #else pthread_once(&DProgram__parser__oc, DProgram__parser__builder); return DProgram__parser; #endif } void DProgram__destruct(DProgram_t *data) { DProgram__globals__destruct(&data->globals); } tsf_bool_t DProgram__write(tsf_stream_file_output_t *out, DProgram_t *data) { return tsf_typed_data_write(out, DProgram__get_generator(), data); } DProgram_t *DProgram__read(tsf_stream_file_input_t *in) { return tsf_typed_data_read(in, DProgram__get_parser()); } tsf_bool_t DProgram__read_into(tsf_stream_file_input_t *in, DProgram_t *result) { return tsf_typed_data_read_into(in, DProgram__get_parser(), result); } static tsf_type_t * volatile DInstruction__mov__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__mov__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__mov__type__builder(void) { DInstruction__mov__type = DInstruction__mov__build_type(); } #else static void *DInstruction__mov__type__builder(void) { return DInstruction__mov__build_type(); } #endif tsf_type_t *DInstruction__mov__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__mov__type, DInstruction__mov__type__builder); #else pthread_once(&DInstruction__mov__type__oc, DInstruction__mov__type__builder); return DInstruction__mov__type; #endif } static tsf_type_t * volatile DInstruction__add__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__add__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__add__type__builder(void) { DInstruction__add__type = DInstruction__add__build_type(); } #else static void *DInstruction__add__type__builder(void) { return DInstruction__add__build_type(); } #endif tsf_type_t *DInstruction__add__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__add__type, DInstruction__add__type__builder); #else pthread_once(&DInstruction__add__type__oc, DInstruction__add__type__builder); return DInstruction__add__type; #endif } static tsf_type_t * volatile DInstruction__alloc__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__alloc__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__alloc__type__builder(void) { DInstruction__alloc__type = DInstruction__alloc__build_type(); } #else static void *DInstruction__alloc__type__builder(void) { return DInstruction__alloc__build_type(); } #endif tsf_type_t *DInstruction__alloc__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__alloc__type, DInstruction__alloc__type__builder); #else pthread_once(&DInstruction__alloc__type__oc, DInstruction__alloc__type__builder); return DInstruction__alloc__type; #endif } void DInstruction__alloc__destruct(DInstruction__alloc_t *data) { DType__destruct(&data->type); } static tsf_type_t * volatile DInstruction__ret__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__ret__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__ret__type__builder(void) { DInstruction__ret__type = DInstruction__ret__build_type(); } #else static void *DInstruction__ret__type__builder(void) { return DInstruction__ret__build_type(); } #endif tsf_type_t *DInstruction__ret__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__ret__type, DInstruction__ret__type__builder); #else pthread_once(&DInstruction__ret__type__oc, DInstruction__ret__type__builder); return DInstruction__ret__type; #endif } static tsf_type_t * volatile DInstruction__jump__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__jump__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__jump__type__builder(void) { DInstruction__jump__type = DInstruction__jump__build_type(); } #else static void *DInstruction__jump__type__builder(void) { return DInstruction__jump__build_type(); } #endif tsf_type_t *DInstruction__jump__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__jump__type, DInstruction__jump__type__builder); #else pthread_once(&DInstruction__jump__type__oc, DInstruction__jump__type__builder); return DInstruction__jump__type; #endif } static tsf_type_t * volatile DInstruction__call__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__call__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__call__type__builder(void) { DInstruction__call__type = DInstruction__call__build_type(); } #else static void *DInstruction__call__type__builder(void) { return DInstruction__call__build_type(); } #endif tsf_type_t *DInstruction__call__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__call__type, DInstruction__call__type__builder); #else pthread_once(&DInstruction__call__type__oc, DInstruction__call__type__builder); return DInstruction__call__type; #endif } void DInstruction__call__destruct(DInstruction__call_t *data) { DInstruction__call__args__destruct(&data->args); } static tsf_type_t * volatile DInstruction__call__args__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__call__args__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__call__args__type__builder(void) { DInstruction__call__args__type = DInstruction__call__args__build_type(); } #else static void *DInstruction__call__args__type__builder(void) { return DInstruction__call__args__build_type(); } #endif tsf_type_t *DInstruction__call__args__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__call__args__type, DInstruction__call__args__type__builder); #else pthread_once(&DInstruction__call__args__type__oc, DInstruction__call__args__type__builder); return DInstruction__call__args__type; #endif } void DInstruction__call__args__destruct(DInstruction__call__args_t *data) { int16__array__destruct(data); } static tsf_type_t * volatile int16__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t int16__array__type__oc = PTHREAD_ONCE_INIT; static void int16__array__type__builder(void) { int16__array__type = int16__array__build_type(); } #else static void *int16__array__type__builder(void) { return int16__array__build_type(); } #endif tsf_type_t *int16__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&int16__array__type, int16__array__type__builder); #else pthread_once(&int16__array__type__oc, int16__array__type__builder); return int16__array__type; #endif } void int16__array__destruct(int16__array_t *data) { free(data->data); } static tsf_type_t * volatile DInstruction__branchZero__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__branchZero__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__branchZero__type__builder(void) { DInstruction__branchZero__type = DInstruction__branchZero__build_type(); } #else static void *DInstruction__branchZero__type__builder(void) { return DInstruction__branchZero__build_type(); } #endif tsf_type_t *DInstruction__branchZero__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__branchZero__type, DInstruction__branchZero__type__builder); #else pthread_once(&DInstruction__branchZero__type__oc, DInstruction__branchZero__type__builder); return DInstruction__branchZero__type; #endif } static tsf_type_t * volatile DProcedureDefn__variables__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDefn__variables__type__oc = PTHREAD_ONCE_INIT; static void DProcedureDefn__variables__type__builder(void) { DProcedureDefn__variables__type = DProcedureDefn__variables__build_type(); } #else static void *DProcedureDefn__variables__type__builder(void) { return DProcedureDefn__variables__build_type(); } #endif tsf_type_t *DProcedureDefn__variables__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDefn__variables__type, DProcedureDefn__variables__type__builder); #else pthread_once(&DProcedureDefn__variables__type__oc, DProcedureDefn__variables__type__builder); return DProcedureDefn__variables__type; #endif } void DProcedureDefn__variables__destruct(DProcedureDefn__variables_t *data) { DVariableDecl__array__destruct(data); } static tsf_type_t * volatile DVariableDecl__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DVariableDecl__array__type__oc = PTHREAD_ONCE_INIT; static void DVariableDecl__array__type__builder(void) { DVariableDecl__array__type = DVariableDecl__array__build_type(); } #else static void *DVariableDecl__array__type__builder(void) { return DVariableDecl__array__build_type(); } #endif tsf_type_t *DVariableDecl__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DVariableDecl__array__type, DVariableDecl__array__type__builder); #else pthread_once(&DVariableDecl__array__type__oc, DVariableDecl__array__type__builder); return DVariableDecl__array__type; #endif } void DVariableDecl__array__destruct(DVariableDecl__array_t *data) { uint32_t i; for (i = data->len; i--;) DVariableDecl__destruct((data->data + i)); free(data->data); } static tsf_type_t * volatile DProcedureDefn__code__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProcedureDefn__code__type__oc = PTHREAD_ONCE_INIT; static void DProcedureDefn__code__type__builder(void) { DProcedureDefn__code__type = DProcedureDefn__code__build_type(); } #else static void *DProcedureDefn__code__type__builder(void) { return DProcedureDefn__code__build_type(); } #endif tsf_type_t *DProcedureDefn__code__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProcedureDefn__code__type, DProcedureDefn__code__type__builder); #else pthread_once(&DProcedureDefn__code__type__oc, DProcedureDefn__code__type__builder); return DProcedureDefn__code__type; #endif } void DProcedureDefn__code__destruct(DProcedureDefn__code_t *data) { DInstruction__array__destruct(data); } static tsf_type_t * volatile DInstruction__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DInstruction__array__type__oc = PTHREAD_ONCE_INIT; static void DInstruction__array__type__builder(void) { DInstruction__array__type = DInstruction__array__build_type(); } #else static void *DInstruction__array__type__builder(void) { return DInstruction__array__build_type(); } #endif tsf_type_t *DInstruction__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DInstruction__array__type, DInstruction__array__type__builder); #else pthread_once(&DInstruction__array__type__oc, DInstruction__array__type__builder); return DInstruction__array__type; #endif } void DInstruction__array__destruct(DInstruction__array_t *data) { uint32_t i; for (i = data->len; i--;) DInstruction__destruct((data->data + i)); free(data->data); } static tsf_type_t * volatile DProgram__globals__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgram__globals__type__oc = PTHREAD_ONCE_INIT; static void DProgram__globals__type__builder(void) { DProgram__globals__type = DProgram__globals__build_type(); } #else static void *DProgram__globals__type__builder(void) { return DProgram__globals__build_type(); } #endif tsf_type_t *DProgram__globals__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProgram__globals__type, DProgram__globals__type__builder); #else pthread_once(&DProgram__globals__type__oc, DProgram__globals__type__builder); return DProgram__globals__type; #endif } void DProgram__globals__destruct(DProgram__globals_t *data) { DProgramElement__array__destruct(data); } static tsf_type_t * volatile DProgramElement__array__type = NULL; #ifndef TSF_HAVE_INIT_POINTER static pthread_once_t DProgramElement__array__type__oc = PTHREAD_ONCE_INIT; static void DProgramElement__array__type__builder(void) { DProgramElement__array__type = DProgramElement__array__build_type(); } #else static void *DProgramElement__array__type__builder(void) { return DProgramElement__array__build_type(); } #endif tsf_type_t *DProgramElement__array__get_type(void) { #ifdef TSF_HAVE_INIT_POINTER return (tsf_type_t*)tsf_init_pointer((void**)&DProgramElement__array__type, DProgramElement__array__type__builder); #else pthread_once(&DProgramElement__array__type__oc, DProgramElement__array__type__builder); return DProgramElement__array__type; #endif } void DProgramElement__array__destruct(DProgramElement__array_t *data) { uint32_t i; for (i = data->len; i--;) DProgramElement__destruct((data->data + i)); free(data->data); }