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
f246a305
Commit
f246a305
authored
Mar 23, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r577
parent
a609bfc6
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
82 additions
and
25 deletions
+82
-25
gcc/final.c
+1
-1
gcc/make-cc1.com
+2
-1
gcc/toplev.c
+74
-20
gcc/varasm.c
+4
-2
gcc/xcoffout.c
+1
-1
No files found.
gcc/final.c
View file @
f246a305
...
@@ -72,7 +72,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
...
@@ -72,7 +72,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#endif
/* DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO */
#endif
/* DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO */
#ifdef XCOFF_DEBUGGING_INFO
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoff.h"
#include "xcoff
out
.h"
#endif
#endif
/* .stabd code for line number. */
/* .stabd code for line number. */
...
...
gcc/make-cc1.com
View file @
f246a305
...
@@ -144,7 +144,7 @@ expmed,explow,optabs,emit-rtl,insn-emit,jump,cse,loop,flow,stupid,combine
...
@@ -144,7 +144,7 @@ expmed,explow,optabs,emit-rtl,insn-emit,jump,cse,loop,flow,stupid,combine
regclass,local-alloc,global-alloc,reload,reload1,insn-peep,final,recog
regclass,local-alloc,global-alloc,reload,reload1,insn-peep,final,recog
insn-recog,insn-extract,insn-output,obstack,integrate,caller-save,calls
insn-recog,insn-extract,insn-output,obstack,integrate,caller-save,calls
dwarfout,xcoffout,function,insn-attrtab,reorg,sched,sdbout,dbxout,unroll
dwarfout,xcoffout,function,insn-attrtab,reorg,sched,sdbout,dbxout,unroll
reg-stack,aux-output,print-rtl,version
reg-stack,aux-output,print-rtl,
getpwd,
version
$!
$!
$pur/nolog independent.opt
$pur/nolog independent.opt
$!
$!
...
@@ -261,6 +261,7 @@ $ assign/user insn-attrtab.c sys$output:
...
@@ -261,6 +261,7 @@ $ assign/user insn-attrtab.c sys$output:
$ mcr sys$disk:[]genattrtab md
$ mcr sys$disk:[]genattrtab md
$ 'CC 'CFLAGS insn-attrtab.c
$ 'CC 'CFLAGS insn-attrtab.c
$ 'CC 'CFLAGS aux-output.c
$ 'CC 'CFLAGS aux-output.c
$ 'CC 'CFLAGS getpwd.c
$!
$!
$compile_cc1:
$compile_cc1:
$!
$!
...
...
gcc/toplev.c
View file @
f246a305
...
@@ -53,6 +53,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
...
@@ -53,6 +53,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "flags.h"
#include "flags.h"
#include "insn-attr.h"
#include "insn-attr.h"
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoffout.h"
#endif
#ifdef VMS
#ifdef VMS
/* The extra parameters substantially improve the I/O performance. */
/* The extra parameters substantially improve the I/O performance. */
static
FILE
*
static
FILE
*
...
@@ -183,9 +187,9 @@ enum debug_info_type write_symbols = NO_DEBUG;
...
@@ -183,9 +187,9 @@ enum debug_info_type write_symbols = NO_DEBUG;
for the definitions of the different possible levels. */
for the definitions of the different possible levels. */
enum
debug_info_level
debug_info_level
=
DINFO_LEVEL_NONE
;
enum
debug_info_level
debug_info_level
=
DINFO_LEVEL_NONE
;
#if
def DBX_DEBUGGING_INFO
#if
defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
/* Nonzero means can use our own extensions to DBX format.
/* Nonzero means can use our own extensions to DBX format.
Relevant only when write_symbols == DBX_DEBUG. */
Relevant only when write_symbols == DBX_DEBUG
or XCOFF_DEBUG
. */
int
use_gdb_dbx_extensions
=
0
;
int
use_gdb_dbx_extensions
=
0
;
#endif
#endif
...
@@ -370,6 +374,10 @@ int flag_no_inline;
...
@@ -370,6 +374,10 @@ int flag_no_inline;
int
flag_gen_aux_info
=
0
;
int
flag_gen_aux_info
=
0
;
/* Specified name of aux-info file. */
static
char
*
aux_info_file_name
;
/* Nonzero means make the text shared if supported. */
/* Nonzero means make the text shared if supported. */
int
flag_shared_data
;
int
flag_shared_data
;
...
@@ -445,7 +453,6 @@ struct { char *string; int *variable; int on_value;} f_options[] =
...
@@ -445,7 +453,6 @@ struct { char *string; int *variable; int on_value;} f_options[] =
{
"keep-inline-functions"
,
&
flag_keep_inline_functions
,
1
},
{
"keep-inline-functions"
,
&
flag_keep_inline_functions
,
1
},
{
"inline"
,
&
flag_no_inline
,
0
},
{
"inline"
,
&
flag_no_inline
,
0
},
{
"syntax-only"
,
&
flag_syntax_only
,
1
},
{
"syntax-only"
,
&
flag_syntax_only
,
1
},
{
"gen-aux-info"
,
&
flag_gen_aux_info
,
1
},
{
"shared-data"
,
&
flag_shared_data
,
1
},
{
"shared-data"
,
&
flag_shared_data
,
1
},
{
"caller-saves"
,
&
flag_caller_saves
,
1
},
{
"caller-saves"
,
&
flag_caller_saves
,
1
},
{
"pcc-struct-return"
,
&
flag_pcc_struct_return
,
1
},
{
"pcc-struct-return"
,
&
flag_pcc_struct_return
,
1
},
...
@@ -528,7 +535,8 @@ struct { char *string; int *variable; int on_value;} W_options[] =
...
@@ -528,7 +535,8 @@ struct { char *string; int *variable; int on_value;} W_options[] =
{
"return-type"
,
&
warn_return_type
,
1
},
{
"return-type"
,
&
warn_return_type
,
1
},
{
"aggregate-return"
,
&
warn_aggregate_return
,
1
},
{
"aggregate-return"
,
&
warn_aggregate_return
,
1
},
{
"cast-align"
,
&
warn_cast_align
,
1
},
{
"cast-align"
,
&
warn_cast_align
,
1
},
{
"uninitialized"
,
&
warn_uninitialized
,
1
}
{
"uninitialized"
,
&
warn_uninitialized
,
1
},
{
"inline"
,
&
warn_inline
,
1
}
};
};
/* Output files for assembler code (real compiler output)
/* Output files for assembler code (real compiler output)
...
@@ -1287,7 +1295,6 @@ compile_file (name)
...
@@ -1287,7 +1295,6 @@ compile_file (name)
tree
globals
;
tree
globals
;
int
start_time
;
int
start_time
;
int
dump_base_name_length
;
int
dump_base_name_length
;
char
*
aux_info_file_name
;
int
name_specified
=
name
!=
0
;
int
name_specified
=
name
!=
0
;
...
@@ -1345,12 +1352,11 @@ compile_file (name)
...
@@ -1345,12 +1352,11 @@ compile_file (name)
if
(
flag_caller_saves
)
if
(
flag_caller_saves
)
init_caller_save
();
init_caller_save
();
/* If auxilliary info generation is desired, open the output file. */
/* If auxiliary info generation is desired, open the output file.
This goes in the same directory as the source file--unlike
all the other output files. */
if
(
flag_gen_aux_info
)
if
(
flag_gen_aux_info
)
{
{
aux_info_file_name
=
(
char
*
)
xmalloc
(
dump_base_name_length
+
6
);
strcpy
(
aux_info_file_name
,
dump_base_name
);
strcat
(
aux_info_file_name
,
".X"
);
aux_info_file
=
fopen
(
aux_info_file_name
,
"w"
);
aux_info_file
=
fopen
(
aux_info_file_name
,
"w"
);
if
(
aux_info_file
==
0
)
if
(
aux_info_file
==
0
)
pfatal_with_name
(
aux_info_file_name
);
pfatal_with_name
(
aux_info_file_name
);
...
@@ -1538,6 +1544,10 @@ compile_file (name)
...
@@ -1538,6 +1544,10 @@ compile_file (name)
pfatal_with_name
(
asm_file_name
);
pfatal_with_name
(
asm_file_name
);
}
}
#ifdef IO_BUFFER_SIZE
setvbuf
(
asm_out_file
,
xmalloc
(
IO_BUFFER_SIZE
),
_IOFBF
,
IO_BUFFER_SIZE
);
#endif
input_filename
=
name
;
input_filename
=
name
;
/* Perform language-specific initialization.
/* Perform language-specific initialization.
...
@@ -1570,8 +1580,8 @@ compile_file (name)
...
@@ -1570,8 +1580,8 @@ compile_file (name)
/* If dbx symbol table desired, initialize writing it
/* If dbx symbol table desired, initialize writing it
and output the predefined types. */
and output the predefined types. */
#if
def DBX_DEBUGGING_INFO
#if
defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
if
(
write_symbols
==
DBX_DEBUG
)
if
(
write_symbols
==
DBX_DEBUG
||
write_symbols
==
XCOFF_DEBUG
)
TIMEVAR
(
symout_time
,
dbxout_init
(
asm_out_file
,
main_input_filename
,
TIMEVAR
(
symout_time
,
dbxout_init
(
asm_out_file
,
main_input_filename
,
getdecls
()));
getdecls
()));
#endif
#endif
...
@@ -1718,8 +1728,8 @@ compile_file (name)
...
@@ -1718,8 +1728,8 @@ compile_file (name)
}
}
/* Do dbx symbols */
/* Do dbx symbols */
#if
def DBX_DEBUGGING_INFO
#if
defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
if
(
write_symbols
==
DBX_DEBUG
)
if
(
write_symbols
==
DBX_DEBUG
||
write_symbols
==
XCOFF_DEBUG
)
TIMEVAR
(
symout_time
,
TIMEVAR
(
symout_time
,
{
{
dbxout_finish
(
asm_out_file
,
main_input_filename
);
dbxout_finish
(
asm_out_file
,
main_input_filename
);
...
@@ -1884,8 +1894,9 @@ rest_of_decl_compilation (decl, asmspec, top_level, at_end)
...
@@ -1884,8 +1894,9 @@ rest_of_decl_compilation (decl, asmspec, top_level, at_end)
else
else
error
(
"invalid register name `%s' for register variable"
,
asmspec
);
error
(
"invalid register name `%s' for register variable"
,
asmspec
);
}
}
#ifdef DBX_DEBUGGING_INFO
#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
else
if
(
write_symbols
==
DBX_DEBUG
&&
TREE_CODE
(
decl
)
==
TYPE_DECL
)
else
if
((
write_symbols
==
DBX_DEBUG
||
write_symbols
==
XCOFF_DEBUG
)
&&
TREE_CODE
(
decl
)
==
TYPE_DECL
)
TIMEVAR
(
symout_time
,
dbxout_symbol
(
decl
,
0
));
TIMEVAR
(
symout_time
,
dbxout_symbol
(
decl
,
0
));
#endif
#endif
#ifdef SDB_DEBUGGING_INFO
#ifdef SDB_DEBUGGING_INFO
...
@@ -1902,8 +1913,8 @@ rest_of_type_compilation (type, toplev)
...
@@ -1902,8 +1913,8 @@ rest_of_type_compilation (type, toplev)
tree
type
;
tree
type
;
int
toplev
;
int
toplev
;
{
{
#if
def DBX_DEBUGGING_INFO
#if
defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
if
(
write_symbols
==
DBX_DEBUG
)
if
(
write_symbols
==
DBX_DEBUG
||
write_symbols
==
XCOFF_DEBUG
)
TIMEVAR
(
symout_time
,
dbxout_symbol
(
TYPE_STUB_DECL
(
type
),
!
toplev
));
TIMEVAR
(
symout_time
,
dbxout_symbol
(
TYPE_STUB_DECL
(
type
),
!
toplev
));
#endif
#endif
#ifdef SDB_DEBUGGING_INFO
#ifdef SDB_DEBUGGING_INFO
...
@@ -2447,6 +2458,14 @@ rest_of_compilation (decl)
...
@@ -2447,6 +2458,14 @@ rest_of_compilation (decl)
exit_rest_of_compilation
:
exit_rest_of_compilation
:
/* In case the function was not output,
don't leave any temporary anonymous types
queued up for sdb output. */
#ifdef SDB_DEBUGGING_INFO
if
(
write_symbols
==
SDB_DEBUG
)
sdbout_types
(
0
);
#endif
/* Put back the tree of subblocks from before we copied it.
/* Put back the tree of subblocks from before we copied it.
Code generation and the output of debugging info may have modified
Code generation and the output of debugging info may have modified
the copy, but the original is unchanged. */
the copy, but the original is unchanged. */
...
@@ -2544,9 +2563,11 @@ main (argc, argv, envp)
...
@@ -2544,9 +2563,11 @@ main (argc, argv, envp)
}
}
obey_regdecls
=
(
optimize
==
0
);
obey_regdecls
=
(
optimize
==
0
);
flag_no_inline
=
(
optimize
==
0
);
if
(
optimize
==
0
)
if
(
flag_no_inline
)
{
flag_no_inline
=
1
;
warn_inline
=
0
;
warn_inline
=
0
;
}
if
(
optimize
>=
1
)
if
(
optimize
>=
1
)
{
{
...
@@ -2826,7 +2847,7 @@ main (argc, argv, envp)
...
@@ -2826,7 +2847,7 @@ main (argc, argv, envp)
you must define PREFERRED_DEBUGGING_TYPE
you must define PREFERRED_DEBUGGING_TYPE
to choose a format in a system-dependent way. */
to choose a format in a system-dependent way. */
#if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) \
#if 1 < (defined (DBX_DEBUGGING_INFO) + defined (SDB_DEBUGGING_INFO) \
+ defined (DWARF_DEBUGGING_INFO))
+ defined (DWARF_DEBUGGING_INFO)
+ defined (XCOFF_DEBUGGING_INFO)
)
#ifdef PREFERRED_DEBUGGING_TYPE
#ifdef PREFERRED_DEBUGGING_TYPE
if
(
!
strncmp
(
str
,
"ggdb"
,
len
))
if
(
!
strncmp
(
str
,
"ggdb"
,
len
))
write_symbols
=
PREFERRED_DEBUGGING_TYPE
;
write_symbols
=
PREFERRED_DEBUGGING_TYPE
;
...
@@ -2873,6 +2894,26 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
...
@@ -2873,6 +2894,26 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
else
if
(
!
strncmp
(
str
,
"gcoff"
,
len
))
else
if
(
!
strncmp
(
str
,
"gcoff"
,
len
))
write_symbols
=
SDB_DEBUG
;
write_symbols
=
SDB_DEBUG
;
#endif
/* SDB_DEBUGGING_INFO */
#endif
/* SDB_DEBUGGING_INFO */
#ifdef XCOFF_DEBUGGING_INFO
if
(
write_symbols
!=
NO_DEBUG
)
;
else
if
(
!
strncmp
(
str
,
"ggdb"
,
len
))
write_symbols
=
XCOFF_DEBUG
;
else
if
(
!
strncmp
(
str
,
"gxcoff"
,
len
))
write_symbols
=
XCOFF_DEBUG
;
/* Always enable extensions for -ggdb,
always disable for -gxcoff.
For plain -g, use system-specific default. */
if
(
write_symbols
==
XCOFF_DEBUG
&&
!
strncmp
(
str
,
"ggdb"
,
len
)
&&
len
>=
2
)
use_gdb_dbx_extensions
=
1
;
else
if
(
write_symbols
==
DBX_DEBUG
&&
!
strncmp
(
str
,
"gxcoff"
,
len
)
&&
len
>=
2
)
use_gdb_dbx_extensions
=
0
;
else
use_gdb_dbx_extensions
=
DEFAULT_GDB_EXTENSIONS
;
#endif
if
(
write_symbols
==
NO_DEBUG
)
if
(
write_symbols
==
NO_DEBUG
)
warning
(
"`-%s' option not supported on this version of GCC"
,
str
);
warning
(
"`-%s' option not supported on this version of GCC"
,
str
);
else
if
(
level
==
0
)
else
if
(
level
==
0
)
...
@@ -2889,6 +2930,11 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
...
@@ -2889,6 +2930,11 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
g_switch_set
=
TRUE
;
g_switch_set
=
TRUE
;
g_switch_value
=
atoi
((
str
[
1
]
!=
'\0'
)
?
str
+
1
:
argv
[
++
i
]);
g_switch_value
=
atoi
((
str
[
1
]
!=
'\0'
)
?
str
+
1
:
argv
[
++
i
]);
}
}
else
if
(
!
strncmp
(
str
,
"aux-info"
,
8
))
{
flag_gen_aux_info
=
1
;
aux_info_file_name
=
(
str
[
8
]
!=
'\0'
?
str
+
8
:
argv
[
++
i
]);
}
else
else
error
(
"Invalid option `%s'"
,
argv
[
i
]);
error
(
"Invalid option `%s'"
,
argv
[
i
]);
}
}
...
@@ -2903,6 +2949,14 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
...
@@ -2903,6 +2949,14 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
filename
=
argv
[
i
];
filename
=
argv
[
i
];
}
}
/* Inlining does not work if not optimizing,
so force it not to be done. */
if
(
optimize
==
0
)
{
flag_no_inline
=
1
;
warn_inline
=
0
;
}
#ifdef OVERRIDE_OPTIONS
#ifdef OVERRIDE_OPTIONS
/* Some machines may reject certain combinations of options. */
/* Some machines may reject certain combinations of options. */
OVERRIDE_OPTIONS
;
OVERRIDE_OPTIONS
;
...
...
gcc/varasm.c
View file @
f246a305
...
@@ -39,7 +39,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
...
@@ -39,7 +39,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "obstack.h"
#include "obstack.h"
#ifdef XCOFF_DEBUGGING_INFO
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoff.h"
#include "xcoff
out
.h"
#endif
#endif
#ifndef ASM_STABS_OP
#ifndef ASM_STABS_OP
...
@@ -81,6 +81,7 @@ void assemble_name ();
...
@@ -81,6 +81,7 @@ void assemble_name ();
int
output_addressed_constants
();
int
output_addressed_constants
();
void
output_constant
();
void
output_constant
();
void
output_constructor
();
void
output_constructor
();
void
data_section
();
#ifdef EXTRA_SECTIONS
#ifdef EXTRA_SECTIONS
static
enum
in_section
{
no_section
,
in_text
,
in_data
,
EXTRA_SECTIONS
}
in_section
static
enum
in_section
{
no_section
,
in_text
,
in_data
,
EXTRA_SECTIONS
}
in_section
...
@@ -1341,7 +1342,8 @@ immed_real_const_1 (d, mode)
...
@@ -1341,7 +1342,8 @@ immed_real_const_1 (d, mode)
/* Detect special cases. */
/* Detect special cases. */
if
(
REAL_VALUES_EQUAL
(
dconst0
,
d
))
/* Avoid REAL_VALUES_EQUAL here in order to distinguish minus zero. */
if
(
!
bcmp
(
&
dconst0
,
&
d
,
sizeof
d
))
return
CONST0_RTX
(
mode
);
return
CONST0_RTX
(
mode
);
else
if
(
REAL_VALUES_EQUAL
(
dconst1
,
d
))
else
if
(
REAL_VALUES_EQUAL
(
dconst1
,
d
))
return
CONST1_RTX
(
mode
);
return
CONST1_RTX
(
mode
);
...
...
gcc/xcoffout.c
View file @
f246a305
...
@@ -36,7 +36,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
...
@@ -36,7 +36,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* This defines the C_* storage classes. */
/* This defines the C_* storage classes. */
#include <dbxstclass.h>
#include <dbxstclass.h>
#include "xcoff.h"
#include "xcoff
out
.h"
#if defined (USG) || defined (NO_STAB_H)
#if defined (USG) || defined (NO_STAB_H)
#include "gstab.h"
#include "gstab.h"
...
...
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