Fixes to the cname patch.

This commit is contained in:
Christoffer Lerno
2021-06-30 22:41:34 +02:00
parent e530869aeb
commit 12ffeeaad7
6 changed files with 22 additions and 22 deletions

View File

@@ -23,9 +23,9 @@ struct File
void *file;
}
extern func int _puts(char* message) @cname("puts");
extern func int _puts(char* message) @extname("puts");
extern func int printf(char* message, ...);
extern func int _putchar(char c) @cname("putchar");
extern func int _putchar(char c) @extname("putchar");
extern File *__stdinp;

View File

@@ -1,9 +1,9 @@
module std::mem;
extern func void* _malloc(usize bytes) @cname("malloc");
extern func void* _realloc(void* ptr, usize bytes) @cname("realloc");
extern func void* _calloc(usize bytes, usize elements) @cname("calloc");
extern func void _free(void* ptr) @cname("free");
extern func void* _malloc(usize bytes) @extname("malloc");
extern func void* _realloc(void* ptr, usize bytes) @extname("realloc");
extern func void* _calloc(usize bytes, usize elements) @extname("calloc");
extern func void _free(void* ptr) @extname("free");
enum AllocationKind
{

View File

@@ -26,11 +26,11 @@ void* gWindow = null;
void* gScreenSurface = null;
extern func int init(uint flags) @cname("SDL_Init");
extern func int initSubSystem(uint flags) @cname("SDL_InitSubSystem");
extern func void quitSubSystem(uint flags) @cname("SDL_QuitSubSystem");
extern func uint wasInit(uint flags) @cname("SDL_WasInit");
extern func void quit() @cname("SDL_Quit");
extern func int init(uint flags) @extname("SDL_Init");
extern func int initSubSystem(uint flags) @extname("SDL_InitSubSystem");
extern func void quitSubSystem(uint flags) @extname("SDL_QuitSubSystem");
extern func uint wasInit(uint flags) @extname("SDL_WasInit");
extern func void quit() @extname("SDL_Quit");
enum SDLWindowFlags : c_int
{
@@ -59,8 +59,8 @@ enum SDLWindowFlags : c_int
VULKAN = 0x10000000 /**< window usable for Vulkan surface */
}
extern func void* createWindow(char *title, uint x, uint y, int w, int h, uint flags) @cname("SDL_CreateWindow");
extern func void* getWindowSurface(void *window) @cname("SDL_GetWindowSurface");
extern func void* createWindow(char *title, uint x, uint y, int w, int h, uint flags) @extname("SDL_CreateWindow");
extern func void* getWindowSurface(void *window) @extname("SDL_GetWindowSurface");
const uint WINDOWPOS_UNDEFINED_MASK = 0x1FFF0000;
extern func int exit(int code);
extern func int printf(char *mess, ...);
@@ -96,8 +96,8 @@ func void close()
quit();
}
extern func int pollEvent(SDL_Event *event) @cname("SDL_PollEvent");
extern func int updateWindowSurface(void *window) @cname("SDL_UpdateWindowSurface");
extern func int pollEvent(SDL_Event *event) @extname("SDL_PollEvent");
extern func int updateWindowSurface(void *window) @extname("SDL_UpdateWindowSurface");
enum SDLEventType : uint
{

View File

@@ -73,11 +73,11 @@ enum WindowEventID : cint
}
extern int getNumVideoDrivers() @cname("SDL_GetNumVideoDrivers");
extern char* getVideoDriver(int index) @cname("SDL_GetVideoDriver");
extern SdlWindow* createWindowFrom(void* data) @cname("SDL_CreateWindowFrom");
extern int getWindowDisplayMode(SdlWindow* window, DisplayMode *mode) @cname("SDL_GetWindowDisplayMode");
extern uint getWindowFlags(SdlWindow* window) @cname("SDL_GetWindowFlags");
extern int getNumVideoDrivers() @extname("SDL_GetNumVideoDrivers");
extern char* getVideoDriver(int index) @extname("SDL_GetVideoDriver");
extern SdlWindow* createWindowFrom(void* data) @extname("SDL_CreateWindowFrom");
extern int getWindowDisplayMode(SdlWindow* window, DisplayMode *mode) @extname("SDL_GetWindowDisplayMode");
extern uint getWindowFlags(SdlWindow* window) @extname("SDL_GetWindowFlags");
const uint WINDOWPOS_UNDEFINED_MASK = 0x1FFF0000;

View File

@@ -363,7 +363,7 @@ typedef struct
bool attr_noreturn : 1;
bool attr_inline : 1;
bool attr_noinline : 1;
bool attr_cname : 1;
bool attr_extname : 1;
bool attr_stdcall : 1;
};

View File

@@ -744,7 +744,7 @@ static AttributeType sema_analyse_attribute(Context *context, Attr *attr, Attrib
case ATTRIBUTE_EXTNAME:
if (context->module->is_generic)
{
SEMA_TOKID_ERROR(attr->name, "'cname' attributes are not allowed in generic modules.");
SEMA_TOKID_ERROR(attr->name, "'extname' attributes are not allowed in generic modules.");
return false;
}
if (!attr->expr)