Kaynağa Gözat

* updated ctest.o and tcext*.o files for arm-wince.
* tcext5.c test file do not use floating point operations in softfloat mode, otherwise missing links are created to softfloat C functions.

git-svn-id: trunk@4078 -

yury 19 yıl önce
ebeveyn
işleme
d9bedaeda2

+ 1 - 0
.gitattributes

@@ -5830,6 +5830,7 @@ tests/test/cg/obj/win64/x86_64/tcext5.o -text
 tests/test/cg/obj/wince/arm/ctest.o -text
 tests/test/cg/obj/wince/arm/tcext3.o -text
 tests/test/cg/obj/wince/arm/tcext4.o -text
+tests/test/cg/obj/wince/arm/tcext5.o -text
 tests/test/cg/ptest.pp svneol=native#text/plain
 tests/test/cg/taddbool.pp svneol=native#text/plain
 tests/test/cg/taddcard.pp svneol=native#text/plain

+ 1 - 1
tests/test/cg/obj/readme.txt

@@ -19,4 +19,4 @@ NetBSD-m68k : GCC 2.95.3 on NetBSD elf 1.6
 Macos-powerpc : MrC C Compiler 4.1.0f1c1 for MPW (dont know yet if it
     can be used with FPC, but at least ctest.c compiles)
 
-wince 4.21 : GCC 3.3.1 (can't use eVC, LONG LONG not supported)
+wince 4.21 : GCC 3.3.3

+ 8 - 0
tests/test/cg/obj/tcext5.c

@@ -1,5 +1,9 @@
 #include <stdint.h>
 
+#ifdef __SOFTFP__
+  #define NO_FLOAT
+#endif
+
 struct struct_arr1 {
   int8_t v[1];
   };
@@ -287,12 +291,16 @@ int64_t pass313(struct struct31 s, struct struct3 s3, char c) {
 }
 
 int64_t pass11db10db(struct struct11 s11, double d1, uint8_t b1, struct struct10 s10, double d2, uint8_t b2) {
+#ifdef NO_FLOAT
+  return 0;
+#else
   if ((b1 != 35) ||
       (b2 != 36) ||
       ((d1 - 12345.678) > 0.001) ||
       ((d2 - 98765.453) > 0.001))
     return -1;
   return s10.v1 + s10.v2;
+#endif
 }
 
 

BIN
tests/test/cg/obj/wince/arm/ctest.o


BIN
tests/test/cg/obj/wince/arm/tcext3.o


BIN
tests/test/cg/obj/wince/arm/tcext4.o


BIN
tests/test/cg/obj/wince/arm/tcext5.o


+ 6 - 0
tests/test/cg/tcalext5.pp

@@ -9,6 +9,10 @@
 program calext3;
 {$MODE DELPHI}
 
+{$ifdef UNDER_CE}
+  {$define NO_FLOAT}
+{$endif}
+
 type
   int8_t = shortint;
   pint8_t = ^int8_t;
@@ -599,7 +603,9 @@ begin
   verify(pass311(s31,s1,32), check1(s1), 32);
   verify(pass312(s31,s2,33), check2(s2), 33);
   verify(pass313(s31,s3,34), check3(s3), 34);
+{$ifndef NO_FLOAT}
   verify(pass11db10db(s11,12345.678,35,s10,98745.453,36), check10(s10), 35);
+{$endif}
 
   verify(pass_arr1(sa1,101), check_arr1(sa1), 101);
   verify(pass_arr2(sa2,102), check_arr2(sa2), 102);