mirror of
https://github.com/bebbo/amiga-gcc.git
synced 2025-11-19 23:01:04 +00:00
refs #222: enhance clib/compiler-specific.h
This commit is contained in:
109
patches/NDK3.2/Include_H/clib/compiler-specific.h.diff
Normal file
109
patches/NDK3.2/Include_H/clib/compiler-specific.h.diff
Normal file
@ -0,0 +1,109 @@
|
||||
--- old/NDK3.2/Include_H/clib/compiler-specific.h 2021-04-13 02:41:06.000000000 +0200
|
||||
+++ new/NDK3.2/Include_H/clib/compiler-specific.h 2021-08-16 09:00:08.041987692 +0200
|
||||
@@ -9,6 +9,7 @@
|
||||
**
|
||||
** Copyright (C) 2020 Hyperion Entertainment CVBA.
|
||||
** Developed under license.
|
||||
+** gcc-yfied in 2021 by Bebbo
|
||||
*/
|
||||
|
||||
/* Some structure definitions include prototypes for function pointers.
|
||||
@@ -50,56 +51,94 @@
|
||||
#ifndef __REG__
|
||||
#ifdef __SASC
|
||||
#define __REG__(r, p) register __ ## r p
|
||||
+#elif defined (__GNUC__) && defined (__regargs)
|
||||
+#define __REG__(r, p) p asm(#r)
|
||||
#else
|
||||
#define __REG__(r, p) p
|
||||
#endif
|
||||
#endif /* __REG__ */
|
||||
|
||||
+#ifndef __REG
|
||||
+#define __REG(a,b) __REG(a,b)
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Stack based calling conventions
|
||||
*/
|
||||
#ifndef __STDARGS__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__stdargs)
|
||||
#define __STDARGS__ __stdargs
|
||||
#else
|
||||
#define __STDARGS__
|
||||
#endif
|
||||
#endif /* __STDARGS__ */
|
||||
|
||||
+#ifndef __STDARGS
|
||||
+#define __STDARGS __STDARGS__
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Small data model using A4-relative addressing needs to establish the
|
||||
** initial A4 register value.
|
||||
*/
|
||||
#ifndef __SAVE_DS__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__saveds)
|
||||
#define __SAVE_DS__ __saveds
|
||||
#else
|
||||
#define __SAVE_DS__
|
||||
#endif
|
||||
#endif /* __SAVE_DS__ */
|
||||
|
||||
+#ifndef __SAVE_DS
|
||||
+#define __SAVE_DS __SAVE_DS__
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Data or functions marked for absolute addressing rather than PC or
|
||||
** register-relative addressing.
|
||||
*/
|
||||
#ifndef __FAR__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__far)
|
||||
#define __FAR__ __far
|
||||
#else
|
||||
#define __FAR__
|
||||
#endif
|
||||
#endif /* __FAR__ */
|
||||
|
||||
+#ifndef __FAR
|
||||
+#define __FAR __FAR__
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+** Data or functions marked for absolute addressing rather than PC or
|
||||
+** register-relative addressing plus residing in chip ram
|
||||
+*/
|
||||
+#ifndef __CHIP__
|
||||
+#if defined (__SASC) || defined (__chip)
|
||||
+#define __CHIP__ __chip
|
||||
+#else
|
||||
+#define __CHIP__
|
||||
+#endif
|
||||
+#endif /* __CHIP__ */
|
||||
+
|
||||
+#ifndef __CHIP
|
||||
+#define __CHIP __CHIP__
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
** Request that upon exit from a function the CPU condition codes should be
|
||||
** updated based upon whether or not the value of register D0 is non-zero.
|
||||
*/
|
||||
#ifndef __INTERRUPT__
|
||||
-#ifdef __SASC
|
||||
+#if defined (__SASC) || defined (__interrupt)
|
||||
#define __INTERRUPT__ __interrupt
|
||||
#else
|
||||
#define __INTERRUPT__
|
||||
#endif
|
||||
#endif /* __INTERRUPT__ */
|
||||
|
||||
+#ifndef __INTERRUPT
|
||||
+#define __INTERRUPT __INTERRUPT__
|
||||
+#endif
|
||||
+
|
||||
#endif /* COMPILER_SPECIFIC_H */
|
||||
Reference in New Issue
Block a user