WONKY



LOG | FILES | OVERVIEW


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 control
if(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)
{