diff options
author | camthesaxman <camthesaxman@users.noreply.github.com> | 2020-01-29 18:17:43 -0600 |
---|---|---|
committer | camthesaxman <camthesaxman@users.noreply.github.com> | 2020-01-29 18:17:43 -0600 |
commit | cdc6e2c50f96119bdc4c1205ff5901ca82ec8357 (patch) | |
tree | 3e9217eabcf444e166008411f445315606dded59 /gcc_arm/testsuite/consistency.vlad/layout/endian.c | |
parent | 27176890c4a688ea7de44d3f55af32827016a9fd (diff) |
add old compiler with ARM support
Diffstat (limited to 'gcc_arm/testsuite/consistency.vlad/layout/endian.c')
-rwxr-xr-x | gcc_arm/testsuite/consistency.vlad/layout/endian.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gcc_arm/testsuite/consistency.vlad/layout/endian.c b/gcc_arm/testsuite/consistency.vlad/layout/endian.c new file mode 100755 index 0000000..7bd1216 --- /dev/null +++ b/gcc_arm/testsuite/consistency.vlad/layout/endian.c @@ -0,0 +1,45 @@ +#include <stdio.h> + +static int w[2]; +static char * bytes; + +int main(void) +{ + printf ("+++Endian test:\n"); + if (sizeof (int) == 2) + { + w[0] = 0x4142; + w[1] = 0; + bytes = (char *) w; + if (strcmp(bytes, "AB") == 0) + printf ("big endian\n"); + else if (strcmp(bytes, "BA") == 0) + printf ("little endian\n"); + else + { + printf ("nor big nor little endian\n"); + return 1; + } + } + else if (sizeof (int) == 4) + { + w[0] = 0x41424344; + w[1] = 0; + bytes = (char *) w; + if (strcmp(bytes, "ABCD") == 0) + printf ("big endian\n"); + else if (strcmp(bytes, "DCBA") == 0) + printf ("little endian\n"); + else + { + printf ("nor big nor little endian\n"); + return 1; + } + } + else + { + printf ("unexpected size of int\n"); + return 1; + } + return 0; +} |