* src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
[fw/sdcc] / support / regression / tests / bug-927659.c
1 /* bug-927659.c
2
3    double processing resp. reversing of params
4 */
5
6 #include <testfwk.h>
7 #include <stdarg.h>
8 #include <stdio.h>
9
10 unsigned char
11 foo(unsigned char a, ...) REENTRANT
12 {
13   va_list argptr;
14   unsigned char b;
15
16   va_start (argptr, a);
17   b = va_arg (argptr, int);
18   va_end (argptr);
19   
20   return b;
21 }
22
23 unsigned char
24 bar(unsigned char a, unsigned char b) REENTRANT
25 {
26   return b / a;
27 }
28
29 void
30 testReverse(void)
31 {
32   ASSERT(foo (0, bar (1, 2)) == 2);
33 }
34
35 /*************************************************************/
36
37 #if !defined(PORT_HOST) && !defined(SDCC_ds390)
38 void putchar (char c)
39 {
40   c;
41 }
42 #endif
43
44 void
45 testAddFunc(void)
46 {
47 #if !defined(SDCC_z80) && !defined(SDCC_hc08)
48   char buf[5];
49   unsigned char count = 0;
50
51   count += sprintf (buf, "%d", 5);
52   ASSERT(count == 1 &&
53          buf[0] == '5' &&
54          buf[1] == '\0');
55 #else
56   ASSERT(1);
57 #endif
58 }
59 //#endif