summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-04-25 12:04:29 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-04-25 12:04:29 +0900
commit62ca4c17385e0018767b20badcb92a9002166ef0 (patch)
tree3205d319c70a459c3b37fd3589634fef6b2495ab /include
parentec8fad0fed5e29731a13762b3204e67891a86ca1 (diff)
downloadmruby-62ca4c17385e0018767b20badcb92a9002166ef0.tar.gz
mruby-62ca4c17385e0018767b20badcb92a9002166ef0.zip
aspec bits should be packed in Ax; ref #1209
Diffstat (limited to 'include')
-rw-r--r--include/mruby.h12
-rw-r--r--include/mruby/proc.h14
2 files changed, 13 insertions, 13 deletions
diff --git a/include/mruby.h b/include/mruby.h
index 88ab12b05..652fbe34c 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -170,20 +170,20 @@ struct RClass * mrb_define_class_under(mrb_state *mrb, struct RClass *outer, con
struct RClass * mrb_define_module_under(mrb_state *mrb, struct RClass *outer, const char *name);
/* required arguments */
-#define MRB_ARGS_REQ(n) ((mrb_aspec)((n)&0x1f) << 19)
+#define MRB_ARGS_REQ(n) ((mrb_aspec)((n)&0x1f) << 18)
/* optional arguments */
-#define MRB_ARGS_OPT(n) ((mrb_aspec)((n)&0x1f) << 14)
+#define MRB_ARGS_OPT(n) ((mrb_aspec)((n)&0x1f) << 13)
/* mandatory and optinal arguments */
#define MRB_ARGS_ARG(n1,n2) (MRB_ARGS_REQ(n1)|MRB_ARGS_OPT(n2))
/* rest argument */
-#define MRB_ARGS_REST() ((mrb_aspec)(1 << 13))
+#define MRB_ARGS_REST() ((mrb_aspec)(1 << 12))
/* required arguments after rest */
-#define MRB_ARGS_POST(n) ((mrb_aspec)((n)&0x1f) << 8)
+#define MRB_ARGS_POST(n) ((mrb_aspec)((n)&0x1f) << 7)
/* keyword arguments (n of keys, kdict) */
-#define MRB_ARGS_KEY(n1,n2) ((mrb_aspec)((((n1)&0x1f) << 3) | ((n2)?(1<<2):0)))
+#define MRB_ARGS_KEY(n1,n2) ((mrb_aspec)((((n1)&0x1f) << 2) | ((n2)?(1<<1):0)))
/* block argument */
-#define MRB_ARGS_BLOCK() ((mrb_aspec)(1 << 1))
+#define MRB_ARGS_BLOCK() ((mrb_aspec)1)
/* accept any number of arguments */
#define MRB_ARGS_ANY() ARGS_REST()
diff --git a/include/mruby/proc.h b/include/mruby/proc.h
index d197b5dd8..d88de744a 100644
--- a/include/mruby/proc.h
+++ b/include/mruby/proc.h
@@ -31,13 +31,13 @@ struct RProc {
};
/* aspec access */
-#define MRB_ASPEC_REQ(a) (((a) >> 19) & 0x1f)
-#define MRB_ASPEC_OPT(a) (((a) >> 14) & 0x1f)
-#define MRB_ASPEC_REST(a) ((a) & (1<<13))
-#define MRB_ASPEC_POST(a) (((a) >> 8) & 0x1f)
-#define MRB_ASPEC_KEY(a) (((a) >> 3) & 0x1f)
-#define MRB_ASPEC_KDICT(a) ((a) & (1<<2))
-#define MRB_ASPEC_BLOCK(a) ((a) & (1<<1))
+#define MRB_ASPEC_REQ(a) (((a) >> 18) & 0x1f)
+#define MRB_ASPEC_OPT(a) (((a) >> 13) & 0x1f)
+#define MRB_ASPEC_REST(a) ((a) & (1<<12))
+#define MRB_ASPEC_POST(a) (((a) >> 7) & 0x1f)
+#define MRB_ASPEC_KEY(a) (((a) >> 2) & 0x1f)
+#define MRB_ASPEC_KDICT(a) ((a) & (1<<1))
+#define MRB_ASPEC_BLOCK(a) ((a) & 1)
#define MRB_PROC_CFUNC 128
#define MRB_PROC_CFUNC_P(p) ((p)->flags & MRB_PROC_CFUNC)