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
25bdb910
Commit
25bdb910
authored
Apr 22, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r813
parent
cc0218f7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
10 deletions
+31
-10
gcc/dbxout.c
+31
-10
No files found.
gcc/dbxout.c
View file @
25bdb910
...
...
@@ -1348,25 +1348,46 @@ dbxout_symbol (decl, local)
if
(
DECL_NAME
(
decl
))
{
/* Nonzero means we must output a tag as well as a typedef. */
int
tag_also
=
((
TREE_CODE
(
type
)
==
RECORD_TYPE
||
TREE_CODE
(
type
)
==
UNION_TYPE
)
&&
TYPE_NAME
(
type
)
==
decl
);
/* Output typedef name. */
fprintf
(
asmfile
,
"%s
\"
%s:"
,
ASM_STABS_OP
,
IDENTIFIER_POINTER
(
DECL_NAME
(
decl
)));
/* If there is a typedecl for this type with the same name
as the tag, output an abbreviated form for that typedecl. */
if
(
use_gdb_dbx_extensions
&&
have_used_extensions
&&
(
TREE_CODE
(
type
)
==
RECORD_TYPE
||
TREE_CODE
(
type
)
==
UNION_TYPE
)
&&
(
TYPE_NAME
(
type
)
==
decl
))
{
putc
(
'T'
,
asmfile
);
TREE_ASM_WRITTEN
(
TYPE_NAME
(
type
))
=
1
;
}
/* Short cut way to output a tag also. */
if
(
tag_also
&&
use_gdb_dbx_extensions
&&
have_used_extensions
)
putc
(
'T'
,
asmfile
);
putc
(
't'
,
asmfile
);
current_sym_code
=
DBX_DECL_STABS_CODE
;
dbxout_type
(
type
,
1
,
0
);
dbxout_finish_symbol
(
decl
);
/* Long way to output a tag also. */
if
(
tag_also
&&
!
(
use_gdb_dbx_extensions
&&
have_used_extensions
))
{
/* Output the tag for the type, not using GDB extensions.
This represents `struct foo' as opposed to `typedef foo'. */
/* In C++, the name of a type is the corresponding typedef.
In C, it is an IDENTIFIER_NODE. */
tree
name
=
TYPE_NAME
(
type
);
if
(
TREE_CODE
(
name
)
==
TYPE_DECL
)
name
=
DECL_NAME
(
name
);
current_sym_code
=
DBX_DECL_STABS_CODE
;
current_sym_value
=
0
;
current_sym_addr
=
0
;
current_sym_nchars
=
2
+
IDENTIFIER_LENGTH
(
name
);
fprintf
(
asmfile
,
"%s
\"
%s:T"
,
ASM_STABS_OP
,
IDENTIFIER_POINTER
(
name
));
dbxout_type
(
type
,
1
,
0
);
dbxout_finish_symbol
(
0
);
}
}
else
if
(
TYPE_NAME
(
type
)
!=
0
&&
!
TREE_ASM_WRITTEN
(
TYPE_NAME
(
type
)))
{
...
...
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