~ubuntu-branches/ubuntu/quantal/ruby1.9.1/quantal

« back to all changes in this revision

Viewing changes to eval_intern.h

  • Committer: Bazaar Package Importer
  • Author(s): Lucas Nussbaum
  • Date: 2011-09-24 19:16:17 UTC
  • mfrom: (1.1.8 upstream) (13.1.7 experimental)
  • Revision ID: james.westby@ubuntu.com-20110924191617-o1qz4rcmqjot8zuy
Tags: 1.9.3~rc1-1
* New upstream release: 1.9.3 RC1.
  + Includes load.c fixes. Closes: #639959.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
65
65
#endif
66
66
 
67
67
#define ruby_setjmp(env) RUBY_SETJMP(env)
68
 
#define ruby_longjmp(env,val) RUBY_LONGJMP(env,val)
 
68
#define ruby_longjmp(env,val) RUBY_LONGJMP((env),(val))
69
69
#ifdef __CYGWIN__
70
70
# ifndef _setjmp
71
71
int _setjmp(jmp_buf);
90
90
  So following definition is required to use select_large_fdset.
91
91
*/
92
92
#ifdef HAVE_SELECT_LARGE_FDSET
93
 
#define select(n, r, w, e, t) select_large_fdset(n, r, w, e, t)
 
93
#define select(n, r, w, e, t) select_large_fdset((n), (r), (w), (e), (t))
 
94
extern int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval *);
94
95
#endif
95
96
 
96
97
#ifdef HAVE_SYS_PARAM_H
108
109
  } while (0)
109
110
 
110
111
#define TH_PUSH_TAG(th) do { \
111
 
  rb_thread_t * const _th = th; \
 
112
  rb_thread_t * const _th = (th); \
112
113
  struct rb_vm_tag _tag; \
113
114
  _tag.tag = 0; \
114
115
  _tag.prev = _th->tag; \
130
131
  TH_EXEC_TAG()
131
132
 
132
133
#define TH_JUMP_TAG(th, st) do { \
133
 
  ruby_longjmp(th->tag->buf,(st)); \
 
134
  ruby_longjmp((th)->tag->buf,(st)); \
134
135
} while (0)
135
136
 
136
 
#define JUMP_TAG(st) TH_JUMP_TAG(GET_THREAD(), st)
 
137
#define JUMP_TAG(st) TH_JUMP_TAG(GET_THREAD(), (st))
 
138
 
 
139
#define INTERNAL_EXCEPTION_P(exc) FIXNUM_P(exc)
137
140
 
138
141
enum ruby_tag_type {
139
142
    RUBY_TAG_RETURN     = 0x1,
172
175
#define SCOPE_SET(f)   (rb_vm_cref()->nd_visi = (f))
173
176
 
174
177
#define CHECK_STACK_OVERFLOW(cfp, margin) do \
175
 
  if ((VALUE *)((char *)(((VALUE *)(cfp)->sp) + (margin)) + sizeof(rb_control_frame_t)) >= ((VALUE *)cfp)) { \
 
178
  if ((VALUE *)((char *)(((VALUE *)(cfp)->sp) + (margin)) + sizeof(rb_control_frame_t)) >= ((VALUE *)(cfp))) { \
176
179
      rb_exc_raise(sysstack_error); \
177
180
  } \
178
181
while (0)
205
208
 
206
209
VALUE rb_vm_make_jump_tag_but_local_jump(int state, VALUE val);
207
210
NODE *rb_vm_cref(void);
208
 
VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename, VALUE filepath);
 
211
VALUE rb_vm_call_cfunc(VALUE recv, VALUE (*func)(VALUE), VALUE arg, const rb_block_t *blockptr, VALUE filename);
209
212
void rb_vm_set_progname(VALUE filename);
210
213
void rb_thread_terminate_all(void);
211
214
VALUE rb_vm_top_self();
212
215
VALUE rb_vm_cbase(void);
213
 
int rb_vm_get_sourceline(const rb_control_frame_t *);
214
216
void rb_trap_restore_mask(void);
215
217
 
216
218
#ifndef CharNext                /* defined as CharNext[AW] on Windows. */
217
 
#define CharNext(p) ((p) + mblen(p, RUBY_MBCHAR_MAXSIZE))
 
219
#define CharNext(p) ((p) + mblen((p), RUBY_MBCHAR_MAXSIZE))
218
220
#endif
219
221
 
220
222
#if defined DOSISH || defined __CYGWIN__