* support/regression/tests/using.c: new, added
authorMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 18 Oct 2007 20:35:34 +0000 (20:35 +0000)
committerMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 18 Oct 2007 20:35:34 +0000 (20:35 +0000)
* support/regression/tests/vaargs.c: fixed and enabled test

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4936 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
support/regression/tests/using.c [new file with mode: 0644]
support/regression/tests/vaargs.c

index fb56cdd1af6c752290396c46e776f0251983666a..64b20528f3f77ca41bfba9dc2f2f35c382bd7ef6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/using.c: new, added
+       * support/regression/tests/vaargs.c: fixed and enabled test
+
 2007-10-18 Borut Razem <borut.razem AT siol.net>
 
        * src/SDCCglue.c: fixed bug #983491 - Merge duplicate strings function
diff --git a/support/regression/tests/using.c b/support/regression/tests/using.c
new file mode 100644 (file)
index 0000000..ad5fc7d
--- /dev/null
@@ -0,0 +1,33 @@
+/** Test register bank allocation for the "using" keyword.
+  using: no_proto, impl, both
+*/
+#include <testfwk.h>
+
+#define _{using}
+
+#if defined (SDCC_mcs51) && defined (SDCC_MODEL_SMALL)
+
+  #ifndef _no_proto
+    #if defined (_both)
+      void my_isr (void) interrupt (1) using (1);
+    #else
+      void my_isr (void) interrupt (1);
+    #endif
+  #endif
+
+  data char array[8];
+
+  void my_isr (void) interrupt (1) using (1)
+  {
+    array[array[0]] = 1; //generate some register pressure
+  }
+
+#endif
+
+void testUsing (void)
+{
+#if defined (SDCC_mcs51) && defined (SDCC_MODEL_SMALL)
+  ASSERT ((unsigned char)(&array[0]) >= 0x10);
+  ASSERT ((unsigned char)&__numTests >= 0x10);
+#endif
+}
index 49beb2f576813a34e4f9b3849564e588358735d3..741cac31190aa3986d831efce1253db4428eee0a 100644 (file)
@@ -64,7 +64,7 @@ returnThirdArg(int marker, ...)
 }
 
 void
-disabled_testArgs(void)
+testArgs(void)
 {
     int marker = 12;
 
@@ -75,6 +75,6 @@ disabled_testArgs(void)
     ASSERT(returnSecondArg(marker, ({type1})1, ({type2})-23, ({type3})64) == -23);
     ASSERT(returnSecondArg(marker, ({type1})1, ({type2})8, ({type3})64) == 8);
 
-    ASSERT(returnThirdArg(marker, -33, -34, -35) == -35);
-    ASSERT(returnThirdArg(marker, -33, -34, 35) == 35);
+    ASSERT(returnThirdArg(marker, ({type1})-33, ({type2})-34, ({type3})-35) == -35);
+    ASSERT(returnThirdArg(marker, ({type1})-33, ({type2})-34, ({type3})35) == 35);
 }