F diff --git a/src/syntax/source_file.c b/src/syntax/source_file.c --- a/src/syntax/source_file.c +++ b/src/syntax/source_file.c"#define va_copy(d,s) \n""\n""#endif\n";+ const char stddef_builtin[] =+ "#ifndef __WONKY_INTERNAL_STDDEF_H\n"+ "#define __WONKY_INTERNAL_STDDEF_H __WONKY_INTERNAL_STDDEF_H\n"+ "\n"+ "typedef long long unsigned int ptrdiff_t; \n"+ "typedef long long unsigned int size_t; \n"+ "typedef int wchar_t; \n"+ "#define NULL ((void*)0) \n"+ "#define offsetof(type,member_designator) ((size_t)0) \n"+ "\n"+ "#endif\n";struct Source_File* get_source_file_from_string(char *filename,size_t filename_size,struct Program *program){struct Source_File *ret;ret->src_size=0;ret->src_name=NULL;+ #warning TODO: refactor this when it get's out of controlif(gstrn_cmp(filename,"stdarg.h",filename_size)){ret->src=gstrncpy(stdargs_builtin,sizeof(stdargs_builtin));ret->src_name=get_source_name(filename);return ret;}+ if(gstrn_cmp(filename,"stddef.h",filename_size))+ {+ ret->src=gstrncpy(stddef_builtin,sizeof(stddef_builtin));+ ret->src_size=sizeof(stddef_builtin)-1;+ ret->src_name=get_source_name(filename);+ return ret;+ }for(selected_base_directory=0;selected_base_directory<wonky_default_include_paths_size;++selected_base_directory){