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
8eebb258
Commit
8eebb258
authored
May 15, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r983
parent
648ebe7b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
62 additions
and
17 deletions
+62
-17
gcc/c-decl.c
+21
-7
gcc/gcc.c
+41
-10
No files found.
gcc/c-decl.c
View file @
8eebb258
...
@@ -1324,10 +1324,11 @@ duplicate_decls (newdecl, olddecl)
...
@@ -1324,10 +1324,11 @@ duplicate_decls (newdecl, olddecl)
warning_with_decl
(
olddecl
,
"non-prototype definition here"
);
warning_with_decl
(
olddecl
,
"non-prototype definition here"
);
}
}
}
}
/* Warn if function is now inline
/* Warn about mismatches in various flags. */
but was previously declared not inline and has been called. */
else
else
{
{
/* Warn if function is now inline
but was previously declared not inline and has been called. */
if
(
TREE_CODE
(
olddecl
)
==
FUNCTION_DECL
if
(
TREE_CODE
(
olddecl
)
==
FUNCTION_DECL
&&
!
TREE_INLINE
(
olddecl
)
&&
TREE_INLINE
(
newdecl
)
&&
!
TREE_INLINE
(
olddecl
)
&&
TREE_INLINE
(
newdecl
)
&&
TREE_USED
(
olddecl
))
&&
TREE_USED
(
olddecl
))
...
@@ -1345,8 +1346,10 @@ duplicate_decls (newdecl, olddecl)
...
@@ -1345,8 +1346,10 @@ duplicate_decls (newdecl, olddecl)
&&
!
TREE_PUBLIC
(
newdecl
))
&&
!
TREE_PUBLIC
(
newdecl
))
warning_with_decl
(
newdecl
,
"static declaration for `%s' follows non-static"
);
warning_with_decl
(
newdecl
,
"static declaration for `%s' follows non-static"
);
/* These bits are logically part of the type. */
/* These bits are logically part of the type, for variables.
if
(
pedantic
But not for functions
(where qualifiers are not valid ANSI anyway). */
if
(
pedantic
&&
TREE_CODE
(
olddecl
)
!=
FUNCTION_DECL
&&
(
TREE_READONLY
(
newdecl
)
!=
TREE_READONLY
(
olddecl
)
&&
(
TREE_READONLY
(
newdecl
)
!=
TREE_READONLY
(
olddecl
)
||
TREE_THIS_VOLATILE
(
newdecl
)
!=
TREE_THIS_VOLATILE
(
olddecl
)))
||
TREE_THIS_VOLATILE
(
newdecl
)
!=
TREE_THIS_VOLATILE
(
olddecl
)))
pedwarn_with_decl
(
newdecl
,
"type qualifiers for `%s' conflict with previous decl"
);
pedwarn_with_decl
(
newdecl
,
"type qualifiers for `%s' conflict with previous decl"
);
...
@@ -3885,9 +3888,20 @@ grokdeclarator (declarator, declspecs, decl_context, initialized)
...
@@ -3885,9 +3888,20 @@ grokdeclarator (declarator, declspecs, decl_context, initialized)
DECL_ARG_TYPE
(
decl
)
=
type
;
DECL_ARG_TYPE
(
decl
)
=
type
;
if
(
type
==
float_type_node
)
if
(
type
==
float_type_node
)
DECL_ARG_TYPE
(
decl
)
=
double_type_node
;
DECL_ARG_TYPE
(
decl
)
=
double_type_node
;
else
if
(
TREE_CODE
(
type
)
==
INTEGER_TYPE
/* Don't use TYPE_PREISION to decide whether to promote,
&&
TYPE_PRECISION
(
type
)
<
TYPE_PRECISION
(
integer_type_node
))
because we should convert short if it's the same size as int,
DECL_ARG_TYPE
(
decl
)
=
integer_type_node
;
but we should not convert long if it's the same size as int. */
else
if
(
type
==
char_type_node
||
type
==
signed_char_type_node
||
type
==
unsigned_char_type_node
||
type
==
short_integer_type_node
||
type
==
short_unsigned_type_node
)
{
if
(
TYPE_PRECISION
(
type
)
==
TYPE_PRECISION
(
integer_type_node
)
&&
TREE_UNSIGNED
(
type
))
DECL_ARG_TYPE
(
decl
)
=
unsigned_type_node
;
else
DECL_ARG_TYPE
(
decl
)
=
integer_type_node
;
}
DECL_ARG_TYPE_AS_WRITTEN
(
decl
)
=
type_as_written
;
DECL_ARG_TYPE_AS_WRITTEN
(
decl
)
=
type_as_written
;
}
}
...
...
gcc/gcc.c
View file @
8eebb258
...
@@ -206,6 +206,7 @@ or with constant text in a single argument.
...
@@ -206,6 +206,7 @@ or with constant text in a single argument.
%P like %p, but puts `__' before and after the name of each macro.
%P like %p, but puts `__' before and after the name of each macro.
(Except macros that already have __.)
(Except macros that already have __.)
This is for ANSI C.
This is for ANSI C.
%I Substitute a -iprefix option made from GCC_EXEC_PREFIX.
%s current argument is the name of a library or startup file of some sort.
%s current argument is the name of a library or startup file of some sort.
Search for that file in a standard list of directories
Search for that file in a standard list of directories
and substitute the full name found.
and substitute the full name found.
...
@@ -400,7 +401,7 @@ static struct compiler default_compilers[] =
...
@@ -400,7 +401,7 @@ static struct compiler default_compilers[] =
{
{
{
".c"
,
"@c"
},
{
".c"
,
"@c"
},
{
"@c"
,
{
"@c"
,
"cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}\
"cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}
%I
\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
-undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
-undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
...
@@ -420,7 +421,7 @@ static struct compiler default_compilers[] =
...
@@ -420,7 +421,7 @@ static struct compiler default_compilers[] =
%{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%b.o}\
%{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%b.o}\
%{!pipe:%g.s} %A
\n
}}}}"
},
%{!pipe:%g.s} %A
\n
}}}}"
},
{
"-"
,
{
"-"
,
"%{E:cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}\
"%{E:cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}
%I
\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
-undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
-undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
...
@@ -432,7 +433,7 @@ static struct compiler default_compilers[] =
...
@@ -432,7 +433,7 @@ static struct compiler default_compilers[] =
%{!E:%e-E required when input is from standard input}"
},
%{!E:%e-E required when input is from standard input}"
},
{
".m"
,
"@objective-c"
},
{
".m"
,
"@objective-c"
},
{
"@objective-c"
,
{
"@objective-c"
,
"cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}\
"cpp -lang-objc %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}
%I
\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
-undef -D__OBJC__ -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
-undef -D__OBJC__ -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
...
@@ -455,7 +456,7 @@ static struct compiler default_compilers[] =
...
@@ -455,7 +456,7 @@ static struct compiler default_compilers[] =
{
".h"
,
"@c-header"
},
{
".h"
,
"@c-header"
},
{
"@c-header"
,
{
"@c-header"
,
"%{!E:%eCompilation of header file requested} \
"%{!E:%eCompilation of header file requested} \
cpp %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}\
cpp %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}
%I
\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} \
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} \
-undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
-undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
...
@@ -468,7 +469,7 @@ static struct compiler default_compilers[] =
...
@@ -468,7 +469,7 @@ static struct compiler default_compilers[] =
{
".cxx"
,
"@c++"
},
{
".cxx"
,
"@c++"
},
{
".C"
,
"@c++"
},
{
".C"
,
"@c++"
},
{
"@c++"
,
{
"@c++"
,
"cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}\
"cpp -lang-c++ %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}
%I
\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\
%{C:%{!E:%eGNU C++ does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} \
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} \
-undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus \
-undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus \
...
@@ -514,7 +515,7 @@ static struct compiler default_compilers[] =
...
@@ -514,7 +515,7 @@ static struct compiler default_compilers[] =
%{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%b.o} %i %A
\n
}"
},
%{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%b.o} %i %A
\n
}"
},
{
".S"
,
"@assembler-with-cpp"
},
{
".S"
,
"@assembler-with-cpp"
},
{
"@assembler-with-cpp"
,
{
"@assembler-with-cpp"
,
"cpp -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}\
"cpp -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{D*} %{U*} %{I*} %{i*} %{P}
%I
\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{C:%{!E:%eGNU C does not support -C without using -E}}\
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{trigraphs} \
%{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{trigraphs} \
-undef -$ %{!undef:%p %P} -D__ASSEMBLER__ \
-undef -$ %{!undef:%p %P} -D__ASSEMBLER__ \
...
@@ -829,6 +830,10 @@ static struct path_prefix library_prefix = { 0, 0, "libraryfile" };
...
@@ -829,6 +830,10 @@ static struct path_prefix library_prefix = { 0, 0, "libraryfile" };
static
char
*
machine_suffix
=
0
;
static
char
*
machine_suffix
=
0
;
/* Adjusted value of GCC_EXEC_PREFIX envvar. */
static
char
*
gcc_exec_prefix
;
/* Default prefixes to attach to command names. */
/* Default prefixes to attach to command names. */
#ifdef CROSS_COMPILE
/* Don't use these prefixes for a cross compiler. */
#ifdef CROSS_COMPILE
/* Don't use these prefixes for a cross compiler. */
...
@@ -1682,17 +1687,18 @@ process_command (argc, argv)
...
@@ -1682,17 +1687,18 @@ process_command (argc, argv)
char
*
spec_lang
=
0
;
char
*
spec_lang
=
0
;
int
last_language_n_infiles
;
int
last_language_n_infiles
;
gcc_exec_prefix
=
getenv
(
"GCC_EXEC_PREFIX"
);
n_switches
=
0
;
n_switches
=
0
;
n_infiles
=
0
;
n_infiles
=
0
;
spec_version
=
version_string
;
spec_version
=
version_string
;
/* Set up the default search paths. */
/* Set up the default search paths. */
temp
=
getenv
(
"GCC_EXEC_PREFIX"
);
if
(
gcc_exec_prefix
)
if
(
temp
)
{
{
add_prefix
(
&
exec_prefix
,
temp
,
0
,
0
,
0
);
add_prefix
(
&
exec_prefix
,
gcc_exec_prefix
,
0
,
0
,
0
);
add_prefix
(
&
startfile_prefix
,
temp
,
0
,
0
,
0
);
add_prefix
(
&
startfile_prefix
,
gcc_exec_prefix
,
0
,
0
,
0
);
}
}
/* COMPILER_PATH and LIBRARY_PATH have values
/* COMPILER_PATH and LIBRARY_PATH have values
...
@@ -1902,6 +1908,7 @@ process_command (argc, argv)
...
@@ -1902,6 +1908,7 @@ process_command (argc, argv)
if
(
!
strcmp
(
p
,
"save-temps"
))
if
(
!
strcmp
(
p
,
"save-temps"
))
{
{
save_temps_flag
=
1
;
save_temps_flag
=
1
;
n_switches
++
;
break
;
break
;
}
}
default
:
default
:
...
@@ -2024,6 +2031,19 @@ process_command (argc, argv)
...
@@ -2024,6 +2031,19 @@ process_command (argc, argv)
switches
[
n_switches
].
part1
=
0
;
switches
[
n_switches
].
part1
=
0
;
infiles
[
n_infiles
].
name
=
0
;
infiles
[
n_infiles
].
name
=
0
;
/* If we have a GCC_EXEC_PREFIX envvar, modify it for cpp's sake. */
if
(
gcc_exec_prefix
)
{
temp
=
(
char
*
)
xmalloc
(
strlen
(
gcc_exec_prefix
)
+
strlen
(
spec_version
)
+
strlen
(
spec_machine
)
+
3
);
strcpy
(
temp
,
gcc_exec_prefix
);
strcat
(
temp
,
spec_version
);
strcat
(
temp
,
"/"
);
strcat
(
temp
,
spec_machine
);
strcat
(
temp
,
"/"
);
gcc_exec_prefix
=
temp
;
}
}
}
/* Process a spec string, accumulating and running commands. */
/* Process a spec string, accumulating and running commands. */
...
@@ -2323,6 +2343,17 @@ do_spec_1 (spec, inswitch, soft_matched_part)
...
@@ -2323,6 +2343,17 @@ do_spec_1 (spec, inswitch, soft_matched_part)
arg_going
=
1
;
arg_going
=
1
;
break
;
break
;
case
'I'
:
if
(
gcc_exec_prefix
)
{
do_spec_1
(
"-imacros"
,
1
,
0
);
/* Make this a separate argument. */
do_spec_1
(
" "
,
0
,
0
);
do_spec_1
(
gcc_exec_prefix
,
1
,
0
);
do_spec_1
(
" "
,
0
,
0
);
}
break
;
case
'o'
:
case
'o'
:
{
{
register
int
f
;
register
int
f
;
...
...
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