summaryrefslogtreecommitdiff
path: root/support/regression/tests/bug-2175.c
blob: 6ee6343f9fb93c2e5c6583548d2b62bdb25aab37 (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
/*
   bug-2175.c
*/

#include <testfwk.h>

void f(unsigned char u)
{
    volatile unsigned char i = (unsigned char)((unsigned char)1 << (unsigned char)((unsigned char)u & (unsigned char)0xf));

    ASSERT (i == 0x20);
}

void g(unsigned char u)
{
    volatile unsigned char i = (unsigned char)((unsigned char)0x20 >> (unsigned char)((unsigned char)u & (unsigned char)0xf));

    ASSERT (i == 1);
}

void testBug(void)
{
	f(0x5);
	g(0x5);
}