Author: bernhard
Date: Sun Jun 10 07:00:15 2007
New Revision: 18908
Modified:
trunk/include/parrot/exceptions.h
trunk/src/exceptions.c
Log:
Export 'real_exception()' per PARROT_API.
At least the external PMCs of Lua need it.
Modified: trunk/include/parrot/exceptions.h
==============================================================================
--- trunk/include/parrot/exceptions.h (original)
+++ trunk/include/parrot/exceptions.h Sun Jun 10 07:00:15 2007
@@ -194,6 +194,15 @@
Parrot_exception *jb )
__attribute__nonnull__(1);
+PARROT_API void real_exception( Interp *interp /*NN*/,
+ void *ret_addr,
+ int exitcode,
+ const char *format /*NN*/,
+ ... )
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(4)
+ __attribute__noreturn__;
+
PARROT_API opcode_t * rethrow_exception( Interp *interp /*NN*/,
PMC *exception /*NN*/ )
__attribute__nonnull__(1)
@@ -215,14 +224,6 @@
void Parrot_init_exceptions( Interp *interp /*NN*/ )
__attribute__nonnull__(1);
-void real_exception( Interp *interp /*NN*/,
- void *ret_addr,
- int exitcode,
- const char *format /*NN*/,
- ... )
- __attribute__nonnull__(1)
- __attribute__nonnull__(4);
-
void really_destroy_exception_list( Parrot_exception *e /*NULLOK*/ );
void rethrow_c_exception( Interp *interp /*NN*/ )
__attribute__nonnull__(1)
Modified: trunk/src/exceptions.c
==============================================================================
--- trunk/src/exceptions.c (original)
+++ trunk/src/exceptions.c Sun Jun 10 07:00:15 2007
@@ -636,9 +636,11 @@
*/
+PARROT_API
void
real_exception(Interp *interp /*NN*/, void *ret_addr,
int exitcode, const char *format /*NN*/, ...)
+ /* NORETURN */
{
STRING *msg;
Parrot_exception * const the_exception = interp->exceptions;