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
bbc6ae08
Commit
bbc6ae08
authored
Sep 28, 1999
by
Nick Clifton
Committed by
Nick Clifton
Sep 28, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix the handling of inline, unresolved type references.
From-SVN: r29695
parent
d25cf633
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
13 deletions
+29
-13
gcc/ChangeLog
+13
-0
gcc/dwarf2out.c
+16
-13
No files found.
gcc/ChangeLog
View file @
bbc6ae08
Tue
Sep
28
16
:
43
:
14
1999
Nick
Clifton
<
nickc
@cygnus
.
com
>
*
dwarf2out
.
c
(
add_abstract_origin_attribute
)
:
Abort
if
origin_die
is
NULL
.
(
gen_inlined_enumeration_type_die
)
:
Do
not
abort
if
the
type
has
not
been
writeen
out
.
(
gen_inlined_structure_type_die
)
:
Do
not
abort
if
the
type
has
not
been
writeen
out
.
(
gen_inlined_union_type_die
)
:
Do
not
abort
if
the
type
has
not
been
writeen
out
.
(
gen_tagged_type_instantiation_die
)
:
Do
not
abort
if
the
type
has
not
been
written
out
.
Tue
Sep
28
14
:
33
:
47
1999
Bernd
Schmidt
<
bernds
@cygnus
.
co
.
uk
>
*
c
-
decl
.
c
(
init_decl_processing
)
:
If
MD_INIT_BUILTINS
is
defined
,
...
...
gcc/dwarf2out.c
View file @
bbc6ae08
...
...
@@ -7644,11 +7644,15 @@ add_abstract_origin_attribute (die, origin)
register
tree
origin
;
{
dw_die_ref
origin_die
=
NULL
;
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
origin
))
==
'd'
)
origin_die
=
lookup_decl_die
(
origin
);
else
if
(
TREE_CODE_CLASS
(
TREE_CODE
(
origin
))
==
't'
)
origin_die
=
lookup_type_die
(
origin
);
if
(
origin_die
==
NULL
)
abort
();
add_AT_die_ref
(
die
,
DW_AT_abstract_origin
,
origin_die
);
}
...
...
@@ -8139,9 +8143,8 @@ gen_inlined_enumeration_type_die (type, context_die)
{
register
dw_die_ref
type_die
=
new_die
(
DW_TAG_enumeration_type
,
scope_die_for
(
type
,
context_die
));
if
(
!
TREE_ASM_WRITTEN
(
type
))
abort
();
/* We do not check for TREE_ASM_WRITTEN (type) being set, as the type may
be incomplete and such types are not marked. */
add_abstract_origin_attribute
(
type_die
,
type
);
}
...
...
@@ -8154,9 +8157,8 @@ gen_inlined_structure_type_die (type, context_die)
{
register
dw_die_ref
type_die
=
new_die
(
DW_TAG_structure_type
,
scope_die_for
(
type
,
context_die
));
if
(
!
TREE_ASM_WRITTEN
(
type
))
abort
();
/* We do not check for TREE_ASM_WRITTEN (type) being set, as the type may
be incomplete and such types are not marked. */
add_abstract_origin_attribute
(
type_die
,
type
);
}
...
...
@@ -8169,9 +8171,8 @@ gen_inlined_union_type_die (type, context_die)
{
register
dw_die_ref
type_die
=
new_die
(
DW_TAG_union_type
,
scope_die_for
(
type
,
context_die
));
if
(
!
TREE_ASM_WRITTEN
(
type
))
abort
();
/* We do not check for TREE_ASM_WRITTEN (type) being set, as the type may
be incomplete and such types are not marked. */
add_abstract_origin_attribute
(
type_die
,
type
);
}
...
...
@@ -9342,10 +9343,12 @@ gen_tagged_type_instantiation_die (type, context_die)
this type (i.e. without any const or volatile qualifiers) so make sure
that we have the main variant (i.e. the unqualified version) of this
type now. */
if
(
type
!=
type_main_variant
(
type
)
||
!
TREE_ASM_WRITTEN
(
type
))
if
(
type
!=
type_main_variant
(
type
))
abort
();
/* Do not check TREE_ASM_WRITTEN(type) as it may not be set if this is
an instance of an unresolved type. */
switch
(
TREE_CODE
(
type
))
{
case
ERROR_MARK
:
...
...
@@ -9702,8 +9705,8 @@ dwarf2out_decl (decl)
on within the current translation unit). So here we just ignore all
file-scope function declarations which are not also definitions. If
and when the debugger needs to know something about these functions,
it wil have to hunt around and find the DWARF information associated
with the definition of the function. Note that we can't just check
it wil
l
have to hunt around and find the DWARF information associated
with the definition of the function.
Note that we can't just check
`DECL_EXTERNAL' to find out which FUNCTION_DECL nodes represent
definitions and which ones represent mere declarations. We have to
check `DECL_INITIAL' instead. That's because the C front-end
...
...
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