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
25e51a69
Commit
25e51a69
authored
Mar 22, 1993
by
Ian Lance Taylor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix #endif foo; don't alter sh options; clean up all DONE files
From-SVN: r3832
parent
bb64c987
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
36 deletions
+59
-36
gcc/fixincludes
+59
-36
No files found.
gcc/fixincludes
View file @
25e51a69
...
...
@@ -211,7 +211,8 @@ if $LINKS; then
done
fi
set
-
$treetops
set
x
$treetops
shift
while
[
$#
!=
0
]
;
do
# $1 is an old directory to copy, and $2 is the new directory to copy to.
cd
${
INPUT
}
...
...
@@ -241,41 +242,62 @@ while [ $# != 0 ]; do
# Thus, matching every #endif is unacceptable.
# But the argument to egrep must be kept small, or many versions of egrep
# won't be able to handle it.
# rms: I removed `|#[el].*if.*[^/ ]' because it made egrep fail.
if
egrep
'//|[ _]_IO|CTRL|#define.NULL|#[el]*if.*([0-9]|sparc|vax|sun|pyr)'
$file
>
/dev/null
;
then
#
# We use the pattern [!-.0-~] instead of [^/ ] to match a noncomment
# following #else or #endif because some buggy egreps think [^/] matches
# newline, and they thus think `#else ' matches `#e[ndiflse]*[ ]+[^/ ]'.
#
# We use the pattern [^a-zA-Z0-9_][_a-ce-km-z][a-z0-9] to match an identifier
# following #if or #elif that is not surrounded by __. The `a-ce-km-z'
# in this pattern lacks `d' and `l'; this means we don't worry about
# identifiers starting with `d' or `l'. This is OK, since none of the
# identifiers below start with `d' or `l'. It also greatly improves
# performance, since many files contain lines of the form `#if ... defined ...'
# or `#if lint'.
if
egrep
'//|[ _]_IO|CTRL|^#define.NULL|^#e[nl][ds][ief]*[ ]+[!-.0-~]|^#[el]*if.*[^a-zA-Z0-9_][_a-ce-km-z][a-z0-9]'
$file
>
/dev/null
;
then
if
[
-r
$file
]
;
then
cp
$file
$2
/
$file
>
/dev/null 2>&1
\
||
echo
"Can't copy
$file
"
chmod +w
$2
/
$file
chmod a+r
$2
/
$file
# Following two lines removed.
# s%^\([ ]*#[ ]*endif[ ]*\)\([^/ ].*\)$%\1/* \2 */%
# s%^\([ ]*#[ ]*else[ ]*\)\([^/ ].*\)$%\1/* \2 */%
sed
-e
'
:loop
/\\$/ N
/\\$/ b loop
s%^\([ ]*#[ ]*endif[ ]*\)\([^/ ].*\)$%\1/* \2 */%
s%^\([ ]*#[ ]*else[ ]*\)\([^/ ].*\)$%\1/* \2 */%
/\/\/[^*]/ s|//\(.*\)$|/*\1*/|
/[ ]_IO[A-Z]*[ ]*(/ s/(\(.\),/('
\'
'\1'
\'
',/
/[ ]BSD43__IO[A-Z]*[ ]*(/ s/(\(.\),/('
\'
'\1'
\'
',/
/#define._IO/ s/'
\'
'\([cgx]\)'
\'
'/\1/g
/#define.BSD43__IO/ s/'
\'
'\(
]
cgx]\)'
\'
'/\1/g
/#define.BSD43__IO/ s/'
\'
'\(
[
cgx]\)'
\'
'/\1/g
/[^A-Z]CTRL[ ]*(/ s/\([^'
\'
']\))/'
\'
'\1'
\'
')/
/#define.CTRL/ s/'
\'
'\([cgx]\)'
\'
'/\1/g
/#define._CTRL/ s/'
\'
'\([cgx]\)'
\'
'/\1/g
/#define.BSD43_CTRL/ s/'
\'
'\([cgx]\)'
\'
'/\1/g
/#[a-z]*if.*[ (]m68k/ s/\([^_]\)m68k/\1__m68k__/g
/#[a-z]*if.*[ (]__i386/ s/__i386/__i386__/g
/#[a-z]*if.*[ (]i386/ s/\([^_]\)i386/\1__i386__/g
/#[a-z]*if.*[ (]sparc/ s/\([^_]\)sparc/\1__sparc__/g
/#[a-z]*if.*[ (]mc68000/ s/\([^_]\)mc68000/\1__mc68000__/g
/#[a-z]*if.*[ (]vax/ s/\([^_]\)vax/\1__vax__/g
/#[a-z]*if.*[ (]sun/ s/\([^_]\)\(sun[a-z0-9]*\)\([^a-z0-9_]\)/\1__\2__\3/g
/#[a-z]*if.*[ (]sun/ s/\([^_]\)\(sun[a-z0-9]*\)$/\1__\2__/g
/#[a-z]*if.*[ (]ns32000/ s/\([^_]\)ns32000/\1__ns32000__/g
/#[a-z]*if.*[ (]pyr/ s/\([^_]\)pyr/\1__pyr__/g
/#[a-z]*if.*[ (]is68k/ s/\([^_]\)is68k/\1__is68k__/g
/#[el]*if/{
# Surround each word with spaces, to simplify matching below.
s/[a-zA-Z0-9_][a-zA-Z0-9_]*/ & /g
# ANSIfy each pre-ANSI machine-dependent symbol
# by surrounding it with __ __.
s/ bsd4\([0-9]\) / __bsd4\1__ /g
s/ _*i386 / __i386__ /g
s/ is68k / __is68k__ /g
s/ m68k / __m68k__ /g
s/ mc680\([0-9]\)0 / __mc680\10__ /g
s/ news\([0-9]*\) / __news\1__ /g
s/ ns32000 / __ns32000__ /g
s/ pyr / __pyr__ /g
s/ sony_news / __sony_news__ /g
s/ sparc / __sparc__ /g
s/ sun\([a-z0-9]*\) / __sun\1__ /g
s/ unix / __unix__ /g
s/ vax / __vax__ /g
# Remove the spaces that we inserted around each word.
s/ \([a-zA-Z0-9_][a-zA-Z0-9_]*\) /\1/g
}
/^#define.NULL[ ]/ i\
#undef NULL
'
$2
/
$file
>
$2
/
$file
.sed
...
...
@@ -497,21 +519,21 @@ fi
# Remove nested comments created by #endifs in a comment (Ultrix 4.1)
# Only needed if commenting out junk after #endif.
#
file=signal.h
#
if [ -r $file ] && [ ! -r ${LIB}/$file ]; then
#
cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"
#
chmod +w ${LIB}/$file 2>/dev/null
#
chmod a+r ${LIB}/$file 2>/dev/null
#
fi
#
#
if [ -r ${LIB}/$file ]; then
#
echo Fixing $file, nested comments
#
sed -e 's/#endif.*/#endif/' ${LIB}/$file > ${LIB}/${file}.sed
#
rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file
#
if cmp $file ${LIB}/$file >/dev/null 2>&1; then
#
rm -f ${LIB}/$file
#
fi
#
fi
file
=
signal.h
if
[
-r
$file
]
&&
[
!
-r
${
LIB
}
/
$file
]
;
then
cp
$file
${
LIB
}
/
$file
>
/dev/null 2>&1
||
echo
"Can't copy
$file
"
chmod +w
${
LIB
}
/
$file
2>/dev/null
chmod a+r
${
LIB
}
/
$file
2>/dev/null
fi
if
[
-r
${
LIB
}
/
$file
]
;
then
echo
Fixing
$file
, nested comments
sed
-e
's/#endif.*/#endif/'
${
LIB
}
/
$file
>
${
LIB
}
/
${
file
}
.sed
rm
-f
${
LIB
}
/
$file
;
mv
${
LIB
}
/
${
file
}
.sed
${
LIB
}
/
$file
if
cmp
$file
${
LIB
}
/
$file
>
/dev/null 2>&1
;
then
rm
-f
${
LIB
}
/
$file
fi
fi
# Check for superfluous `static' (in Ultrix 4.2)
file
=
machine/cpu.h
...
...
@@ -1010,7 +1032,8 @@ if $LINKS; then
done
fi
# Prevent premature exit when subsequently processing OTHER_FIXINCLUDES_DIRS.
rm
${
LIB
}
/DONE
echo
'Cleaning up DONE files.'
cd
$LIB
find
.
-name
DONE
-exec
rm
-f
{}
';'
exit
0
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