mirror of
https://github.com/mirror/tinycc.git
synced 2024-12-28 04:00:06 +08:00
Small fixes
The testcases 22_floating_point and 24_math_library did not work with make tcov-test Add -lm for these in tests/tests2/Makefile gcc -fanalyzer complains about tcc_malloc and tcc_realloc because malloc(0) and realloc(ptr, 0) is not tested correctly.
This commit is contained in:
parent
086870addd
commit
9bb9a04b5f
12
libtcc.c
12
libtcc.c
@ -265,8 +265,8 @@ PUB_FUNC void tcc_free(void *ptr)
|
|||||||
PUB_FUNC void *tcc_malloc(unsigned long size)
|
PUB_FUNC void *tcc_malloc(unsigned long size)
|
||||||
{
|
{
|
||||||
void *ptr;
|
void *ptr;
|
||||||
ptr = malloc(size);
|
ptr = malloc(size ? size : 1);
|
||||||
if (!ptr && size)
|
if (!ptr)
|
||||||
mem_error("memory full (malloc)");
|
mem_error("memory full (malloc)");
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
@ -283,9 +283,15 @@ PUB_FUNC void *tcc_mallocz(unsigned long size)
|
|||||||
PUB_FUNC void *tcc_realloc(void *ptr, unsigned long size)
|
PUB_FUNC void *tcc_realloc(void *ptr, unsigned long size)
|
||||||
{
|
{
|
||||||
void *ptr1;
|
void *ptr1;
|
||||||
|
if (size == 0) {
|
||||||
|
free(ptr);
|
||||||
|
ptr1 = NULL;
|
||||||
|
}
|
||||||
|
else {
|
||||||
ptr1 = realloc(ptr, size);
|
ptr1 = realloc(ptr, size);
|
||||||
if (!ptr1 && size)
|
if (!ptr1)
|
||||||
mem_error("memory full (realloc)");
|
mem_error("memory full (realloc)");
|
||||||
|
}
|
||||||
return ptr1;
|
return ptr1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,6 +55,8 @@ endif
|
|||||||
|
|
||||||
# Some tests might need arguments
|
# Some tests might need arguments
|
||||||
ARGS =
|
ARGS =
|
||||||
|
22_floating_point.test: FLAGS += -lm
|
||||||
|
24_math_library.test: FLAGS += -lm
|
||||||
31_args.test : ARGS = arg1 arg2 arg3 arg4 arg5
|
31_args.test : ARGS = arg1 arg2 arg3 arg4 arg5
|
||||||
46_grep.test : ARGS = '[^* ]*[:a:d: ]+\:\*-/: $$' $(SRC)/46_grep.c
|
46_grep.test : ARGS = '[^* ]*[:a:d: ]+\:\*-/: $$' $(SRC)/46_grep.c
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user