Changeset 3897


Ignore:
Timestamp:
Sep 5, 2008, 4:56:35 PM (12 years ago)
Author:
orlov
Message:
  • RF_ERROR for RFRT_STINGY_STACK.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/c++/runtime/rf_macros.hh

    r2187 r3897  
    275275      stack->cleanup(__trap_depth); \
    276276    } while (0)
     277# ifdef RFRT_COMPATIBLE
     278#  define RF_ERROR(x) \
     279     do { \
     280       if (trap_stack_on) __keep_stack = true; \
     281       Expr y = x; \
     282       throw Expr(y, y.get_len() - 2, 2); \
     283     } while (0)
     284# else
     285#  define RF_ERROR(x) \
     286     do { \
     287       if (trap_stack_on) __keep_stack = true; \
     288       throw (x); \
     289     } while (0)
     290# endif
    277291#else
    278292# define RF_CLEANUP stack->destroy_results(__trap_top, __trap_depth)
    279 #endif
    280 
    281 #ifdef RFRT_COMPATIBLE
    282 # define RF_ERROR(x) \
    283     do { \
    284       if (trap_stack_on) __keep_stack = true; \
    285       Expr y = x; \
    286       throw Expr(y, y.get_len() - 2, 2); \
    287     } while (0)
    288 #else
    289 # define RF_ERROR(x) \
    290     do { \
    291       if (trap_stack_on) __keep_stack = true; \
    292       throw (x); \
    293     } while (0)
     293# define RF_ERROR(x) throw (x)
    294294#endif
    295295
Note: See TracChangeset for help on using the changeset viewer.