73 lines
2.4 KiB
Text
73 lines
2.4 KiB
Text
--- cp/gxxint.texi.orig Wed Oct 11 19:29:39 1995
|
|
+++ cp/gxxint.texi Mon Mar 20 13:29:12 2000
|
|
@@ -1285,13 +1285,13 @@
|
|
copy value onto heap
|
|
jump throw (Ln, id, address of copy of value on heap)
|
|
|
|
- try {
|
|
+ try @{
|
|
+Lstart: the start of the main EH region
|
|
|... ...
|
|
+Lend: the end of the main EH region
|
|
- } catch (T o) {
|
|
+ @} catch (T o) @{
|
|
...1
|
|
- }
|
|
+ @}
|
|
Lresume:
|
|
nop used to make sure there is something before
|
|
the next region ends, if there is one
|
|
@@ -1312,7 +1312,7 @@
|
|
[
|
|
[
|
|
call throw_type_match
|
|
- if (eq) {
|
|
+ if (eq) @{
|
|
] these lines disappear when there is no catch condition
|
|
+Lsregion2:
|
|
| ...1
|
|
@@ -1320,7 +1320,7 @@
|
|
|Lhandler: handler for the region Lsregion2-Leregion2
|
|
| rethrow (Lresume, same id, same obj);
|
|
+Leregion2
|
|
- }
|
|
+ @}
|
|
] there are zero or more of these sections, depending upon how many
|
|
catch clauses there are
|
|
----------------------------- expand_end_all_catch --------------------------
|
|
@@ -1336,7 +1336,7 @@
|
|
|
|
start_all_catch emits labels: Lresume,
|
|
|
|
-#end example
|
|
+@end example
|
|
|
|
The __unwind_function takes a pointer to the throw handler, and is
|
|
expected to pop the stack frame that was built to call it, as well as
|
|
@@ -1346,7 +1346,7 @@
|
|
into. The way I normally start is to compile:
|
|
|
|
void *g;
|
|
- foo(void* a) { g = a; }
|
|
+ foo(void* a) @{ g = a; @}
|
|
|
|
with -S, and change the thing that alters the PC (return, or ret
|
|
usually) to not alter the PC, making sure to leave all other semantics
|
|
@@ -1453,7 +1453,7 @@
|
|
should also be removed, although not doing this is harmless in terms of
|
|
semantics.
|
|
|
|
-#end itemize
|
|
+@end itemize
|
|
|
|
The above is not meant to be exhaustive, but does include all things I
|
|
have thought of so far. I am sure other limitations exist.
|
|
@@ -1515,7 +1515,7 @@
|
|
|
|
The eh archive (~mrs/eh) might be good reading for understanding the Ada
|
|
perspective, and some of kenners mindset, and a detailed explanation
|
|
-(Message-Id: <9308301130.AA10543@vlsi1.ultra.nyu.edu>) of the concepts
|
|
+(Message-Id: <9308301130.AA10543@@vlsi1.ultra.nyu.edu>) of the concepts
|
|
involved.
|
|
|
|
Here is a guide to existing backend type code. It is all in
|