diff options
author | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-08-16 00:52:06 +0000 |
---|---|---|
committer | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-08-16 00:52:06 +0000 |
commit | c2f6861cfc34dde446fa51c40ad4de0d01318b62 (patch) | |
tree | dfa01fe78a9a498d98e86d5a2245aefbc71811b2 /gcc/libgcc2.c | |
parent | 62a5c607d1269fd3223f906713661fee608a6e86 (diff) | |
download | gcc-c2f6861cfc34dde446fa51c40ad4de0d01318b62.tar.gz |
* libgcc2.c (__throw): New routine.
(__eh_pc): New data object for exception handling.
* except.c (eh_saved_pc): New object so we can call
assemble_external.
(expand_internal_throw_indirect): Call assemble_external for
__eh_pc.
(end_eh_unwinder): Ditto.
(init_eh): Initialize eh_saved_pc.
fixes eh6.C on rs6000 and alpha
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12646 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r-- | gcc/libgcc2.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 41801fa73b0..1b1ecf48916 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -3149,6 +3149,21 @@ __throw_type_match (void *catch_type, void *throw_type, void *obj) return 0; } +/* Throw stub routine. + + This is work in progress, but not completed yet. */ + +void +__throw () +{ + abort (); +} + +/* This value identifies the place from which an exception is being + thrown. */ + +void *__eh_pc; + void __empty () { |