cleaned leakage
This commit is contained in:
parent
4d7b1b3924
commit
d7d4630ca4
2
Makefile
2
Makefile
@ -13,7 +13,7 @@ endif
|
||||
ifeq ($(SAN), 1)
|
||||
CFLAGS += -fsanitize=address,undefined
|
||||
else
|
||||
WRAP := valgrind --track-origins=yes --leak-check=full --show-leak-kinds=all
|
||||
WRAP := valgrind --show-error-list=yes --track-origins=yes --leak-check=full --show-leak-kinds=all
|
||||
endif
|
||||
|
||||
CFLAGS += -Wall -Wextra -Wpedantic
|
||||
|
@ -100,17 +100,16 @@ u64{wsnl}+ { return U64; }
|
||||
BEGIN INITIAL;
|
||||
yylval.strval = strdup(string_literal_buffer);
|
||||
puts(string_literal_buffer);
|
||||
return LITERAL;
|
||||
return STRING_LITERAL;
|
||||
}
|
||||
. {
|
||||
string_litral_buffer_size += yyleng;
|
||||
if (string_litral_buffer_size > string_litral_buffer_capacity) {
|
||||
if (string_litral_buffer_size + yyleng > string_litral_buffer_capacity) {
|
||||
string_litral_buffer_capacity *= 2;
|
||||
void * ignore = realloc(string_literal_buffer, string_litral_buffer_capacity);
|
||||
(void)ignore;
|
||||
}
|
||||
memcpy(string_literal_buffer + string_litral_buffer_size, yytext, yyleng);
|
||||
puts(string_literal_buffer);
|
||||
string_litral_buffer_size += yyleng;
|
||||
}
|
||||
}
|
||||
|
||||
@ -155,16 +154,11 @@ void set_state(int state) {
|
||||
}
|
||||
|
||||
void yyfree_leftovers(void) {
|
||||
// XXX: wip
|
||||
for (size_t i = 0; i < yy_buffer_stack_max; i++) {
|
||||
free(yy_buffer_stack[i]);
|
||||
}
|
||||
|
||||
//yy_delete_buffer(b);
|
||||
|
||||
if (yyin) {
|
||||
fclose(yyin);
|
||||
}
|
||||
|
||||
yylex_destroy();
|
||||
|
||||
free(string_literal_buffer);
|
||||
}
|
||||
|
@ -138,9 +138,9 @@ code: %empty
|
||||
| BREAK code
|
||||
| TXOR register register code { /* assemble_xor(size_64b, type_register_register, $2, $3); */ }
|
||||
| TXOR register immediate code { /* assemble_xor(size_64b, type_register_register, $2, $3); */ }
|
||||
| TXOR IDENTIFIER register code { /* assemble_xor(size_64b, type_register_register, $2, $3); */ }
|
||||
| TXOR IDENTIFIER register code { /* assemble_xor(size_64b, type_register_register, $2, $3); */ free($2); }
|
||||
| TINC register code
|
||||
| TINC IDENTIFIER code
|
||||
| TINC IDENTIFIER code { free($2); }
|
||||
;
|
||||
|
||||
loop: TLOOP code END_LOOP
|
||||
@ -160,6 +160,7 @@ calltype: FASTCALL
|
||||
|
||||
arguments: %empty
|
||||
| IDENTIFIER arguments { free($1); }
|
||||
| STRING_LITERAL arguments { free($1); }
|
||||
| register arguments
|
||||
| immediate arguments
|
||||
;
|
||||
|
Loading…
x
Reference in New Issue
Block a user