Differences From Artifact [a24ad9446a]:
- File src/runtime/linklib/linklib.m — part of check-in [95e1ba8d63] at 2018-05-13 02:09:02 on branch trunk — runtime: Port Amiga library to MorphOS (user: js, size: 9771) [annotate] [blame] [check-ins using]
To Artifact [5386d2b724]:
- File
src/runtime/linklib/linklib.m
— part of check-in
[5831626f68]
at
2018-05-13 19:24:28
on branch trunk
— platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K
The reason for this is that, in theory, this also supports versions
older than 3. (user: js, size: 9783) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
17 18 19 20 21 22 23 | #include "config.h" #import "ObjFW_RT.h" #import "private.h" #import "macros.h" | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include "config.h" #import "ObjFW_RT.h" #import "private.h" #import "macros.h" #ifdef OF_AMIGAOS_M68K # define INTUITION_CLASSES_H #endif #include <proto/exec.h> #import "inline.h" #include <stdio.h> |
︙ | ︙ | |||
178 179 180 181 182 183 184 | { return objc_get_class_m68k(name); } void objc_exception_throw(id object) { | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | { return objc_get_class_m68k(name); } void objc_exception_throw(id object) { #ifdef OF_AMIGAOS_M68K /* * This does not use the glue code to hack around a compiler bug. * * When using the generated inline stubs, the compiler does not emit * any frame information, making the unwind fail. As unwind always * starts from objc_exception_throw(), this means exceptions would * never work. If, however, we're using a function pointer instead of |
︙ | ︙ | |||
242 243 244 245 246 247 248 | { objc_setPropertyStruct_m68k(dest, src, size, atomic, strong); } void objc_enumerationMutation(id object) { | | | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | { objc_setPropertyStruct_m68k(dest, src, size, atomic, strong); } void objc_enumerationMutation(id object) { #ifdef OF_AMIGAOS_M68K /* * This does not use the glue code to hack around a compiler bug. * * When using the generated inline stubs, the compiler does not emit * any frame information, making the unwind fail. As a result * objc_enumerationMutation() might throw an exception that could never * be caught. If, however, we're using a function pointer instead of |
︙ | ︙ |