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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
/* PR target/27531 */
/* This test case stressed the register allocator into reloading a LABEL_REF
on sparc, but didn't add a REG_LABEL note, ultimately causing the assembly
output to reference a label that had been eliminated. */
/* { dg-do link } */
/* { dg-options "-O2" } */
typedef struct _IO_FILE FILE;
char const *RCSname;
void *Locks;
void * Head;
struct Revpairs{
struct Revpairs * rnext;
};
extern char *strchr(const char *s, int c);
extern int fprintf(FILE *, const char *format, ...);
static void getrevpairs (char*);
static int branchflag;
static struct Revpairs *revlist, *Revlst;
extern int warn(const char *msg, char *argv);
extern int error(const char *msg, int c, char *argv);
extern int recentdate(void *foo, void *bar);
char *t;
int main (int argc, char **argv)
{
FILE *out;
char *a, **newargv;
void *currdate;
int descflag, selectflag;
int onlylockflag;
int onlyRCSflag;
int shownames;
descflag = selectflag = shownames = 1;
onlylockflag = onlyRCSflag = 0;
while (a = *++argv, 0<--argc)
{
switch (*a++)
{
case 'L':
onlylockflag = 1;
case 'N':
shownames = 0;
case 'R':
t = a;
case 'b':
branchflag = 1;
case 'r':
getrevpairs(a);
}
if (onlylockflag && !Locks)
fprintf(out, "%s\n", RCSname);
if (shownames)
while( currdate)
recentdate(Head, currdate);
}
}
void getrevpairs(char *argv)
{
char c;
struct Revpairs * nextrevpair;
int separator;
if (strchr(argv,':'))
separator = ':';
else
{
if (strchr(argv,'-') )
warn("`-' is obsolete in `-r%s'; use `:' instead", argv);
separator = '-';
}
for (;;)
{
nextrevpair->rnext = revlist;
for (;; c = *++argv)
{
switch (c)
{
default:
continue;
case ' ':
case '\t':
case '\n':
break;
case ':':
case '-':
if (c == separator)
continue;
}
break;
}
if (!c)
break;
error("missing `,' near `%c%s'", c, argv+1);
}
}
int warn(const char *msg, char *argv)
{
t = 0; /* this function needs side-effects. */
return 0;
}
int error(const char *msg, int c, char *argv)
{
t = 0; /* this function needs side-effects. */
return 0;
}
int recentdate(void *foo, void *bar)
{
t = 0; /* this function needs side-effects. */
return 0;
}
|