summaryrefslogtreecommitdiffstats
path: root/st.h
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-10 01:08:15 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-07-10 01:08:15 +0000
commit0e3b349f7a250e14c8c93b52507e557344bce800 (patch)
tree8edb1a59d129300539245135b80194271cf63870 /st.h
parenta707c831123cdabfe6a173c9f6cbcc86e6e7c9ce (diff)
downloadruby-0e3b349f7a250e14c8c93b52507e557344bce800.tar.gz
ruby-0e3b349f7a250e14c8c93b52507e557344bce800.tar.xz
ruby-0e3b349f7a250e14c8c93b52507e557344bce800.zip
* eval.c (proc_invoke): should not overwrite block information in
current frame. [ruby-dev:28957] * eval.c (rb_yield_0): retrieve proper block object from the frame record. * eval.c (proc_alloc): return preserved block object if it's available. * st.h (st_data_t): use pointer sized integer for st_data_t. [ruby-dev:28988] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'st.h')
-rw-r--r--st.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/st.h b/st.h
index c05acc445..4dad9c5f0 100644
--- a/st.h
+++ b/st.h
@@ -6,7 +6,14 @@
#define ST_INCLUDED
+#if SIZEOF_LONG == SIZEOF_VOIDP
typedef unsigned long st_data_t;
+#elif SIZEOF_LONG_LONG == SIZEOF_VOIDP
+typedef unsigned LONG_LONG st_data_t;
+#else
+# error ---->> st.c requires sizeof(void*) == sizeof(long) to be compiled. <<---
+-
+#endif
#define ST_DATA_T_DEFINED
typedef struct st_table st_table;