fixed #include -> #include in certain cases, found a new bug
This commit is contained in:
parent
d7a9a565a9
commit
c548b12bbb
4 changed files with 4922 additions and 2 deletions
17
05/main.c
17
05/main.c
|
@ -1 +1,16 @@
|
|||
/* #include "tests/parse_stb_image.h" */
|
||||
/* #include "tests/parse_stb_truetype.h" */
|
||||
|
||||
/*
|
||||
; @NONSTANDARD:
|
||||
; the following does not work:
|
||||
; typedef struct T Type;
|
||||
; struct T{
|
||||
; int m;
|
||||
; };
|
||||
; ...
|
||||
; Type *x = ...;
|
||||
; x->m; *trying to access member of incomplete struct
|
||||
This needs to be fixed because otherwise you can't do:
|
||||
struct A { struct B *blah; }
|
||||
struct B { struct A *blah; }
|
||||
*/
|
||||
|
|
|
@ -797,6 +797,7 @@ function translation_phase_4
|
|||
global 1000 dat_directive_include_text
|
||||
local inc_filename
|
||||
temp_out = &dat_directive_include_text
|
||||
memset(temp_out, 0, 1000)
|
||||
inc_filename = malloc(4000)
|
||||
pptoken_skip(&in)
|
||||
macro_replacement_to_terminator(filename, &line_number, &in, &temp_out, 10)
|
||||
|
|
4892
05/tests/parse_stb_truetype.h
Normal file
4892
05/tests/parse_stb_truetype.h
Normal file
File diff suppressed because it is too large
Load diff
14
05/util.b
14
05/util.b
|
@ -322,7 +322,7 @@ function memccpy
|
|||
memccpy_advance(&dest, &src, terminator)
|
||||
return dest
|
||||
|
||||
; like C, but returns 0
|
||||
; like C, but doesn't return anything
|
||||
; also, you can copy overlapping regions as long as dest < src.
|
||||
function memcpy
|
||||
argument dest
|
||||
|
@ -340,6 +340,18 @@ function memcpy
|
|||
n -= 1
|
||||
goto memcpy_loop
|
||||
|
||||
; like C, but doesn't return anything
|
||||
function memset
|
||||
argument dest
|
||||
argument c
|
||||
argument n
|
||||
:memset_loop
|
||||
if n == 0 goto return_0
|
||||
*1dest = c
|
||||
dest += 1
|
||||
n -= 1
|
||||
goto memset_loop
|
||||
|
||||
function strlen
|
||||
argument s
|
||||
local p
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue