compiler.h, limits.h, types.h: Update SDCC/z80 files to include support for long long, inline, __FILE__, and __func__.
This commit is contained in:
parent
b436e3a2c8
commit
a5f3e1e6d1
@ -73,6 +73,10 @@
|
||||
#define LONG_MAX 2147483647L
|
||||
#define ULONG_MAX 4294967295UL
|
||||
|
||||
#define LLONG_MIN (-LLONG_MAX - 1)
|
||||
#define LLONG_MAX 9223372036854775807LL
|
||||
#define ULLONG_MAX 18446744073709551615ULL
|
||||
|
||||
/* A pointer is 2 bytes */
|
||||
|
||||
#define PTR_MIN (-PTR_MAX - 1)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* arch/z80/include/z80/types.h
|
||||
*
|
||||
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2009, 2017 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -80,6 +80,10 @@ typedef unsigned int _uint16_t;
|
||||
typedef signed long _int32_t;
|
||||
typedef unsigned long _uint32_t;
|
||||
|
||||
typedef signed long long _int64_t;
|
||||
typedef unsigned long long _uint64_t;
|
||||
#define __INT64_DEFINED
|
||||
|
||||
/* A pointer is 2 bytes */
|
||||
|
||||
typedef signed int _intptr_t;
|
||||
|
@ -1,7 +1,8 @@
|
||||
/****************************************************************************
|
||||
* include/nuttx/compiler.h
|
||||
*
|
||||
* Copyright (C) 2007-2009, 2012-2013, 2015-2017 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2009, 2012-2013, 2015-2017 Gregory Nutt. All rights
|
||||
* reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -55,7 +56,9 @@
|
||||
# define CONFIG_CPP_HAVE_VARARGS 1 /* Supports variable argument macros */
|
||||
# define CONFIG_CPP_HAVE_WARNING 1 /* Supports #warning */
|
||||
|
||||
/* Intriniscs */
|
||||
/* Intriniscs. GCC supports __func__ but provides __FUNCTION__ for backward
|
||||
* compatibility with older versions of GCC.
|
||||
*/
|
||||
|
||||
# define CONFIG_HAVE_FUNCTIONNAME 1 /* Has __FUNCTION__ */
|
||||
# define CONFIG_HAVE_FILENAME 1 /* Has __FILE__ */
|
||||
@ -292,6 +295,7 @@
|
||||
|
||||
# define CONFIG_HAVE_FUNCTIONNAME 1 /* Has __FUNCTION__ */
|
||||
# define CONFIG_HAVE_FILENAME 1 /* Has __FILE__ */
|
||||
# define __FUNCTION__ __func__ /* SDCC supports on __func__ */
|
||||
|
||||
/* Pragmas
|
||||
*
|
||||
@ -313,9 +317,13 @@
|
||||
# define weak_const_function
|
||||
# define restrict /* REVISIT */
|
||||
|
||||
/* SDCC does not support the noreturn or packed attributes */
|
||||
/* Current SDCC supports noreturn (via stdnoreturn.h or _Noreturn) */
|
||||
/* REVISIT: #define noreturn_function _Noreturn */
|
||||
|
||||
# define noreturn_function
|
||||
|
||||
/* SDCC does not support the packed attributes */
|
||||
|
||||
# define begin_packed_struct
|
||||
# define end_packed_struct
|
||||
|
||||
@ -335,6 +343,9 @@
|
||||
/* The reentrant attribute informs SDCC that the function
|
||||
* must be reentrant. In this case, SDCC will store input
|
||||
* arguments on the stack to support reentrancy.
|
||||
*
|
||||
* SDCC functions are always reentrant (except for the mcs51,
|
||||
* ds390, hc08 and s08 backends)
|
||||
*/
|
||||
|
||||
# define reentrant_function __reentrant
|
||||
@ -374,22 +385,24 @@
|
||||
|
||||
# define CONFIG_LONG_IS_NOT_INT 1
|
||||
|
||||
/* The generic pointer and int are not the same size
|
||||
* (for some SDCC architectures)
|
||||
/* The generic pointer and int are not the same size (for some SDCC
|
||||
* architectures). REVISIT: SDCC now has more backends where pointers are
|
||||
* the same size as int than just z80 and z180.
|
||||
*/
|
||||
|
||||
#if !defined(__z80) && !defined(__gbz80)
|
||||
# define CONFIG_PTR_IS_NOT_INT 1
|
||||
#endif
|
||||
|
||||
/* SDCC does not support inline functions */
|
||||
/* New versions of SDCC supports inline function */
|
||||
|
||||
# undef CONFIG_HAVE_INLINE
|
||||
# define inline
|
||||
# define CONFIG_HAVE_INLINE 1
|
||||
|
||||
/* SDCC does not support type long long or type double */
|
||||
/* SDCC does types long long and float, but not types double and long
|
||||
* double.
|
||||
*/
|
||||
|
||||
# undef CONFIG_HAVE_LONG_LONG
|
||||
# define CONFIG_HAVE_LONG_LONG 1
|
||||
# define CONFIG_HAVE_FLOAT 1
|
||||
# undef CONFIG_HAVE_DOUBLE
|
||||
# undef CONFIG_HAVE_LONG_DOUBLE
|
||||
|
Loading…
x
Reference in New Issue
Block a user