summaryrefslogtreecommitdiff
path: root/support/regression/tests/bug-1953.c
blob: 281b9ba84c76fa7b724a005a1155b6f1f95f05c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
   bug-1953.c
 */

#include <testfwk.h>
#include <string.h>

char pat[8] = {'S', 'D', 'C', 'C', 0, 1, 0, 0};
char str_p0[8] = "SDCC\x00\x01";
char str_p1[8] = {'S', 'D', 'C', 'C', 0, 1};

void testBug(void)
{
  char str_l0[8] = "SDCC\x00\x01";
#ifndef __SDCC_pdk14 // Not enough RAM
  char str_l1[8] = {'S', 'D', 'C', 'C', 0, 1};
  static char str_s0[8] = "SDCC\x00\x01";
  static char str_s1[8] = {'S', 'D', 'C', 'C', 0, 1};
#endif

  ASSERT (memcmp (str_p0, pat, sizeof (pat)) == 0);
  ASSERT (memcmp (str_p1, pat, sizeof (pat)) == 0);
  ASSERT (memcmp (str_l0, pat, sizeof (pat)) == 0);
#ifndef __SDCC_pdk14 // Not enough RAM
  ASSERT (memcmp (str_l1, pat, sizeof (pat)) == 0);
  ASSERT (memcmp (str_s0, pat, sizeof (pat)) == 0);
  ASSERT (memcmp (str_s1, pat, sizeof (pat)) == 0);
#endif
}