* mlibc/libc-gcc.c (free, memcpy): Move from libc-mes+tcc.c.
(realloc): Use realloc from libc-mes+tcc.c
* mlibc/libc-gcc+tcc.c (free, memcpy, realloc): Remove.
* mlibc/libc-mes+tcc.c (free, memcpy, realloc): Remove.
* scaffold/tests/79-int-array.c (test): Update.
* scaffold/tests/7a-struct-char-array.c (test): Update.
* along with Mes. If not, see <http://www.gnu.org/licenses/>.
*/
-#define FULL_MALLOC 1
#include <libc-gcc.c>
#include <libc-mes+tcc.c>
return 0;
}
-int
-putchar (int c)
+void
+free (void *ptr)
{
- write (STDOUT, (char*)&c, 1);
- return 0;
}
char *g_brk = 0;
return p;
}
-#if !FULL_MALLOC
void *
-realloc (void *p, size_t size)
+memcpy (void *dest, void const *src, size_t n)
{
- brk (g_brk + size);
- return g_brk;
+ char* p = dest;
+ char* q = src;
+ while (n--) *p++ = *q++;
+ return dest;
+}
+
+int
+putchar (int c)
+{
+ write (STDOUT, (char*)&c, 1);
+ return 0;
+}
+
+void *
+realloc (void *ptr, size_t size)
+{
+ void *new = malloc (size);
+ if (ptr && new)
+ {
+ memcpy (new, ptr, size);
+ free (ptr);
+ }
+ return new;
}
-#endif
size_t
strlen (char const* s)
#include <unistd.h>
#if !__GNUC__
-#define FULL_MALLOC 1
#include <libc-mes.c>
int errno;
return 0;
}
-void
-free (void *ptr)
-{
-}
-
int
fseek (FILE *stream, long offset, int whence)
{
eputs ("longjmp stub\n");
}
-void *
-memcpy (void *dest, void const *src, size_t n)
-{
- char* p = dest;
- char* q = src;
- while (n--) *p++ = *q++;
- return dest;
-}
-
void *
memmove (void *dest, void const *src, size_t n)
{
return p;
}
-void *
-realloc (void *ptr, size_t size)
-{
- void *new = malloc (size);
- if (ptr && new)
- {
- memcpy (new, ptr, size);
- free (ptr);
- }
- return new;
-}
-
int
vfprintf (FILE* f, char const* format, va_list ap)
{
return c == 1 ? c : (-1);
}
+void
+free (void *ptr)
+{
+}
+
//#define assert(x) ((x) ? (void)0 : assert_fail (#x))
int
ungetc (int c, int fd)
return p;
}
-#if !FULL_MALLOC
void *
-realloc (void *p, size_t size)
+memcpy (void *dest, void const *src, size_t n)
{
- brk (g_brk + size);
- return g_brk;
+ char* p = dest;
+ char* q = src;
+ while (n--) *p++ = *q++;
+ return dest;
+}
+
+void *
+realloc (void *ptr, size_t size)
+{
+ void *new = malloc (size);
+ if (ptr && new)
+ {
+ memcpy (new, ptr, size);
+ free (ptr);
+ }
+ return new;
}
-#endif
int
strncmp (char const* a, char const* b, int length)
struct foo f;
-void *
-memcpy (void *dest, void const *src, size_t n)
-{
- char* p = dest;
- char* q = src;
- while (n--) *p++ = *q++;
- return dest;
-}
-
int bla[6] = {0,0,11223344, 55667788,0,0};
int g_c[2] = {101, 111};
int fill8;
int fill9;
-void *
-memcpy (void *dest, void const *src, int n)
-{
- char* p = dest;
- char* q = src;
- while (n--) *p++ = *q++;
- return dest;
-}
-
-#if __MESC__
-char *
-strcpy (char *dest, char const *src)
-{
- char *p = dest;
- while (*src) *p++ = *src++;
- *p = 0;
- return dest;
-}
-#endif
-
int
test ()
{