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
23345bbb
Commit
23345bbb
authored
22 years ago
by
Neil Booth
Committed by
Neil Booth
22 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
/home/neil/diffs/include.log
From-SVN: r64373
parent
98d2dec7
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
137 additions
and
107 deletions
+137
-107
gcc/ChangeLog
+33
-0
gcc/Makefile.in
+2
-2
gcc/c-common.h
+3
-1
gcc/c-lex.c
+2
-29
gcc/c-opts.c
+85
-5
gcc/c-ppoutput.c
+6
-9
gcc/cpphash.h
+0
-8
gcc/cppinit.c
+2
-40
gcc/cpplib.c
+2
-9
gcc/cppmacro.c
+2
-4
No files found.
gcc/ChangeLog
View file @
23345bbb
2003-03-14 Neil Booth <neil@daikokuya.co.uk>
* Makefile.in: Update.
* c-common.h (fe_file_change, pp_file_change): New.
* c-lex.c (init_c_lex): Don't set cb_file_change.
(c_common_parse_file): Move to c-opts.c.
(cb_file_change): Rename fe_file_change.
* c-opts.c: Include debug.h.
(warn_unused_macros, include_cursor): New.
(push_command_line_include, cb_file_change): New.
(COMMAND_LINE_OPTIONS): Handle -include.
(c_common_decode_option): Use local warn_unused_macros.
Handle OPT_include.
(c_common_post_options): Set file change callback.
(handle_deferred_opts): Skip -include. Don't free the array.
(c_common_init): Call cpp_finish_options here, and push an
initial -include file.
* c-ppoutput.c (cb_file_change): Rename pp_file_change.
(preprocess_file): Don't call cpp_finish_options.
(init_pp_output): Don't set the file change callback.
(pp_file_change): Return if no line commands or no output.
* cpphash.h (next_include_file, first_unused_line): Remove.
* cppinit.c (include_head, include_tail): Remove.
(cpp_destroy): Don't free -include chain.
(cpp_finish_options): Don't handle -include, or worry about
-Wunused-macros.
(_cpp_maybe_push_include_file): Remove.
(COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
* cpplib.c (_cpp_pop_buffer): Don't handle -include.
* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
Used flag is set based upon the state of the warn_unused_macros
flag, and so use of first_unused_line is unnecessary.
Thu Mar 13 18:39:42 CET 2003 Jan Hubicka <jh@suse.cz>
* cselib.c (clear_table): Do not take argument; always clear just
...
...
This diff is collapsed.
Click to expand it.
gcc/Makefile.in
View file @
23345bbb
...
...
@@ -1308,9 +1308,9 @@ c-common.o : c-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
c-pretty-print.o
:
c-pretty-print.c c-pretty-print.h pretty-print.h
\
$(C_COMMON_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) real.h
c-opts.o
:
c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H)
$(C_COMMON_H)
\
c-opts.o
:
c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H)
\
c-pragma.h flags.h toplev.h langhooks.h tree-inline.h diagnostic.h
\
intl.h
intl.h
debug.h $(C_COMMON_H)
c-cppbuiltin.o
:
c-cppbuiltin.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
\
$(TREE_H) $(C_COMMON_H) c-pragma.h flags.h toplev.h langhooks.h
\
...
...
This diff is collapsed.
Click to expand it.
gcc/c-common.h
View file @
23345bbb
/* Definitions for c-common.c.
Copyright (C) 1987, 1993, 1994, 1995, 1997, 1998,
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1999, 2000, 2001, 2002
, 2003
Free Software Foundation, Inc.
This file is part of GCC.
...
...
@@ -1295,9 +1295,11 @@ extern void c_common_write_pch PARAMS ((void));
extern
void
builtin_define_with_value
PARAMS
((
const
char
*
,
const
char
*
,
int
));
extern
void
c_stddef_cpp_builtins
PARAMS
((
void
));
extern
void
fe_file_change
PARAMS
((
const
struct
line_map
*
));
/* In c-ppoutput.c */
extern
void
init_pp_output
PARAMS
((
FILE
*
));
extern
void
preprocess_file
PARAMS
((
cpp_reader
*
));
extern
void
pp_file_change
PARAMS
((
const
struct
line_map
*
));
#endif
/* ! GCC_C_COMMON_H */
This diff is collapsed.
Click to expand it.
gcc/c-lex.c
View file @
23345bbb
...
...
@@ -86,7 +86,6 @@ static int dump_one_header PARAMS ((splay_tree_node, void *));
static
void
cb_line_change
PARAMS
((
cpp_reader
*
,
const
cpp_token
*
,
int
));
static
void
cb_ident
PARAMS
((
cpp_reader
*
,
unsigned
int
,
const
cpp_string
*
));
static
void
cb_file_change
PARAMS
((
cpp_reader
*
,
const
struct
line_map
*
));
static
void
cb_def_pragma
PARAMS
((
cpp_reader
*
,
unsigned
int
));
static
void
cb_define
PARAMS
((
cpp_reader
*
,
unsigned
int
,
cpp_hashnode
*
));
...
...
@@ -116,7 +115,6 @@ init_c_lex ()
cb
->
register_builtins
=
cb_register_builtins
;
cb
->
line_change
=
cb_line_change
;
cb
->
ident
=
cb_ident
;
cb
->
file_change
=
cb_file_change
;
cb
->
def_pragma
=
cb_def_pragma
;
cb
->
valid_pch
=
c_common_valid_pch
;
cb
->
read_pch
=
c_common_read_pch
;
...
...
@@ -131,30 +129,6 @@ init_c_lex ()
}
}
/* A thin wrapper around the real parser that initializes the
integrated preprocessor after debug output has been initialized.
Also, make sure the start_source_file debug hook gets called for
the primary source file. */
void
c_common_parse_file
(
set_yydebug
)
int
set_yydebug
ATTRIBUTE_UNUSED
;
{
#if YYDEBUG != 0
yydebug
=
set_yydebug
;
#else
warning
(
"YYDEBUG not defined"
);
#endif
(
*
debug_hooks
->
start_source_file
)
(
lineno
,
input_filename
);
cpp_finish_options
(
parse_in
);
pch_init
();
yyparse
();
free_parser_stacks
();
}
struct
c_fileinfo
*
get_fileinfo
(
name
)
const
char
*
name
;
...
...
@@ -245,9 +219,8 @@ cb_line_change (pfile, token, parsing_args)
src_lineno
=
SOURCE_LINE
(
map
,
token
->
line
);
}
static
void
cb_file_change
(
pfile
,
new_map
)
cpp_reader
*
pfile
ATTRIBUTE_UNUSED
;
void
fe_file_change
(
new_map
)
const
struct
line_map
*
new_map
;
{
unsigned
int
to_line
=
SOURCE_LINE
(
new_map
,
new_map
->
to_line
);
...
...
This diff is collapsed.
Click to expand it.
gcc/c-opts.c
View file @
23345bbb
...
...
@@ -34,6 +34,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "intl.h"
#include "cppdefault.h"
#include "c-incpath.h"
#include "debug.h"
/* For debug_hooks. */
#ifndef TARGET_SYSTEM_ROOT
# define TARGET_SYSTEM_ROOT NULL
...
...
@@ -78,9 +79,15 @@ static bool std_cxx_inc = true;
/* If the quote chain has been split by -I-. */
static
bool
quote_chain_split
;
/* If -Wunused-macros. */
static
bool
warn_unused_macros
;
/* Number of deferred options, deferred options array size. */
static
size_t
deferred_count
,
deferred_size
;
/* Number of deferred options scanned for -include. */
static
size_t
include_cursor
;
static
void
missing_arg
PARAMS
((
size_t
));
static
size_t
find_opt
PARAMS
((
const
char
*
,
int
));
static
void
set_Wimplicit
PARAMS
((
int
));
...
...
@@ -95,6 +102,8 @@ static void check_deps_environment_vars PARAMS ((void));
static
void
handle_deferred_opts
PARAMS
((
void
));
static
void
sanitize_cpp_opts
PARAMS
((
void
));
static
void
add_prefixed_path
PARAMS
((
const
char
*
,
size_t
));
static
void
push_command_line_include
PARAMS
((
void
));
static
void
cb_file_change
PARAMS
((
cpp_reader
*
,
const
struct
line_map
*
));
#ifndef STDC_0_IN_SYSTEM_HEADERS
#define STDC_0_IN_SYSTEM_HEADERS 0
...
...
@@ -288,6 +297,7 @@ static void add_prefixed_path PARAMS ((const char *, size_t));
OPT("fxref", CL_CXX, OPT_fxref) \
OPT("gen-decls", CL_OBJC, OPT_gen_decls) \
OPT("idirafter", CL_ALL | CL_ARG, OPT_idirafter) \
OPT("include", CL_ALL | CL_ARG, OPT_include) \
OPT("iprefix", CL_ALL | CL_ARG, OPT_iprefix) \
OPT("isysroot", CL_ALL | CL_ARG, OPT_isysroot) \
OPT("isystem", CL_ALL | CL_ARG, OPT_isystem) \
...
...
@@ -1040,7 +1050,7 @@ c_common_decode_option (argc, argv)
break
;
case
OPT_Wunused_macros
:
cpp_opts
->
warn_unused_macros
=
on
;
warn_unused_macros
=
on
;
break
;
case
OPT_Wwrite_strings
:
...
...
@@ -1323,6 +1333,10 @@ c_common_decode_option (argc, argv)
add_path
(
xstrdup
(
arg
),
AFTER
,
0
);
break
;
case
OPT_include
:
defer_opt
(
code
,
arg
);
break
;
case
OPT_iprefix
:
iprefix
=
arg
;
break
;
...
...
@@ -1521,6 +1535,8 @@ c_common_post_options (pfilename)
lineno
=
0
;
}
cpp_get_callbacks
(
parse_in
)
->
file_change
=
cb_file_change
;
/* NOTE: we use in_fname here, not the one supplied. */
*
pfilename
=
cpp_read_main_file
(
parse_in
,
in_fname
,
ident_hash
);
...
...
@@ -1550,8 +1566,9 @@ c_common_init ()
if
(
flag_preprocess_only
)
{
if
(
main_input_filename
)
preprocess_file
(
parse_in
);
cpp_finish_options
(
parse_in
);
push_command_line_include
();
preprocess_file
(
parse_in
);
return
false
;
}
...
...
@@ -1561,6 +1578,28 @@ c_common_init ()
return
true
;
}
/* A thin wrapper around the real parser that initializes the
integrated preprocessor after debug output has been initialized.
Also, make sure the start_source_file debug hook gets called for
the primary source file. */
void
c_common_parse_file
(
set_yydebug
)
int
set_yydebug
ATTRIBUTE_UNUSED
;
{
#if YYDEBUG != 0
yydebug
=
set_yydebug
;
#else
warning
(
"YYDEBUG not defined"
);
#endif
(
*
debug_hooks
->
start_source_file
)
(
lineno
,
input_filename
);
cpp_finish_options
(
parse_in
);
push_command_line_include
();
pch_init
();
yyparse
();
free_parser_stacks
();
}
/* Common finish hook for the C, ObjC and C++ front ends. */
void
c_common_finish
()
...
...
@@ -1654,12 +1693,13 @@ handle_deferred_opts ()
cpp_add_dependency_target
(
parse_in
,
opt
->
arg
,
opt
->
code
==
OPT_MQ
);
break
;
case
OPT_include
:
break
;
default
:
abort
();
}
}
free
(
deferred_opts
);
}
/* These settings are appropriate for GCC, but not necessarily so for
...
...
@@ -1717,6 +1757,46 @@ add_prefixed_path (suffix, chain)
add_path
(
path
,
chain
,
0
);
}
/* Give CPP the next file given by -include, if any. */
static
void
push_command_line_include
()
{
if
(
cpp_opts
->
preprocessed
)
return
;
while
(
include_cursor
<
deferred_count
)
{
struct
deferred_opt
*
opt
=
&
deferred_opts
[
include_cursor
++
];
if
(
opt
->
code
==
OPT_include
&&
cpp_push_include
(
parse_in
,
opt
->
arg
))
return
;
}
if
(
include_cursor
==
deferred_count
)
{
/* Restore the line map from <command line>. */
cpp_rename_file
(
parse_in
,
main_input_filename
);
/* -Wunused-macros should only warn about macros defined hereafter. */
cpp_opts
->
warn_unused_macros
=
warn_unused_macros
;
include_cursor
++
;
}
}
/* File change callback. Has to handle -include files. */
static
void
cb_file_change
(
pfile
,
new_map
)
cpp_reader
*
pfile
ATTRIBUTE_UNUSED
;
const
struct
line_map
*
new_map
;
{
if
(
flag_preprocess_only
)
pp_file_change
(
new_map
);
else
fe_file_change
(
new_map
);
if
(
new_map
->
reason
==
LC_LEAVE
&&
MAIN_FILE_P
(
new_map
))
push_command_line_include
();
}
/* Set the C 89 standard (with 1994 amendments if C94, without GNU
extensions if ISO). There is no concept of gnu94. */
static
void
...
...
This diff is collapsed.
Click to expand it.
gcc/c-ppoutput.c
View file @
23345bbb
...
...
@@ -58,7 +58,6 @@ static void cb_include PARAMS ((cpp_reader *, unsigned int,
const
unsigned
char
*
,
const
cpp_token
*
));
static
void
cb_ident
PARAMS
((
cpp_reader
*
,
unsigned
int
,
const
cpp_string
*
));
static
void
cb_file_change
PARAMS
((
cpp_reader
*
,
const
struct
line_map
*
));
static
void
cb_def_pragma
PARAMS
((
cpp_reader
*
,
unsigned
int
));
/* Preprocess and output. */
...
...
@@ -66,8 +65,6 @@ void
preprocess_file
(
pfile
)
cpp_reader
*
pfile
;
{
cpp_finish_options
(
pfile
);
/* A successful cpp_read_main_file guarantees that we can call
cpp_scan_nooutput or cpp_get_token next. */
if
(
flag_no_output
)
...
...
@@ -110,8 +107,6 @@ init_pp_output (out_stream)
cb
->
ident
=
cb_ident
;
cb
->
def_pragma
=
cb_def_pragma
;
}
if
(
!
flag_no_line_commands
)
cb
->
file_change
=
cb_file_change
;
}
if
(
flag_dump_includes
)
...
...
@@ -368,18 +363,20 @@ cb_include (pfile, line, dir, header)
described in MAP. From this point on, the old print.map might be
pointing to freed memory, and so must not be dereferenced. */
static
void
cb_file_change
(
pfile
,
map
)
cpp_reader
*
pfile
;
void
pp_file_change
(
map
)
const
struct
line_map
*
map
;
{
const
char
*
flags
=
""
;
if
(
flag_no_line_commands
||
flag_no_output
)
return
;
/* First time? */
if
(
print
.
map
==
NULL
)
{
/* Avoid printing foo.i when the main file is foo.c. */
if
(
!
CPP_OPTION
(
pfile
,
preprocessed
)
)
if
(
!
cpp_get_options
(
parse_in
)
->
preprocessed
)
print_line
(
map
,
map
->
from_line
,
flags
);
}
else
...
...
This diff is collapsed.
Click to expand it.
gcc/cpphash.h
View file @
23345bbb
...
...
@@ -332,11 +332,6 @@ struct cpp_reader
/* If in_directive, the directive if known. */
const
struct
directive
*
directive
;
/* The next -include-d file; NULL if they all are done. If it
points to NULL, the last one is in progress, and
_cpp_maybe_push_include_file has yet to restore the line map. */
struct
pending_option
**
next_include_file
;
/* Search paths for include files. */
struct
cpp_path
*
quote_include
;
/* "" */
struct
cpp_path
*
bracket_include
;
/* <> */
...
...
@@ -368,9 +363,6 @@ struct cpp_reader
for include files. (Altered as we get more of them.) */
unsigned
int
max_include_len
;
/* Macros on or after this line are warned about if unused. */
unsigned
int
first_unused_line
;
/* Date and time text. Calculated together if either is requested. */
const
uchar
*
date
;
const
uchar
*
time
;
...
...
This diff is collapsed.
Click to expand it.
gcc/cppinit.c
View file @
23345bbb
...
...
@@ -48,7 +48,6 @@ struct cpp_pending
{
struct
pending_option
*
directive_head
,
*
directive_tail
;
struct
pending_option
*
imacros_head
,
*
imacros_tail
;
struct
pending_option
*
include_head
,
*
include_tail
;
};
#ifdef __STDC__
...
...
@@ -278,7 +277,6 @@ cpp_destroy (pfile)
cpp_context
*
context
,
*
contextn
;
tokenrun
*
run
,
*
runn
;
free_chain
(
CPP_OPTION
(
pfile
,
pending
)
->
include_head
);
free
(
CPP_OPTION
(
pfile
,
pending
));
free
(
pfile
->
op_stack
);
...
...
@@ -603,8 +601,6 @@ cpp_finish_options (pfile)
{
struct
pending_option
*
p
;
/* Prevent -Wunused-macros with command-line redefinitions. */
pfile
->
first_unused_line
=
(
unsigned
int
)
-
1
;
_cpp_do_file_change
(
pfile
,
LC_RENAME
,
_
(
"<built-in>"
),
1
,
0
);
init_builtins
(
pfile
);
_cpp_do_file_change
(
pfile
,
LC_RENAME
,
_
(
"<command line>"
),
1
,
0
);
...
...
@@ -617,42 +613,12 @@ cpp_finish_options (pfile)
for
(
p
=
CPP_OPTION
(
pfile
,
pending
)
->
imacros_head
;
p
;
p
=
p
->
next
)
if
(
cpp_push_include
(
pfile
,
p
->
arg
))
cpp_scan_nooutput
(
pfile
);
pfile
->
next_include_file
=
&
CPP_OPTION
(
pfile
,
pending
)
->
include_head
;
_cpp_maybe_push_include_file
(
pfile
);
}
pfile
->
first_unused_line
=
pfile
->
line
;
free_chain
(
CPP_OPTION
(
pfile
,
pending
)
->
imacros_head
);
free_chain
(
CPP_OPTION
(
pfile
,
pending
)
->
directive_head
);
}
/* Push the next buffer on the stack given by -include, if any. */
void
_cpp_maybe_push_include_file
(
pfile
)
cpp_reader
*
pfile
;
{
if
(
pfile
->
next_include_file
)
{
struct
pending_option
*
head
=
*
pfile
->
next_include_file
;
while
(
head
&&
!
cpp_push_include
(
pfile
,
head
->
arg
))
head
=
head
->
next
;
if
(
head
)
pfile
->
next_include_file
=
&
head
->
next
;
else
{
/* All done; restore the line map from <command line>. */
_cpp_do_file_change
(
pfile
,
LC_RENAME
,
pfile
->
line_maps
.
maps
[
0
].
to_file
,
1
,
0
);
/* Don't come back here again. */
pfile
->
next_include_file
=
NULL
;
}
}
}
/* This is called at the end of preprocessing. It pops the last
buffer and writes dependency output, and returns the number of
errors.
...
...
@@ -723,7 +689,7 @@ new_pending_directive (pend, text, handler)
DEF_OPT("D", no_mac, OPT_D) \
DEF_OPT("U", no_mac, OPT_U) \
DEF_OPT("imacros", no_fil, OPT_imacros) \
DEF_OPT("include", no_fil, OPT_include)
#define DEF_OPT(text, msg, code) code,
enum
opt_code
...
...
@@ -887,7 +853,6 @@ cpp_handle_option (pfile, argc, argv)
case
OPT_U
:
new_pending_directive
(
pend
,
arg
,
cpp_undef
);
break
;
case
OPT_include
:
case
OPT_imacros
:
{
struct
pending_option
*
o
=
(
struct
pending_option
*
)
...
...
@@ -895,10 +860,7 @@ cpp_handle_option (pfile, argc, argv)
o
->
arg
=
arg
;
o
->
next
=
NULL
;
if
(
opt_code
==
OPT_include
)
APPEND
(
pend
,
include
,
o
);
else
APPEND
(
pend
,
imacros
,
o
);
APPEND
(
pend
,
imacros
,
o
);
}
break
;
}
...
...
This diff is collapsed.
Click to expand it.
gcc/cpplib.c
View file @
23345bbb
/* CPP Library. (Directive handling.)
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1999, 2000, 2001, 2002
, 2003
Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
...
...
@@ -2072,14 +2072,7 @@ _cpp_pop_buffer (pfile)
/* Don't generate a callback for popping the main file. */
if
(
pfile
->
buffer
)
{
_cpp_do_file_change
(
pfile
,
LC_LEAVE
,
0
,
0
,
0
);
/* If this is the main file, there may be some -include
files left to push. */
if
(
!
pfile
->
buffer
->
prev
)
_cpp_maybe_push_include_file
(
pfile
);
}
_cpp_do_file_change
(
pfile
,
LC_LEAVE
,
0
,
0
,
0
);
}
}
...
...
This diff is collapsed.
Click to expand it.
gcc/cppmacro.c
View file @
23345bbb
/* Part of CPP library. (Macro and #define handling.)
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1998,
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1999, 2000, 2001, 2002
, 2003
Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
...
...
@@ -89,8 +89,6 @@ _cpp_warn_if_unused_macro (pfile, node, v)
cpp_macro
*
macro
=
node
->
value
.
macro
;
if
(
!
macro
->
used
/* Skip front-end built-ins and command line macros. */
&&
macro
->
line
>=
pfile
->
first_unused_line
&&
MAIN_FILE_P
(
lookup_line
(
&
pfile
->
line_maps
,
macro
->
line
)))
cpp_error_with_line
(
pfile
,
DL_WARNING
,
macro
->
line
,
0
,
"macro
\"
%s
\"
is not used"
,
NODE_NAME
(
node
));
...
...
@@ -1568,7 +1566,7 @@ _cpp_create_definition (pfile, node)
macro
->
params
=
0
;
macro
->
paramc
=
0
;
macro
->
variadic
=
0
;
macro
->
used
=
0
;
macro
->
used
=
!
CPP_OPTION
(
pfile
,
warn_unused_macros
)
;
macro
->
count
=
0
;
macro
->
fun_like
=
0
;
/* To suppress some diagnostics. */
...
...
This diff is collapsed.
Click to expand it.
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