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
e02ecf39
Commit
e02ecf39
authored
Jul 19, 2000
by
Bruce Korb
Committed by
Bruce Korb
Jul 19, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
activate the auto-edit marker on the fixed output files
From-SVN: r35133
parent
ca2875c4
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
110 additions
and
101 deletions
+110
-101
gcc/ChangeLog
+8
-0
gcc/fixinc/check.tpl
+2
-1
gcc/fixinc/fixincl.c
+72
-100
gcc/fixinc/fixincl.sh
+1
-0
gcc/fixinc/fixlib.h
+27
-0
No files found.
gcc/ChangeLog
View file @
e02ecf39
2000-07-19 Bruce Korb <bkorb@gnu.org>
* fixinc/fixincl.c: Convert to using a table of environment variables
and activate the auto-edit marker on the fixed output files.
* fixinc/fixlib.h: Define the environment table
* fixinc/fixincl.sh: export the ${INPUT} dir
* fixinc/check.tpl: likewise
2000-07-18 Zack Weinberg <zack@wolery.cumb.org>
* gcc.c (.h spec): Fix typo.
...
...
gcc/fixinc/check.tpl
View file @
e02ecf39
...
...
@@ -18,8 +18,9 @@ DESTDIR=`pwd`/res
SRCDIR=`pwd`/inc
FIND_BASE='.'
VERBOSE=1
INPUT=`pwd`
export TARGET_MACHINE DESTDIR SRCDIR FIND_BASE VERBOSE
export TARGET_MACHINE DESTDIR SRCDIR FIND_BASE VERBOSE
INPUT
rm -rf $
{
DESTDIR
}
$
{
SRCDIR
}
mkdir $
{
DESTDIR
}
$
{
SRCDIR
}
...
...
gcc/fixinc/fixincl.c
View file @
e02ecf39
...
...
@@ -38,10 +38,21 @@ Boston, MA 02111-1307, USA. */
static
const
char
program_id
[]
=
"fixincl version 1.1"
;
/* This format will be used at the start of every generated file */
static
const
char
z_std_preamble
[]
=
"/* DO NOT EDIT THIS FILE.
\n\n
\
It has been auto-edited by fixincludes from:
\n\n
\
\t\"
%s/%s
\"\n\n
\
This had to be done to correct non-standard usages in the
\n
\
original, manufacturer supplied header file. */
\n\n
"
;
/* Working environment strings. Essentially, invocation 'options'. */
char
*
pz_dest_dir
=
NULL
;
char
*
pz_src_dir
=
NULL
;
char
*
pz_machine
=
NULL
;
#define _ENV_(v,m,n,t) tCC* v = NULL;
ENV_TABLE
#undef _ENV_
int
find_base_len
=
0
;
typedef
enum
{
...
...
@@ -67,6 +78,7 @@ t_bool curr_data_mapped;
int
data_map_fd
;
size_t
data_map_size
;
size_t
ttl_data_size
=
0
;
#ifdef DO_STATS
int
process_ct
=
0
;
int
apply_ct
=
0
;
...
...
@@ -74,14 +86,6 @@ int fixed_ct = 0;
int
altered_ct
=
0
;
#endif
/* DO_STATS */
#ifdef HAVE_MMAP_FILE
#define UNLOAD_DATA() do { if (curr_data_mapped) { \
munmap ((void*)pz_curr_data, data_map_size); close (data_map_fd); } \
else free ((void*)pz_curr_data); } while(0)
#else
#define UNLOAD_DATA() free ((void*)pz_curr_data)
#endif
const
char
incl_quote_pat
[]
=
"^[
\t
]*#[
\t
]*include[
\t
]*
\"
[^/]"
;
tSCC
z_fork_err
[]
=
"Error %d (%s) starting filter process for %s
\n
"
;
regex_t
incl_quote_re
;
...
...
@@ -203,8 +207,14 @@ initialize ( argc, argv )
char
**
argv
;
{
static
const
char
var_not_found
[]
=
"fixincl ERROR: %s environment variable not defined
\n
\
\t
TARGET_MACHINE, DESTDIR, SRCDIR and FIND_BASE are required
\n
"
;
"fixincl ERROR: %s environment variable not defined
\n
"
#ifdef __STDC__
"each of these must be defined:
\n
"
#define _ENV_(v,m,n,t) "\t" n " - " t "\n"
ENV_TABLE
#undef _ENV_
#endif
;
xmalloc_set_program_name
(
argv
[
0
]);
...
...
@@ -229,85 +239,48 @@ initialize ( argc, argv )
exit
(
EXIT_FAILURE
);
}
{
static
const
char
var
[]
=
"TARGET_MACHINE"
;
pz_machine
=
getenv
(
var
);
if
(
pz_machine
==
(
char
*
)
NULL
)
{
fprintf
(
stderr
,
var_not_found
,
var
);
exit
(
EXIT_FAILURE
);
}
}
#define _ENV_(v,m,n,t) { tSCC var[] = n; \
v = getenv (var); if (m && (v == NULL)) { \
fprintf (stderr, var_not_found, var); \
exit (EXIT_FAILURE); } }
{
static
const
char
var
[]
=
"DESTDIR"
;
pz_dest_dir
=
getenv
(
var
);
if
(
pz_dest_dir
==
(
char
*
)
NULL
)
{
fprintf
(
stderr
,
var_not_found
,
var
);
exit
(
EXIT_FAILURE
);
}
}
ENV_TABLE
{
static
const
char
var
[]
=
"SRCDIR"
;
pz_src_dir
=
getenv
(
var
);
if
(
pz_src_dir
==
(
char
*
)
NULL
)
{
fprintf
(
stderr
,
var_not_found
,
var
);
exit
(
EXIT_FAILURE
);
}
}
#undef _ENV_
{
static
const
char
var
[]
=
"VERBOSE"
;
char
*
pz
=
getenv
(
var
);
if
(
pz
!=
(
char
*
)
NULL
)
{
if
(
isdigit
(
*
pz
))
verbose_level
=
(
te_verbose
)
atoi
(
pz
);
else
switch
(
*
pz
)
{
case
's'
:
case
'S'
:
verbose_level
=
VERB_SILENT
;
break
;
case
'f'
:
case
'F'
:
verbose_level
=
VERB_FIXES
;
break
;
case
'a'
:
case
'A'
:
verbose_level
=
VERB_APPLIES
;
break
;
case
'p'
:
case
'P'
:
verbose_level
=
VERB_PROGRESS
;
break
;
case
't'
:
case
'T'
:
verbose_level
=
VERB_TESTS
;
break
;
case
'e'
:
case
'E'
:
verbose_level
=
VERB_EVERYTHING
;
break
;
}
}
}
if
(
isdigit
(
*
pz_verbose
))
verbose_level
=
(
te_verbose
)
atoi
(
pz_verbose
);
else
switch
(
*
pz_verbose
)
{
case
's'
:
case
'S'
:
verbose_level
=
VERB_SILENT
;
break
;
case
'f'
:
case
'F'
:
verbose_level
=
VERB_FIXES
;
break
;
case
'a'
:
case
'A'
:
verbose_level
=
VERB_APPLIES
;
break
;
case
'p'
:
case
'P'
:
verbose_level
=
VERB_PROGRESS
;
break
;
case
't'
:
case
'T'
:
verbose_level
=
VERB_TESTS
;
break
;
case
'e'
:
case
'E'
:
verbose_level
=
VERB_EVERYTHING
;
break
;
}
{
static
const
char
var
[]
=
"FIND_BASE"
;
char
*
pz
=
getenv
(
var
);
if
(
pz
==
(
char
*
)
NULL
)
{
fprintf
(
stderr
,
var_not_found
,
var
);
exit
(
EXIT_FAILURE
);
}
while
((
pz
[
0
]
==
'.'
)
&&
(
pz
[
1
]
==
'/'
))
pz
+=
2
;
if
((
pz
[
0
]
!=
'.'
)
||
(
pz
[
1
]
!=
NUL
))
find_base_len
=
strlen
(
pz
);
}
while
((
pz_find_base
[
0
]
==
'.'
)
&&
(
pz_find_base
[
1
]
==
'/'
))
pz_find_base
+=
2
;
if
((
pz_find_base
[
0
]
!=
'.'
)
||
(
pz_find_base
[
1
]
!=
NUL
))
find_base_len
=
strlen
(
pz_find_base
);
/* Compile all the regular expressions now.
That way, it is done only once for the whole run.
...
...
@@ -584,17 +557,16 @@ create_file ()
fprintf
(
stderr
,
"Fixed: %s
\n
"
,
pz_curr_file
);
pf
=
fdopen
(
fd
,
"w"
);
#ifdef LATER
{
static
const
char
hdr
[]
=
"/* DO NOT EDIT THIS FILE.
\n\n
"
" It has been auto-edited by fixincludes from /usr/include/%s
\n
"
" This had to be done to correct non-standard usages in the
\n
"
" original, manufacturer supplied header file. */
\n\n
"
;
/*
* IF pz_machine is NULL, then we are in some sort of test mode.
* Do not insert the current directory name. Use a constant string.
*/
fprintf
(
pf
,
z_std_preamble
,
(
pz_machine
==
NULL
)
?
"fixinc/tests/inc"
:
pz_input_dir
,
pz_curr_file
);
fprintf
(
pf
,
hdr
,
pz_curr_file
);
}
#endif
return
pf
;
}
...
...
@@ -953,8 +925,8 @@ fix_applies (p_fixd)
tFixDesc
*
p_fixd
;
{
#ifdef DEBUG
static
const
char
z_failed
[]
=
"not applying %s %s to %s -
"
"
test %d failed
\n
"
;
static
const
char
z_failed
[]
=
"not applying %s %s to %s -
\
test %d failed
\n
"
;
#endif
const
char
*
pz_fname
=
pz_curr_file
;
const
char
*
pz_scan
=
p_fixd
->
file_list
;
...
...
gcc/fixinc/fixincl.sh
View file @
e02ecf39
...
...
@@ -146,6 +146,7 @@ fi
cd
${
INPUT
}
INPUT
=
`
${
PWDCMD
}
`
export
INPUT
#
# # # # # # # # # # # # # # # # # # # # #
...
...
gcc/fixinc/fixlib.h
View file @
e02ecf39
...
...
@@ -96,6 +96,25 @@ typedef int apply_fix_p_t; /* Apply Fix Predicate Type */
#define _P_(p) ()
#endif
#define ENV_TABLE \
_ENV_( pz_machine, BOOL_TRUE, "TARGET_MACHINE", \
"output from config.guess" ) \
\
_ENV_( pz_src_dir, BOOL_TRUE, "SRCDIR", \
"directory of original files" ) \
\
_ENV_( pz_input_dir, BOOL_TRUE, "INPUT", \
"current directory for fixincl" ) \
\
_ENV_( pz_dest_dir, BOOL_TRUE, "DESTDIR", \
"output directory" ) \
\
_ENV_( pz_verbose, BOOL_FALSE, "VERBOSE", \
"amount of user entertainment" ) \
\
_ENV_( pz_find_base, BOOL_TRUE, "FIND_BASE", \
"leader to trim from file names" )
/* Test Descriptor
Each fix may have associated tests that determine
...
...
@@ -161,6 +180,14 @@ typedef struct {
extern
int
gnu_type_map_ct
;
#ifdef HAVE_MMAP_FILE
#define UNLOAD_DATA() do { if (curr_data_mapped) { \
munmap ((void*)pz_curr_data, data_map_size); close (data_map_fd); } \
else free ((void*)pz_curr_data); } while(0)
#else
#define UNLOAD_DATA() free ((void*)pz_curr_data)
#endif
/*
* Exported procedures
*/
...
...
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