summaryrefslogtreecommitdiff
path: root/support/regression/tests/bug2944399.c
blob: dff64fcc54e50e7a1f68b896b28391de7c923508 (plain) (blame)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
   bug2944399.c
 */

#include <testfwk.h>

unsigned short Addr1(void)
{
  return (0x1234);
 }

unsigned short func16(unsigned short Dummy)
{
  return Dummy;
}

void testBug1(void)
{
  unsigned short a;

  a = 0x0101 | Addr1();
  ASSERT (func16(a) == (0x0101 | 0x1234));
}

void testBug2(void)
{
  unsigned short a;

  a = 0x0101 & Addr1();
  ASSERT (func16(a) == (0x0101 & 0x1234));
}

void testBug3(void)
{
  unsigned short a;

  a = 0x0101 ^ Addr1();
  ASSERT (func16(a) == (0x0101 ^ 0x1234));
}

void testBug4(void)
{
  unsigned short a;

  a = Addr1();
  a |= 0x0101;
  ASSERT (func16(a) == (0x0101 | 0x1234));
}