diff options
Diffstat (limited to 'test/LLC/casts.c')
-rw-r--r-- | test/LLC/casts.c | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/test/LLC/casts.c b/test/LLC/casts.c deleted file mode 100644 index db941f1..0000000 --- a/test/LLC/casts.c +++ /dev/null @@ -1,126 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> - -#define __STDC_LIMIT_MACROS 1 -#include <inttypes.h> - - -int -main(int argc, char** argv) -{ - int8_t C, c1; - uint8_t uc1; - - short S, s1; - unsigned short us1; - - int i1; - unsigned ui1; - - int64_t L, l1; - uint64_t ul1; - - float F; - double D; - - /* input values */ - C = (char) (argc >= 2)? atoi(argv[1]) : 0x64; /* 100 = 'd' */ - S = (short) (argc >= 3)? atoi(argv[2]) : -769; /* 0xfcff = -769 */ - L = (long) (argc >= 4)? atoi(argv[3]) : 0xa3a3a3a3a3a3; /*179923220407203*/ - - /* Test integer to integer conversions */ - uc1 = (uint8_t) C; /* 100 = 'd' */ - us1 = (unsigned short) C; /* 100 = 'd' */ - ui1 = (unsigned int) C; /* 100 = 'd' */ - ul1 = (unsigned long) C; /* 100 = 'd' */ - - s1 = (short) C; /* 100 = 'd' */ - i1 = (int) C; /* 100 = 'd' */ - l1 = (long) C; /* 100 = 'd' */ - - printf("\nCHAR C = '%c' (%d)\t\t(0x%x)\n", C, C, C); - printf("char to short s1 = %d\t\t(0x%x)\n", s1, s1); - printf("char to int i1 = %d\t\t(0x%x)\n", i1, i1); - printf("char to long l1 = %ld\t\t(0x%lx)\n", l1, l1); - - printf("\nchar to ubyte uc1 = %u\t\t(0x%x)\n", uc1, uc1); - printf("char to ushort us1 = %u\t\t(0x%x)\n", us1, us1); - printf("char to uint ui1 = %u\t\t(0x%x)\n", ui1, ui1); - printf("char to ulong ul1 = %lu\t\t(0x%lx)\n", ul1, ul1); - - uc1 = (uint8_t) S; /* 0xff = 255 */ - us1 = (unsigned short) S; /* 0xfcff = 64767 */ - ui1 = (unsigned int) S; /* 0xfffffcff = 4294966527 */ - ul1 = (unsigned long) S; /* */ - - c1 = (int8_t) S; /* 0xff = -1 */ - i1 = (int) S; /* 0xfffffcff = -769 */ - l1 = (long) S; /* */ - - printf("\n\nSHORT S = %d\t\t(0x%x)\n", S, S); - printf("short to byte c1 = %d\t\t(0x%x)\n", c1, c1); - printf("short to int i1 = %d\t\t(0x%x)\n", i1, i1); - printf("short to long l1 = %ld\t\t(0x%lx)\n", l1, l1); - - printf("\nshort to ubyte uc1 = %u\t\t(0x%x)\n", uc1, uc1); - printf("short to ushort us1 = %u\t\t(0x%x)\n", us1, us1); - printf("short to uint ui1 = %u\t\t(0x%x)\n", ui1, ui1); - printf("short to ulong ul1 = %lu\t\t(0x%lx)\n", ul1, ul1); - - uc1 = (unsigned char) L; /* */ - c1 = (int8_t) L; /* */ - s1 = (short) L; /* */ - us1 = (unsigned short) L; /* */ - i1 = (int) L; /* */ - ui1 = (unsigned int) L; /* */ - ul1 = (unsigned long) L; /* */ - - printf("\n\nLONG L = %ld\t\t(0x%lx)\n", L, L); - printf("long to byte c1 = %d\t\t(0x%x)\n", c1, c1); - printf("long to short s1 = %d\t\t(0x%x)\n", s1, s1); - printf("long to int i1 = %d\t\t(0x%x)\n", i1, i1); - - printf("\nlong to ubyte uc1 = %u\t\t(0x%x)\n", uc1, uc1); - printf("long to ushort us1 = %u\t\t(0x%x)\n", us1, us1); - printf("long to uint ui1 = %u\t\t(0x%x)\n", ui1, ui1); - printf("long to ulong ul1 = %lu\t\t(0x%lx)\n", ul1, ul1); - - /* Test floating-point to integer conversions */ - F = (float) (argc >= 4)? atof(argv[3]) : 1.0; - D = (argc >= 5)? atof(argv[4]) : 2.0; - - us1 = (unsigned short) F; - ui1 = (unsigned int) F; - ul1 = (unsigned long) F; - - s1 = (short) F; - i1 = (int) F; - l1 = (long) F; - - printf("\n\nFLOAT F = %f\n", F); - printf("float to short s1 = %d\t\t(0x%x)\n", s1, s1); - printf("float to int i1 = %d\t\t(0x%x)\n", i1, i1); - - printf("float to ushort us1 = %u\t\t(0x%x)\n", us1, us1); - printf("float to uint ui1 = %u\t\t(0x%x)\n", ui1, ui1); - printf("float to ulong ul1 = %lu\t\t(0x%lx)\n", ul1, ul1); - - us1 = (unsigned short) D; - ui1 = (unsigned int) D; - ul1 = (unsigned long) D; - - s1 = (short) D; - i1 = (int) D; - l1 = (long) D; - - printf("\n\nDOUBLE D = %f\n", D); - printf("double to short s1 = %d\t\t(0x%x)\n", s1, s1); - printf("double to int i1 = %d\t\t(0x%x)\n", i1, i1); - printf("double to long l1 = %ld\t\t(0x%lx)\n", l1, l1); - - printf("double to ushort us1 = %u\t\t(0x%x)\n", us1, us1); - printf("double to uint ui1 = %u\t\t(0x%x)\n", ui1, ui1); - printf("double to ulong ul1 = %lu\t\t(0x%lx)\n", ul1, ul1); - - return 0; -} |