From f2fdddb8f07f59192cc3912bf8f2b9960b5f444c Mon Sep 17 00:00:00 2001 From: MaartenBrock Date: Thu, 18 Oct 2007 20:35:34 +0000 Subject: [PATCH] * support/regression/tests/using.c: new, added * 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 | 5 +++++ support/regression/tests/using.c | 33 +++++++++++++++++++++++++++++++ support/regression/tests/vaargs.c | 6 +++--- 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 support/regression/tests/using.c diff --git a/ChangeLog b/ChangeLog index fb56cdd1..64b20528 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-10-18 Maarten Brock + + * support/regression/tests/using.c: new, added + * support/regression/tests/vaargs.c: fixed and enabled test + 2007-10-18 Borut Razem * 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 index 00000000..ad5fc7d3 --- /dev/null +++ b/support/regression/tests/using.c @@ -0,0 +1,33 @@ +/** Test register bank allocation for the "using" keyword. + using: no_proto, impl, both +*/ +#include + +#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 +} diff --git a/support/regression/tests/vaargs.c b/support/regression/tests/vaargs.c index 49beb2f5..741cac31 100644 --- a/support/regression/tests/vaargs.c +++ b/support/regression/tests/vaargs.c @@ -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); } -- 2.30.2