summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r--Zend/zend_compile.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index af3b6417b5..4e7a9bce63 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -587,4 +587,23 @@ int zendlex(znode *zendlval CLS_DC);
#define SELECTIVE_PZVAL_LOCK(pzv, pzn) if (!((pzn)->u.EA.type & EXT_TYPE_UNUSED)) { PZVAL_LOCK(pzv); }
+
+/* Lost In Stupid Parentheses */
+#define ARG_SHOULD_BE_SENT_BY_REF(offset, conduct_check, arg_types) \
+ ( \
+ conduct_check \
+ && arg_types \
+ && \
+ ( \
+ ( \
+ offset<=arg_types[0] \
+ && arg_types[offset]==BYREF_FORCE \
+ ) \
+ || ( \
+ offset>=arg_types[0] \
+ && arg_types[arg_types[0]]==BYREF_FORCE_REST \
+ ) \
+ ) \
+ )
+
#endif /* _COMPILE_H */