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
dad0145a
Commit
dad0145a
authored
May 06, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r924
parent
95949d0c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
1 deletions
+47
-1
gcc/dbxout.c
+47
-1
No files found.
gcc/dbxout.c
View file @
dad0145a
...
...
@@ -853,7 +853,13 @@ dbxout_type (type, full, show_arg_types)
case
TYPE_UNSEEN
:
break
;
case
TYPE_XREF
:
if
(
!
full
)
/* If we have already had a cross reference,
and either that's all we want or that's the best we could do,
don't repeat the cross reference.
Sun dbx crashes if we do. */
if
(
!
full
||
TYPE_SIZE
(
type
)
==
0
/* No way in DBX fmt to describe a variable size. */
||
TREE_CODE
(
TYPE_SIZE
(
type
))
!=
INTEGER_CST
)
return
;
break
;
case
TYPE_DEFINED
:
...
...
@@ -1847,6 +1853,46 @@ dbxout_parms (parms)
dbxout_finish_symbol
(
parms
);
}
else
if
(
GET_CODE
(
DECL_RTL
(
parms
))
==
MEM
&&
GET_CODE
(
XEXP
(
DECL_RTL
(
parms
),
0
))
==
REG
&&
rtx_equal_p
(
XEXP
(
DECL_RTL
(
parms
),
0
),
DECL_INCOMING_RTL
(
parms
)))
{
/* Parm was passed via invisible reference.
That is, its address was passed in a register.
Output it as if it lived in that register.
The debugger will know from the type
that it was actually passed by invisible reference. */
char
regparm_letter
;
/* Parm passed in registers and lives in registers or nowhere. */
current_sym_code
=
DBX_REGPARM_STABS_CODE
;
regparm_letter
=
DBX_REGPARM_STABS_LETTER
;
/* DECL_RTL looks like (MEM (REG...). Get the register number. */
current_sym_value
=
REGNO
(
XEXP
(
DECL_RTL
(
parms
),
0
));
current_sym_addr
=
0
;
FORCE_TEXT
;
if
(
DECL_NAME
(
parms
))
{
current_sym_nchars
=
2
+
strlen
(
IDENTIFIER_POINTER
(
DECL_NAME
(
parms
)));
fprintf
(
asmfile
,
"%s
\"
%s:%c"
,
ASM_STABS_OP
,
IDENTIFIER_POINTER
(
DECL_NAME
(
parms
)),
DBX_REGPARM_STABS_LETTER
);
}
else
{
current_sym_nchars
=
8
;
fprintf
(
asmfile
,
"%s
\"
(anon):%c"
,
ASM_STABS_OP
,
DBX_REGPARM_STABS_LETTER
);
}
dbxout_type
(
TREE_TYPE
(
parms
),
0
,
0
);
dbxout_finish_symbol
(
parms
);
}
else
if
(
GET_CODE
(
DECL_RTL
(
parms
))
==
MEM
&&
XEXP
(
DECL_RTL
(
parms
),
0
)
!=
const0_rtx
)
{
/* Parm was passed in registers but lives on the stack. */
...
...
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