Implemented LITTLE_ENDIAN and BIG_ENDIAN macros as requested in issue #106.
git-svn-id: http://picoc.googlecode.com/svn/trunk@533 21eae674-98b7-11dd-bd71-f92a316d2d60
This commit is contained in:
parent
e44b198946
commit
4adb99fff6
13
clibrary.c
13
clibrary.c
|
@ -5,6 +5,12 @@
|
|||
#define PICOC_VERSION "v2.1 beta r" VER /* VER is the subversion version number, obtained via the Makefile */
|
||||
static const char *VersionString = NULL;
|
||||
|
||||
/* endian-ness checking */
|
||||
static const int __ENDIAN_CHECK__ = 1;
|
||||
|
||||
static int BigEndian = 0;
|
||||
static int LittleEndian = 0;
|
||||
|
||||
|
||||
/* global initialisation for libraries */
|
||||
void LibraryInit()
|
||||
|
@ -12,6 +18,13 @@ void LibraryInit()
|
|||
/* define the version number macro */
|
||||
VersionString = TableStrRegister(PICOC_VERSION);
|
||||
VariableDefinePlatformVar(NULL, "PICOC_VERSION", CharPtrType, (union AnyValue *)&VersionString, FALSE);
|
||||
|
||||
/* define endian-ness macros */
|
||||
BigEndian = ((*(char*)&__ENDIAN_CHECK__) == 0);
|
||||
LittleEndian = ((*(char*)&__ENDIAN_CHECK__) == 1);
|
||||
|
||||
VariableDefinePlatformVar(NULL, "BIG_ENDIAN", &IntType, (union AnyValue *)&BigEndian, FALSE);
|
||||
VariableDefinePlatformVar(NULL, "LITTLE_ENDIAN", &IntType, (union AnyValue *)&LittleEndian, FALSE);
|
||||
}
|
||||
|
||||
/* add a library */
|
||||
|
|
Loading…
Reference in a new issue