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
203a051f
Commit
203a051f
authored
Sep 23, 1999
by
Mark Mitchell
Committed by
Mark Mitchell
Sep 23, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* ir.texi: Document CLEANUP_STMT, SCOPE_STMT, and START_CATCH_STMT.
From-SVN: r29610
parent
5fdaba89
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
4 deletions
+42
-4
gcc/cp/ChangeLog
+2
-0
gcc/cp/ir.texi
+40
-4
No files found.
gcc/cp/ChangeLog
View file @
203a051f
1999-09-22 Mark Mitchell <mark@codesourcery.com>
* ir.texi: Document CLEANUP_STMT, SCOPE_STMT, and START_CATCH_STMT.
* decl.c (pushdecl): Do create a binding for extern "C" functions,
but not for their DECL_ASSEMBLER_NAMEs.
(lookup_name_current_level): Fix formatting.
...
...
gcc/cp/ir.texi
View file @
203a051f
...
...
@@ -1011,6 +1011,9 @@ FIXME: Explain about constructor try-catch blocks.
@findex
ASM_OUTPUTS
@findex
ASM_CLOBBERS
@tindex
BREAK_STMT
@tindex
CLEANUP_STMT
@findex
CLEANUP_DECL
@findex
CLEANUP_EXPR
@tindex
COMPOUND_STMT
@findex
COMPOUND_BODY
@tindex
CONTINUE_STMT
...
...
@@ -1038,6 +1041,12 @@ FIXME: Explain about constructor try-catch blocks.
@tindex
RETURN_INIT
@tindex
RETURN_STMT
@findex
RETURN_EXPR
@tindex
SCOPE_STMT
@findex
SCOPE_BEGIN_P
@findex
SCOPE_END_P
@findex
SCOPE_NULLIFIED_P
@tindex
START_CATCH_STMT
@findex
START_CATCH_TYPE
@tindex
SUBOBJECT
@findex
SUBOBJECT_CLEANUP
@tindex
SWITCH_STMT
...
...
@@ -1190,6 +1199,18 @@ case 2 ... 5:
The
first
value
will
be
@code{
CASE_LOW
}
,
while
the
second
will
be
@code{
CASE_HIGH
}
.
@item
CLEANUP_STMT
Used
to
represent
an
action
that
should
take
place
upon
exit
from
the
enclosing
scope
.
Typically
,
these
actions
are
calls
to
destructors
for
local
objects
,
but
back
-
ends
cannot
rely
on
this
fact
.
If
these
nodes
are
in
fact
representing
such
destructors
,
@code{
CLEANUP_DECL
}
will
be
the
@code{
VAR_DECL
}
destroyed
.
Otherwise
,
@code{
CLEANUP_DECL
}
will
be
@code{
NULL_TREE
}
.
In
any
case
,
the
@code{
CLEANUP_EXPR
}
is
the
expression
to
execute
.
The
cleanups
executed
on
exit
from
a
scope
should
be
run
in
the
reverse
order
of
the
order
in
which
the
associated
@code{
CLEANUP_STMT
}
s
were
encountered
.
@item
COMPOUND_STMT
Used
to
represent
a
brace
-
enclosed
block
.
The
first
substatement
is
...
...
@@ -1266,6 +1287,24 @@ was just
return
;
@end
example
@item
SCOPE_STMT
A
scope
-
statement
represents
the
beginning
or
end
of
a
scope
.
If
@code{
SCOPE_BEGIN_P
}
holds
,
this
statement
represents
the
beginning
of
a
scope
;
if
@code{
SCOPE_END_P
}
holds
this
statement
represents
the
end
of
a
scope
.
On
exit
from
a
scope
,
all
cleanups
from
@code{
CLEANUP_STMT
}
s
occurring
in
the
scope
must
be
run
,
in
reverse
order
to
the
order
in
which
they
were
encountered
.
If
@code{
SCOPE_NULLIFIED_P
}
holds
of
the
scope
,
back
-
ends
should
behave
as
if
the
@code{
SCOPE_STMT
}
were
not
present
at
all
.
@item
START_CATCH_STMT
These
statements
represent
the
location
to
which
control
is
transferred
when
an
exception
is
thrown
.
The
@code{
START_CATCH_TYPE
}
is
the
type
of
exception
that
will
be
caught
by
this
handler
;
it
is
equal
(
by
pointer
equalit
)
to
@code{
CATCH_ALL_TYPE
}
if
this
handler
is
for
all
types
.
@item
SUBOBJECT
In
a
constructor
,
these
nodes
are
used
to
mark
the
point
at
which
a
...
...
@@ -1286,12 +1325,9 @@ Used to represent a @code{try} block. The body of the try block is
given
by
@code{
TRY_STMTS
}
.
Each
of
the
catch
blocks
is
a
@code{
HANDLER
}
node
.
The
first
handler
is
given
by
@code{
TRY_HANDLERS
}
.
Subsequent
handlers
are
obtained
by
following
the
@code{
TREE_CHAIN
}
link
from
one
handler
to
the
next
.
The
parameters
for
each
handler
are
given
by
@code{
HANDLER_PARMS
}
.
The
body
of
the
handler
is
given
by
handler
to
the
next
.
The
body
of
the
handler
is
given
by
@code{
HANDLER_BODY
}
.
FIXME:
Document
the
use
of
@code{
HANDLER_PARMS
}
.
If
@code{
CLEANUP_P
}
holds
of
the
@code{
TRY_BLOCK
}
,
then
the
@code{
TRY_HANDLERS
}
will
not
be
a
@code{
HANDLER
}
node
.
Instead
,
it
will
be
an
expression
that
should
be
executed
if
an
exception
is
thrown
in
...
...
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