blob: 5e336cab70a6df2b71c7f3e93ee61eac796ad7bc (
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/*
bug1-2195.c
comparison in foo() destroyed value of child due to incorrect register survival tracking
*/
#include <testfwk.h>
int g(void)
{
static int i = -2;
return(i++);
}
void bar(int i)
{
ASSERT(i == -1);
}
extern void baa(int i)
{
ASSERT(i != -1);
}
void
foo(void)
{
int child;
child = g();
if (child == -1) {
bar(child);
} else {
baa(child);
}
}
void testBug(void)
{
foo();
foo();
foo();
foo();
foo();
}
|