Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
a92fa608
Commit
a92fa608
authored
May 12, 2000
by
Bruce Korb
Committed by
Bruce Korb
May 12, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
buglet & relaxed rules
From-SVN: r33877
parent
be1bb652
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
22 deletions
+48
-22
gcc/ChangeLog
+4
-0
gcc/fixinc/fixfixes.c
+44
-22
No files found.
gcc/ChangeLog
View file @
a92fa608
...
...
@@ -41,6 +41,10 @@
(
LABEL_NUSES
,
LABEL_REFS
)
:
Likewise
.
*
unroll
.
c
(
copy_loop_body
)
:
Don
'
t
copy
NOTE_INSN_DELETED_LABEL
.
2000
-
05
-
12
Bruce
Korb
<
bkorb
@gnu
.
org
>
*
fixinc
/
fixfixes
.
c
(
format_write
)
:
buglet
&
relaxed
rules
2000
-
05
-
12
Zack
Weinberg
<
zack
@wolery
.
cumb
.
org
>
*
fixinc
/
fixfixes
.
c
(
IO_use_fix
,
IO_defn_fix
,
CTRL_use_fix
,
...
...
gcc/fixinc/fixfixes.c
View file @
a92fa608
...
...
@@ -127,32 +127,54 @@ format_write (format, text, av)
tCC
*
text
;
regmatch_t
av
[];
{
tCC
*
p
,
*
str
;
int
c
;
size_t
len
;
for
(
p
=
0
;
*
p
;
p
++
)
{
c
=
*
p
;
if
(
c
!=
'%'
)
{
putchar
(
c
);
continue
;
}
c
=
*++
p
;
if
(
c
==
'%'
)
{
putchar
(
c
);
continue
;
}
else
if
(
c
<
'0'
||
c
>
'9'
)
{
abort
();
}
c
-=
'0'
;
str
=
text
+
av
[
c
].
rm_so
;
len
=
av
[
c
].
rm_eo
-
av
[
c
].
rm_so
;
fwrite
(
str
,
len
,
1
,
stdout
);
while
((
c
=
(
unsigned
)
*
(
format
++
))
!=
NUL
)
{
if
(
c
!=
'%'
)
{
putchar
(
c
);
continue
;
}
c
=
(
unsigned
)
*
(
format
++
);
/*
* IF the character following a '%' is not a digit,
* THEN we will always emit a '%' and we may or may
* not emit the following character. We will end on
* a NUL and we will emit only one of a pair of '%'.
*/
if
(
!
isdigit
(
c
))
{
putchar
(
'%'
);
switch
(
c
)
{
case
NUL
:
return
;
case
'%'
:
break
;
default
:
putchar
(
c
);
}
}
/*
* Emit the matched subexpression numbered 'c'.
* IF, of course, there was such a match...
*/
else
{
regmatch_t
*
pRM
=
av
+
(
c
-
(
unsigned
)
'0'
);
size_t
len
;
if
(
pRM
->
rm_so
<
0
)
continue
;
len
=
pRM
->
rm_eo
-
pRM
->
rm_so
;
if
(
len
>
0
)
fwrite
(
text
+
pRM
->
rm_so
,
len
,
1
,
stdout
);
}
}
}
FIX_PROC_HEAD
(
format_fix
)
{
tSCC
zBad
[]
=
"fixincl error: `%s' needs %s c_fix_arg
\n
"
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment