Browse Source

- removed log at the end

git-svn-id: trunk@5524 -
florian 18 years ago
parent
commit
8ef81d1086
1 changed files with 384 additions and 411 deletions
  1. 384 411
      tests/test/cg/obj/ctest.c

+ 384 - 411
tests/test/cg/obj/ctest.c

@@ -1,411 +1,384 @@
-/*
-  Program to test linking between C and pascal units.
-  Copyright (c) 2002, Carl Eric Codere
-*/
-
-/*
-   Note : Arrays seem to always be passed by reference
-   in the C language. Therefore, no testing is required
-   to use them.
-*/
-
-unsigned char global_u8bit;
-unsigned short global_u16bit;
-unsigned int global_u32bit;
-short global_s16bit;
-int global_s32bit;
-long long global_s64bit;
-unsigned long long global_u64bit;
-float global_float;
-double global_double;
-long double global_long_double;
-
-#define   RESULT_U8BIT    0x55
-#define   RESULT_U16BIT   0x500F
-#define   RESULT_U32BIT   0x500F0000
-#define   RESULT_S16BIT   -12
-#define   RESULT_S32BIT   -120
-#define   RESULT_S64BIT   -12000
-#define   RESULT_U64BIT   0x1BCDABCD
-#define   RESULT_PCHAR    "Hello world"
-#define   RESULT_FLOAT       14.54
-#define   RESULT_DOUBLE      15.54
-#define	  RESULT_LONGDOUBLE  16.54
-
-
-struct _1BYTE_
-{
-	unsigned char  u8;
-};
-
-struct _3BYTE_
-{
-	unsigned char  u8;
-	unsigned short u16;
-};
-
-struct _3BYTE_S
-{
-	unsigned short u16;
-	unsigned char w8;
-};
-
-struct _5BYTE_
-{
-	unsigned char  u8;
-	unsigned int u32;
-};
-
-struct _7BYTE_
-{
-	unsigned char u8;
-	long long s64;
-	unsigned short u16;
-};
-
-
-struct _7BYTE_ test_struct;
-
-
-/* simple parameter testing */
-void test_param_u8(unsigned char v)
-{
-  global_u8bit = v;
-}
-
-
-void test_param_u16(unsigned short v)
-{
-  global_u16bit = v;
-}
-
-void test_param_u32(unsigned int v)
-{
-  global_u32bit = v;
-}
-
-
-void test_param_s16(short v)
-{
-  global_s16bit = v;
-}
-
-void test_param_s32(int v)
-{
-  global_s32bit = v;
-}
-
-
-void test_param_s64(long long v)
-{
-  global_s64bit = v;
-}
-
-void test_param_u64(unsigned long long v)
-{
-  global_u64bit = v;
-}
-
-void test_param_float(float v)
-{
-  global_float = v;
-}
-
-void test_param_double(double v)
-{
-  global_double = v;
-}
-
-
-void test_param_longdouble(long double v)
-{
-  global_long_double = v;
-}
-
-/* simple array parameter testing */
-void test_array_param_u8(unsigned char v[2])
-{
-  global_u8bit = v[1];
-}
-
-
-void test_array_param_u16(unsigned short v[2])
-{
-  global_u16bit = v[1];
-}
-
-void test_array_param_u32(unsigned int v[2])
-{
-  global_u32bit = v[1];
-}
-
-
-void test_array_param_s16(short v[2])
-{
-  global_s16bit = v[1];
-}
-
-void test_array_param_s32(int v[2])
-{
-  global_s32bit = v[1];
-}
-
-
-void test_array_param_s64(long long v[2])
-{
-  global_s64bit = v[1];
-}
-
-void test_array_param_u64(unsigned long long v[2])
-{
-  global_u64bit = v[1];
-}
-
-void test_array_param_float(float v[2])
-{
-  global_float = v[1];
-}
-
-void test_array_param_double(double v[2])
-{
-  global_double = v[1];
-}
-
-
-void test_array_param_longdouble(long double v[2])
-{
-  global_long_double = v[1];
-}
-
-/* if this one works, others should also automatically */
-void test_param_var_u8(unsigned char *x)
-{
-	*x = RESULT_U8BIT;
-}
-
-/* mixed parameter testing */
-void test_param_mixed_u16(unsigned char z, unsigned short x, unsigned char y)
-{
-	global_u16bit = x;
-	global_u8bit = y;
-}
-
-void test_param_mixed_u32(unsigned char z, unsigned int x, unsigned char y)
-{
-	global_u32bit = x;
-	global_u8bit = y;
-}
-
-void test_param_mixed_s64(unsigned char z, long long x, unsigned char y)
-{
-	global_s64bit = x;
-	global_u8bit = y;
-}
-
-void test_param_mixed_var_u8(unsigned char *x, unsigned char y)
-{
-	global_u8bit = y;
-	*x = RESULT_U8BIT;
-}
-
-/* mixed parameter testing with floating point args */
-void test_param_mixed_float(float x, unsigned char y)
-{
-	global_float = x;
-	global_u8bit = y;
-}
-
-void test_param_mixed_double(double x, unsigned char y)
-{
-	global_double = x;
-	global_u8bit = y;
-}
-
-void test_param_mixed_long_double(long double x, unsigned char y)
-{
-	global_long_double = x;
-	global_u8bit = y;
-}
-
-/* simple record testing */
-void test_param_struct_tiny(struct _1BYTE_ buffer)
-{
-	global_u8bit = buffer.u8;
-}
-
-void test_param_struct_small(struct _3BYTE_ buffer)
-{
-	global_u8bit = buffer.u8;
-	global_u16bit = buffer.u16;
-}
-void test_param_struct_small_s(struct _3BYTE_S buffer)
-{
-	global_u8bit = buffer.w8;
-	global_u16bit = buffer.u16;
-}
-
-void test_param_struct_medium(struct _5BYTE_ buffer)
-{
-	global_u8bit = buffer.u8;
-	global_u32bit = buffer.u32;
-}
-
-void test_param_struct_large(struct _7BYTE_ buffer)
-{
-	global_u8bit = buffer.u8;
-	global_u16bit = buffer.u16;
-	global_s64bit = buffer.s64;
-}
-
-
-/* record+char testing */
-void test_param_mixed_struct_tiny(struct _1BYTE_ buffer, unsigned char y)
-{
-	global_u8bit = y;
-}
-
-void test_param_mixed_struct_small(struct _3BYTE_ buffer, unsigned char y)
-{
-	global_u8bit = y;
-	global_u16bit = buffer.u16;
-}
-void test_param_mixed_struct_small_s(struct _3BYTE_S buffer, unsigned char y)
-{
-	global_u8bit = y;
-	global_u16bit = buffer.u16;
-}
-
-void test_param_mixed_struct_medium(struct _5BYTE_ buffer, unsigned char y)
-{
-        global_u8bit = y;
-	global_u32bit = buffer.u32;
-}
-
-void test_param_mixed_struct_large(struct _7BYTE_ buffer, unsigned char y)
-{
-        global_u8bit = y;
-	global_u16bit = buffer.u16;
-	global_s64bit = buffer.s64;
-}
-
-
-/* function result testing */
-unsigned char test_function_u8()
-{
-	return RESULT_U8BIT;
-}
-
-unsigned short test_function_u16()
-{
-	return RESULT_U16BIT;
-}
-
-unsigned int test_function_u32()
-{
-	return RESULT_U32BIT;
-}
-
-unsigned long long test_function_u64()
-{
-	return RESULT_U64BIT;
-}
-
-unsigned short test_function_s16()
-{
-	return RESULT_S16BIT;
-}
-
-unsigned int test_function_s32()
-{
-	return RESULT_S32BIT;
-}
-
-unsigned long long test_function_s64()
-{
-	return RESULT_S64BIT;
-}
-
-char* test_function_pchar()
-{
-	return RESULT_PCHAR;
-}
-
-float test_function_float()
-{
-	return RESULT_FLOAT;
-}
-
-double test_function_double()
-{
-	return RESULT_DOUBLE;
-}
-
-long double test_function_longdouble()
-{
-	return RESULT_LONGDOUBLE;
-}
-
-struct _1BYTE_ test_function_tiny_struct()
-{
-        struct _1BYTE_ test_struct;
-	test_struct.u8 = RESULT_U8BIT;
-	return test_struct;
-}
-
-struct _3BYTE_ test_function_small_struct()
-{
-        struct _3BYTE_ test_struct;
-	test_struct.u8 = RESULT_U8BIT;
-	test_struct.u16 = RESULT_U16BIT;
-	return test_struct;
-}
-struct _3BYTE_S test_function_small_struct_s()
-{
-        struct _3BYTE_S test_struct;
-	test_struct.u16 = RESULT_U16BIT;
-	test_struct.w8 = RESULT_U8BIT;
-	return test_struct;
-}
-
-struct _5BYTE_ test_function_medium_struct()
-{
-        struct _5BYTE_ test_struct;
-	test_struct.u8 = RESULT_U8BIT;
-	test_struct.u32 = RESULT_U32BIT;
-	return test_struct;
-}
-
-struct _7BYTE_ test_function_struct()
-{
-	test_struct.u8 = RESULT_U8BIT;
-	test_struct.s64 = RESULT_S64BIT;
-	test_struct.u16 = RESULT_U16BIT;
-	return test_struct;
-}
-
-/*
-
-  Revision 1.7  2005/02/06 20:00:41  peter
-    * use int for 32bit types
-
-  Revision 1.6  2002/11/18 00:42:16  pierre
-   + records with really 3 byte size tests added
-
-  Revision 1.5  2002/11/04 15:17:45  pierre
-   * compatibility with C checks improved
-
-  Revision 1.4  2002/09/07 15:40:56  peter
-    * old logs removed and tabs fixed
-
-  Revision 1.3  2002/05/04 16:57:23  carl
-  + var parameter testing
-  + function result testing
-  + floating point testing
-
-  Revision 1.2  2002/04/22 19:09:12  carl
-  + added structure testing
-
-  Revision 1.1  2002/04/13 21:06:39  carl
-  + c module testing
-
-*/
+/*
+  Program to test linking between C and pascal units.
+  Copyright (c) 2002, Carl Eric Codere
+*/
+
+/*
+   Note : Arrays seem to always be passed by reference
+   in the C language. Therefore, no testing is required
+   to use them.
+*/
+
+unsigned char global_u8bit;
+unsigned short global_u16bit;
+unsigned int global_u32bit;
+short global_s16bit;
+int global_s32bit;
+long long global_s64bit;
+unsigned long long global_u64bit;
+float global_float;
+double global_double;
+long double global_long_double;
+
+#define   RESULT_U8BIT    0x55
+#define   RESULT_U16BIT   0x500F
+#define   RESULT_U32BIT   0x500F0000
+#define   RESULT_S16BIT   -12
+#define   RESULT_S32BIT   -120
+#define   RESULT_S64BIT   -12000
+#define   RESULT_U64BIT   0x1BCDABCD
+#define   RESULT_PCHAR    "Hello world"
+#define   RESULT_FLOAT       14.54
+#define   RESULT_DOUBLE      15.54
+#define	  RESULT_LONGDOUBLE  16.54
+
+
+struct _1BYTE_
+{
+	unsigned char  u8;
+};
+
+struct _3BYTE_
+{
+	unsigned char  u8;
+	unsigned short u16;
+};
+
+struct _3BYTE_S
+{
+	unsigned short u16;
+	unsigned char w8;
+};
+
+struct _5BYTE_
+{
+	unsigned char  u8;
+	unsigned int u32;
+};
+
+struct _7BYTE_
+{
+	unsigned char u8;
+	long long s64;
+	unsigned short u16;
+};
+
+
+struct _7BYTE_ test_struct;
+
+
+/* simple parameter testing */
+void test_param_u8(unsigned char v)
+{
+  global_u8bit = v;
+}
+
+
+void test_param_u16(unsigned short v)
+{
+  global_u16bit = v;
+}
+
+void test_param_u32(unsigned int v)
+{
+  global_u32bit = v;
+}
+
+
+void test_param_s16(short v)
+{
+  global_s16bit = v;
+}
+
+void test_param_s32(int v)
+{
+  global_s32bit = v;
+}
+
+
+void test_param_s64(long long v)
+{
+  global_s64bit = v;
+}
+
+void test_param_u64(unsigned long long v)
+{
+  global_u64bit = v;
+}
+
+void test_param_float(float v)
+{
+  global_float = v;
+}
+
+void test_param_double(double v)
+{
+  global_double = v;
+}
+
+
+void test_param_longdouble(long double v)
+{
+  global_long_double = v;
+}
+
+/* simple array parameter testing */
+void test_array_param_u8(unsigned char v[2])
+{
+  global_u8bit = v[1];
+}
+
+
+void test_array_param_u16(unsigned short v[2])
+{
+  global_u16bit = v[1];
+}
+
+void test_array_param_u32(unsigned int v[2])
+{
+  global_u32bit = v[1];
+}
+
+
+void test_array_param_s16(short v[2])
+{
+  global_s16bit = v[1];
+}
+
+void test_array_param_s32(int v[2])
+{
+  global_s32bit = v[1];
+}
+
+
+void test_array_param_s64(long long v[2])
+{
+  global_s64bit = v[1];
+}
+
+void test_array_param_u64(unsigned long long v[2])
+{
+  global_u64bit = v[1];
+}
+
+void test_array_param_float(float v[2])
+{
+  global_float = v[1];
+}
+
+void test_array_param_double(double v[2])
+{
+  global_double = v[1];
+}
+
+
+void test_array_param_longdouble(long double v[2])
+{
+  global_long_double = v[1];
+}
+
+/* if this one works, others should also automatically */
+void test_param_var_u8(unsigned char *x)
+{
+	*x = RESULT_U8BIT;
+}
+
+/* mixed parameter testing */
+void test_param_mixed_u16(unsigned char z, unsigned short x, unsigned char y)
+{
+	global_u16bit = x;
+	global_u8bit = y;
+}
+
+void test_param_mixed_u32(unsigned char z, unsigned int x, unsigned char y)
+{
+	global_u32bit = x;
+	global_u8bit = y;
+}
+
+void test_param_mixed_s64(unsigned char z, long long x, unsigned char y)
+{
+	global_s64bit = x;
+	global_u8bit = y;
+}
+
+void test_param_mixed_var_u8(unsigned char *x, unsigned char y)
+{
+	global_u8bit = y;
+	*x = RESULT_U8BIT;
+}
+
+/* mixed parameter testing with floating point args */
+void test_param_mixed_float(float x, unsigned char y)
+{
+	global_float = x;
+	global_u8bit = y;
+}
+
+void test_param_mixed_double(double x, unsigned char y)
+{
+	global_double = x;
+	global_u8bit = y;
+}
+
+void test_param_mixed_long_double(long double x, unsigned char y)
+{
+	global_long_double = x;
+	global_u8bit = y;
+}
+
+/* simple record testing */
+void test_param_struct_tiny(struct _1BYTE_ buffer)
+{
+	global_u8bit = buffer.u8;
+}
+
+void test_param_struct_small(struct _3BYTE_ buffer)
+{
+	global_u8bit = buffer.u8;
+	global_u16bit = buffer.u16;
+}
+void test_param_struct_small_s(struct _3BYTE_S buffer)
+{
+	global_u8bit = buffer.w8;
+	global_u16bit = buffer.u16;
+}
+
+void test_param_struct_medium(struct _5BYTE_ buffer)
+{
+	global_u8bit = buffer.u8;
+	global_u32bit = buffer.u32;
+}
+
+void test_param_struct_large(struct _7BYTE_ buffer)
+{
+	global_u8bit = buffer.u8;
+	global_u16bit = buffer.u16;
+	global_s64bit = buffer.s64;
+}
+
+
+/* record+char testing */
+void test_param_mixed_struct_tiny(struct _1BYTE_ buffer, unsigned char y)
+{
+	global_u8bit = y;
+}
+
+void test_param_mixed_struct_small(struct _3BYTE_ buffer, unsigned char y)
+{
+	global_u8bit = y;
+	global_u16bit = buffer.u16;
+}
+void test_param_mixed_struct_small_s(struct _3BYTE_S buffer, unsigned char y)
+{
+	global_u8bit = y;
+	global_u16bit = buffer.u16;
+}
+
+void test_param_mixed_struct_medium(struct _5BYTE_ buffer, unsigned char y)
+{
+        global_u8bit = y;
+	global_u32bit = buffer.u32;
+}
+
+void test_param_mixed_struct_large(struct _7BYTE_ buffer, unsigned char y)
+{
+        global_u8bit = y;
+	global_u16bit = buffer.u16;
+	global_s64bit = buffer.s64;
+}
+
+
+/* function result testing */
+unsigned char test_function_u8()
+{
+	return RESULT_U8BIT;
+}
+
+unsigned short test_function_u16()
+{
+	return RESULT_U16BIT;
+}
+
+unsigned int test_function_u32()
+{
+	return RESULT_U32BIT;
+}
+
+unsigned long long test_function_u64()
+{
+	return RESULT_U64BIT;
+}
+
+unsigned short test_function_s16()
+{
+	return RESULT_S16BIT;
+}
+
+unsigned int test_function_s32()
+{
+	return RESULT_S32BIT;
+}
+
+unsigned long long test_function_s64()
+{
+	return RESULT_S64BIT;
+}
+
+char* test_function_pchar()
+{
+	return RESULT_PCHAR;
+}
+
+float test_function_float()
+{
+	return RESULT_FLOAT;
+}
+
+double test_function_double()
+{
+	return RESULT_DOUBLE;
+}
+
+long double test_function_longdouble()
+{
+	return RESULT_LONGDOUBLE;
+}
+
+struct _1BYTE_ test_function_tiny_struct()
+{
+        struct _1BYTE_ test_struct;
+	test_struct.u8 = RESULT_U8BIT;
+	return test_struct;
+}
+
+struct _3BYTE_ test_function_small_struct()
+{
+        struct _3BYTE_ test_struct;
+	test_struct.u8 = RESULT_U8BIT;
+	test_struct.u16 = RESULT_U16BIT;
+	return test_struct;
+}
+struct _3BYTE_S test_function_small_struct_s()
+{
+        struct _3BYTE_S test_struct;
+	test_struct.u16 = RESULT_U16BIT;
+	test_struct.w8 = RESULT_U8BIT;
+	return test_struct;
+}
+
+struct _5BYTE_ test_function_medium_struct()
+{
+        struct _5BYTE_ test_struct;
+	test_struct.u8 = RESULT_U8BIT;
+	test_struct.u32 = RESULT_U32BIT;
+	return test_struct;
+}
+
+struct _7BYTE_ test_function_struct()
+{
+	test_struct.u8 = RESULT_U8BIT;
+	test_struct.s64 = RESULT_S64BIT;
+	test_struct.u16 = RESULT_U16BIT;
+	return test_struct;
+}