diff options
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r-- | Zend/zend_compile.h | 19 |
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 */ |