Moved stdlib to a seperate folder and added some more headers that are required for compiling libgcc (no implementation yet).

This commit is contained in:
2024-02-02 00:01:48 +01:00
parent 00f4e0de3a
commit 712b95c9d7
22 changed files with 154 additions and 42 deletions

View File

@@ -1,27 +0,0 @@
#pragma once
#if !defined(BAD_APPLE_OS_ASSERT_H_INCLUDED)
#define BAD_APPLE_OS_ASSERT_H_INCLUDED
#include "./detail/common.h"
BA_EXTERN_C_BEGIN
#if defined(NDEBUG)
#define assert(condition) ((void) 0)
#else
#define assert(condition) \
if (!(condition)) \
{ \
__ba__assert_fail(__FILE__, __LINE__, #condition); \
}
#endif
#if !defined(NDEBUG)
BA_CXX_NORETURN void __ba__assert_fail(const char* filename, int line, const char* condition) BA_CXX_NOEXCEPT;
#endif
BA_EXTERN_C_END
#endif // !defined(BAD_APPLE_OS_ASSERT_H_INCLUDED)

View File

@@ -1,21 +0,0 @@
#pragma once
#if !defined(BAD_APPLE_OS_DETAIL_ATTRIBUTES_H_INCLUDED)
#define BAD_APPLE_OS_DETAIL_ATTRIBUTES_H_INCLUDED
#if defined(__cplusplus)
#define BA_CXX_NODISCARD [[nodiscard]]
#define BA_CXX_NORETURN [[noreturn]]
#define BA_CXX_NOEXCEPT noexcept
#define BA_EXTERN_C_BEGIN extern "C" {
#define BA_EXTERN_C_END }
#else
#define BA_CXX_NODISCARD
#define BA_CXX_NORETURN
#define BA_CXX_NOEXCEPT
#define BA_EXTERN_C_BEGIN
#define BA_EXTERN_C_END
#endif
#endif // !defined(BAD_APPLE_OS_DETAIL_ATTRIBUTES_H_INCLUDED)

View File

@@ -1,43 +0,0 @@
#pragma once
#if !defined(BAD_APPLE_OS_MATH_H_INCLUDED)
#define BAD_APPLE_OS_MATH_H_INCLUDED
#if !defined(HUGE_VALF)
#define HUGE_VALF (__builtin_inff())
#endif
#if !defined(FLT_QNAN)
#define FLT_QNAN (__builtin_nanf(""))
#endif
#if !defined(FLT_SNAN)
#define FLT_SNAN (__builtin_nansf(""))
#endif
#if !defined(HUGE_VAL)
#define HUGE_VAL (__builtin_inf())
#endif
#if !defined(DBL_QNAN)
#define DBL_QNAN (__builtin_nan(""))
#endif
#if !defined(DBL_SNAN)
#define DBL_SNAN (__builtin_nans(""))
#endif
#if !defined(HUGE_VALL)
#define HUGE_VALL (__builtin_infl())
#endif
#if !defined(LDBL_QNAN)
#define LDBL_QNAN (__builtin_nanl(""))
#endif
#if !defined(LDBL_SNAN)
#define LDBL_SNAN (__builtin_nansl(""))
#endif
#endif // !defined(BAD_APPLE_OS_MATH_H_INCLUDED)

View File

@@ -0,0 +1,11 @@
#pragma once
#include <stdint.h>
extern "C"
{
extern const uint8_t LAT9_08[];
extern const unsigned LAT9_08_SIZE;
}

View File

@@ -1,35 +0,0 @@
#pragma once
#if !defined(BAD_APPLE_OS_STDIO_H_INCLUDED)
#define BAD_APPLE_OS_STDIO_H_INCLUDED
#include <stdarg.h>
#include <stddef.h>
#include "./detail/common.h"
#define stdin __stdin
BA_EXTERN_C_BEGIN
typedef struct __file FILE;
extern FILE* __stdin;
static int EOF = -1;
int putchar(int chr) BA_CXX_NOEXCEPT;
int puts(const char* str) BA_CXX_NOEXCEPT;
int printf(const char* format, ...) BA_CXX_NOEXCEPT __attribute__((format(printf, 1, 2)));
int vprintf(const char* format, va_list vlist) BA_CXX_NOEXCEPT;
int snprintf(char* buffer, size_t bufferSize, const char* format, ...) BA_CXX_NOEXCEPT __attribute__((format(printf, 3, 4)));
int vsnprintf(char* buffer, size_t bufferSize, const char* format, va_list vlist) BA_CXX_NOEXCEPT;
int fgetc(FILE* stream) BA_CXX_NOEXCEPT;
char* fgets(char* buffer, int count, FILE* stream) BA_CXX_NOEXCEPT;
inline int getc(FILE* stream) BA_CXX_NOEXCEPT { return fgetc(stream); }
inline int getchar() BA_CXX_NOEXCEPT { return fgetc(stdin); }
BA_EXTERN_C_END
#endif // !defined(BAD_APPLE_OS_STDIO_H_INCLUDED)

View File

@@ -1,18 +0,0 @@
#pragma once
#if !defined(BAD_APPLE_OS_STDLIB_H_INCLUDED)
#define BAD_APPLE_OS_STDLIB_H_INCLUDED
#include <stddef.h>
#include "./detail/common.h"
BA_EXTERN_C_BEGIN
BA_CXX_NORETURN void abort();
BA_CXX_NODISCARD void* malloc(size_t size) BA_CXX_NOEXCEPT;
void free(void* ptr) BA_CXX_NOEXCEPT;
BA_EXTERN_C_END
#endif // !defined(BAD_APPLE_OS_STDLIB_H_INCLUDED)

View File

@@ -1,21 +0,0 @@
#pragma once
#if !defined(BAD_APPLE_OS_STRING_H_INCLUDED)
#define BAD_APPLE_OS_STRING_H_INCLUDED
#include <stddef.h>
#include "./detail/common.h"
BA_EXTERN_C_BEGIN
BA_CXX_NODISCARD int memcmp(const void* lhs, const void* rhs, size_t count) BA_CXX_NOEXCEPT;
void* memcpy(void* dest, const void* src, size_t count) BA_CXX_NOEXCEPT;
void* memmove(void* dest, const void* src, size_t count) BA_CXX_NOEXCEPT;
void* memset(void* dest, int value, size_t count) BA_CXX_NOEXCEPT;
BA_CXX_NODISCARD size_t strlen(const char* str) BA_CXX_NOEXCEPT;
BA_EXTERN_C_END
#endif // !defined(BAD_APPLE_OS_STRING_H_INCLUDED)