Lines Matching refs:dcl

79 			{zend_ffi_dcl dcl;}
80 {dcl = common_dcl;}
81 declarator(&dcl, &name, &name_len)
90 attributes(&dcl)?
92 {zend_ffi_declare(name, name_len, &dcl);}
94 {dcl = common_dcl;}
95 declarator(&dcl, &name, &name_len)
96 attributes(&dcl)?
98 {zend_ffi_declare(name, name_len, &dcl);}
108 declaration_specifiers(zend_ffi_dcl *dcl):
109 ( ?{sym != YY_ID || !(dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS)}
110 ( {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
112 {dcl->flags |= ZEND_FFI_DCL_TYPEDEF;}
113 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
115 {dcl->flags |= ZEND_FFI_DCL_EXTERN;}
116 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
118 {dcl->flags |= ZEND_FFI_DCL_STATIC;}
119 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
121 {dcl->flags |= ZEND_FFI_DCL_AUTO;}
122 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
124 {dcl->flags |= ZEND_FFI_DCL_REGISTER;}
127 {dcl->flags |= ZEND_FFI_DCL_INLINE;}
129 {dcl->flags |= ZEND_FFI_DCL_NO_RETURN;}
135 {zend_ffi_align_as_type(dcl, &align_dcl);}
138 {zend_ffi_align_as_val(dcl, &align_val);}
141 | attributes(dcl)
142 | type_qualifier(dcl)
143 | type_specifier(dcl)
148 specifier_qualifier_list(zend_ffi_dcl *dcl):
150 …( ?{sym != YY_ID || zend_ffi_is_typedef_name((const char*)yy_text, yy_pos - yy_text) || (dcl->flag…
151 ( type_specifier(dcl)
152 | type_qualifier(dcl)
153 | attributes(dcl)
158 type_qualifier_list(zend_ffi_dcl *dcl):
159 ( type_qualifier(dcl)
160 | attributes(dcl)
164 type_qualifier(zend_ffi_dcl *dcl):
166 {dcl->flags |= ZEND_FFI_DCL_CONST;}
167 {dcl->attr |= ZEND_FFI_ATTR_CONST;}
169 {dcl->flags |= ZEND_FFI_DCL_RESTRICT;}
171 {dcl->flags |= ZEND_FFI_DCL_VOLATILE;}
173 {dcl->flags |= ZEND_FFI_DCL_ATOMIC;}
176 type_specifier(zend_ffi_dcl *dcl):
179 ( {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
181 {dcl->flags |= ZEND_FFI_DCL_VOID;}
182 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL_UNSIGNED))) yy…
184 {dcl->flags |= ZEND_FFI_DCL_CHAR;}
185 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL_UNSIGNED|ZEND_…
187 {dcl->flags |= ZEND_FFI_DCL_SHORT;}
188 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL_UNSIGNED|ZEN…
190 {dcl->flags |= ZEND_FFI_DCL_INT;}
192 if (dcl->flags & ZEND_FFI_DCL_LONG) {
193 …if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_LONG|ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL…
194 dcl->flags |= ZEND_FFI_DCL_LONG_LONG;
196 …if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_LONG|ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL…
197 dcl->flags |= ZEND_FFI_DCL_LONG;
201 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_COMPLEX))) yy_error_sym("unexpecte…
203 {dcl->flags |= ZEND_FFI_DCL_FLOAT;}
204 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_LONG|ZEND_FFI_DCL_COMPLEX))) yy_er…
206 {dcl->flags |= ZEND_FFI_DCL_DOUBLE;}
207 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_CHAR|ZEND_FFI_DCL_SHORT|ZEND_FFI_D…
209 {dcl->flags |= ZEND_FFI_DCL_SIGNED;}
210 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_CHAR|ZEND_FFI_DCL_SHORT|ZEND_FFI_D…
212 {dcl->flags |= ZEND_FFI_DCL_UNSIGNED;}
213 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
215 {dcl->flags |= ZEND_FFI_DCL_BOOL;}
216 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_FLOAT|ZEND_FFI_DCL_DOUBLE|ZEND_FFI…
218 {dcl->flags |= ZEND_FFI_DCL_COMPLEX;}
220 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
221 struct_or_union_specifier(dcl)
222 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
223 enum_specifier(dcl)
224 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
227 {dcl->flags |= ZEND_FFI_DCL_TYPEDEF_NAME;}
228 {zend_ffi_resolve_typedef(name, name_len, dcl);}
232 struct_or_union_specifier(zend_ffi_dcl *dcl):
234 {dcl->flags |= ZEND_FFI_DCL_STRUCT;}
236 {dcl->flags |= ZEND_FFI_DCL_UNION;}
238 attributes(dcl)?
242 {zend_ffi_declare_tag(name, name_len, dcl, 1);}
243 ( struct_contents(dcl)
244 {zend_ffi_declare_tag(name, name_len, dcl, 0);}
246 | {zend_ffi_make_struct_type(dcl);}
247 struct_contents(dcl)
251 struct_contents(zend_ffi_dcl *dcl):
253 ( struct_declaration(dcl)
255 struct_declaration(dcl)
260 attributes(dcl)?+
261 {zend_ffi_adjust_struct_size(dcl);}
298 enum_specifier(zend_ffi_dcl *dcl):
300 {dcl->flags |= ZEND_FFI_DCL_ENUM;}
301 attributes(dcl)?
305 ( {zend_ffi_declare_tag(name, name_len, dcl, 0);}
307 enumerator_list(dcl)
309 attributes(dcl)?+
310 | {zend_ffi_declare_tag(name, name_len, dcl, 1);}
313 {zend_ffi_make_enum_type(dcl);}
314 enumerator_list(dcl)
316 attributes(dcl)?+
340 declarator(zend_ffi_dcl *dcl, const char **name, size_t *name_len):
343 pointer(dcl)?
351 array_or_function_declarators(dcl, &nested_dcl)?
352 {if (nested) zend_ffi_nested_declaration(dcl, &nested_dcl);}
355 abstract_declarator(zend_ffi_dcl *dcl):
358 pointer(dcl)?
366 array_or_function_declarators(dcl, &nested_dcl)?
367 {if (nested) zend_ffi_nested_declaration(dcl, &nested_dcl);}
370 parameter_declarator(zend_ffi_dcl *dcl, const char **name, size_t *name_len):
373 pointer(dcl)?
383 array_or_function_declarators(dcl, &nested_dcl)?
384 {if (nested) zend_ffi_nested_declaration(dcl, &nested_dcl);}
387 pointer(zend_ffi_dcl *dcl):
389 {zend_ffi_make_pointer_type(dcl);}
390 type_qualifier_list(dcl)?
394 array_or_function_declarators(zend_ffi_dcl *dcl, zend_ffi_dcl *nested_dcl):
419 array_or_function_declarators(dcl, nested_dcl)?
420 {dcl->attr |= attr;}
421 {zend_ffi_make_array_type(dcl, &len);}
437 array_or_function_declarators(dcl, nested_dcl)?
438 {dcl->attr |= attr;}
439 {zend_ffi_make_func_type(dcl, args, nested_dcl);}
457 type_name(zend_ffi_dcl *dcl):
458 specifier_qualifier_list(dcl)
459 abstract_declarator(dcl)
462 attributes(zend_ffi_dcl *dcl):
470 attrib(dcl)
472 attrib(dcl)
482 {zend_ffi_add_msvc_attribute_value(dcl, name, name_len, &val);}
488 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_CDECL);}
490 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_STDCALL);}
492 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_FASTCALL);}
494 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_THISCALL);}
496 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_VECTORCALL);}
500 attrib(zend_ffi_dcl *dcl):
508 {zend_ffi_add_attribute(dcl, name, name_len);}
513 {zend_ffi_add_attribute_value(dcl, name, name_len, 0, &val);}
517 {zend_ffi_add_attribute_value(dcl, name, name_len, ++n, &val);}
699 {zend_ffi_dcl dcl = ZEND_FFI_ATTR_INIT;}
702 type_name(&dcl)
707 {if (do_cast) zend_ffi_expr_cast(val, &dcl);}
713 {zend_ffi_dcl dcl = ZEND_FFI_ATTR_INIT;}
768 type_name(&dcl)
770 {zend_ffi_expr_sizeof_type(val, &dcl);}
776 type_name(&dcl)
778 {zend_ffi_expr_alignof_type(val, &dcl);}
782 type_name(&dcl)
784 {zend_ffi_expr_alignof_type(val, &dcl);}
898 zend_result zend_ffi_parse_type(const char *str, size_t len, zend_ffi_dcl *dcl) {
907 sym = parse_type_name(get_sym(), dcl);
911 zend_ffi_validate_type_name(dcl);