48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
|
/*============================================================================
|
||
|
Kitware Information Macro Library
|
||
|
Copyright 2010-2011 Kitware, Inc.
|
||
|
|
||
|
Distributed under the OSI-approved BSD License (the "License");
|
||
|
see accompanying file Copyright.txt for details.
|
||
|
|
||
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
See the License for more information.
|
||
|
============================================================================*/
|
||
|
#include <stdio.h>
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
# define LANG "C++ "
|
||
|
#else
|
||
|
# define LANG "C "
|
||
|
#endif
|
||
|
|
||
|
static int test_ABI_endian(void)
|
||
|
{
|
||
|
int result = 1;
|
||
|
{
|
||
|
#if defined(@KWIML@_ABI_ENDIAN_ID)
|
||
|
int expect;
|
||
|
union { short s; unsigned char c[sizeof(short)]; } x;
|
||
|
x.s = 1;
|
||
|
expect = (x.c[0] == 1 ?
|
||
|
@KWIML@_ABI_ENDIAN_ID_LITTLE : @KWIML@_ABI_ENDIAN_ID_BIG);
|
||
|
printf(LANG "@KWIML@_ABI_ENDIAN_ID: expected [%d], got [%d]",
|
||
|
expect, @KWIML@_ABI_ENDIAN_ID);
|
||
|
if(@KWIML@_ABI_ENDIAN_ID == expect)
|
||
|
{
|
||
|
printf(", PASSED\n");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
printf(", FAILED\n");
|
||
|
result = 0;
|
||
|
}
|
||
|
#else
|
||
|
printf(LANG "@KWIML@_ABI_ENDIAN_ID: unknown, FAILED\n");
|
||
|
result = 0;
|
||
|
#endif
|
||
|
}
|
||
|
return result;
|
||
|
}
|