Lines Matching refs:dcl
78 {zend_ffi_dcl dcl;}
79 {dcl = common_dcl;}
80 declarator(&dcl, &name, &name_len)
89 attributes(&dcl)?
91 {zend_ffi_declare(name, name_len, &dcl);}
93 {dcl = common_dcl;}
94 declarator(&dcl, &name, &name_len)
95 attributes(&dcl)?
97 {zend_ffi_declare(name, name_len, &dcl);}
104 declaration_specifiers(zend_ffi_dcl *dcl):
105 ( ?{sym != YY_ID || !(dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS)}
106 ( {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
108 {dcl->flags |= ZEND_FFI_DCL_TYPEDEF;}
109 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
111 {dcl->flags |= ZEND_FFI_DCL_EXTERN;}
112 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
114 {dcl->flags |= ZEND_FFI_DCL_STATIC;}
115 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
117 {dcl->flags |= ZEND_FFI_DCL_AUTO;}
118 | {if (dcl->flags & ZEND_FFI_DCL_STORAGE_CLASS) yy_error_sym("unexpected", sym);}
120 {dcl->flags |= ZEND_FFI_DCL_REGISTER;}
123 {dcl->flags |= ZEND_FFI_DCL_INLINE;}
125 {dcl->flags |= ZEND_FFI_DCL_NO_RETURN;}
131 {zend_ffi_align_as_type(dcl, &align_dcl);}
134 {zend_ffi_align_as_val(dcl, &align_val);}
137 | attributes(dcl)
138 | type_qualifier(dcl)
139 | type_specifier(dcl)
144 specifier_qualifier_list(zend_ffi_dcl *dcl):
146 …( ?{sym != YY_ID || zend_ffi_is_typedef_name((const char*)yy_text, yy_pos - yy_text) || (dcl->flag…
147 ( type_specifier(dcl)
148 | type_qualifier(dcl)
149 | attributes(dcl)
154 type_qualifier_list(zend_ffi_dcl *dcl):
155 ( type_qualifier(dcl)
156 | attributes(dcl)
160 type_qualifier(zend_ffi_dcl *dcl):
162 {dcl->flags |= ZEND_FFI_DCL_CONST;}
163 {dcl->attr |= ZEND_FFI_ATTR_CONST;}
165 {dcl->flags |= ZEND_FFI_DCL_RESTRICT;}
167 {dcl->flags |= ZEND_FFI_DCL_VOLATILE;}
169 {dcl->flags |= ZEND_FFI_DCL_ATOMIC;}
172 type_specifier(zend_ffi_dcl *dcl):
175 ( {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
177 {dcl->flags |= ZEND_FFI_DCL_VOID;}
178 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL_UNSIGNED))) yy…
180 {dcl->flags |= ZEND_FFI_DCL_CHAR;}
181 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL_UNSIGNED|ZEND_…
183 {dcl->flags |= ZEND_FFI_DCL_SHORT;}
184 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL_UNSIGNED|ZEN…
186 {dcl->flags |= ZEND_FFI_DCL_INT;}
188 if (dcl->flags & ZEND_FFI_DCL_LONG) {
189 …if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_LONG|ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL…
190 dcl->flags |= ZEND_FFI_DCL_LONG_LONG;
192 …if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_LONG|ZEND_FFI_DCL_SIGNED|ZEND_FFI_DCL…
193 dcl->flags |= ZEND_FFI_DCL_LONG;
197 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_COMPLEX))) yy_error_sym("unexpecte…
199 {dcl->flags |= ZEND_FFI_DCL_FLOAT;}
200 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_LONG|ZEND_FFI_DCL_COMPLEX))) yy_er…
202 {dcl->flags |= ZEND_FFI_DCL_DOUBLE;}
203 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_CHAR|ZEND_FFI_DCL_SHORT|ZEND_FFI_D…
205 {dcl->flags |= ZEND_FFI_DCL_SIGNED;}
206 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_CHAR|ZEND_FFI_DCL_SHORT|ZEND_FFI_D…
208 {dcl->flags |= ZEND_FFI_DCL_UNSIGNED;}
209 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
211 {dcl->flags |= ZEND_FFI_DCL_BOOL;}
212 …| {if (dcl->flags & (ZEND_FFI_DCL_TYPE_SPECIFIERS-(ZEND_FFI_DCL_FLOAT|ZEND_FFI_DCL_DOUBLE|ZEND_FFI…
214 {dcl->flags |= ZEND_FFI_DCL_COMPLEX;}
216 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
217 struct_or_union_specifier(dcl)
218 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
219 enum_specifier(dcl)
220 | {if (dcl->flags & ZEND_FFI_DCL_TYPE_SPECIFIERS) yy_error_sym("unexpected", sym);}
223 {dcl->flags |= ZEND_FFI_DCL_TYPEDEF_NAME;}
224 {zend_ffi_resolve_typedef(name, name_len, dcl);}
228 struct_or_union_specifier(zend_ffi_dcl *dcl):
230 {dcl->flags |= ZEND_FFI_DCL_STRUCT;}
232 {dcl->flags |= ZEND_FFI_DCL_UNION;}
234 attributes(dcl)?
238 {zend_ffi_declare_tag(name, name_len, dcl, 1);}
239 ( struct_contents(dcl)
240 {zend_ffi_declare_tag(name, name_len, dcl, 0);}
242 | {zend_ffi_make_struct_type(dcl);}
243 struct_contents(dcl)
247 struct_contents(zend_ffi_dcl *dcl):
249 ( struct_declaration(dcl)
251 struct_declaration(dcl)
256 attributes(dcl)?+
257 {zend_ffi_adjust_struct_size(dcl);}
294 enum_specifier(zend_ffi_dcl *dcl):
296 {dcl->flags |= ZEND_FFI_DCL_ENUM;}
297 attributes(dcl)?
301 ( {zend_ffi_declare_tag(name, name_len, dcl, 0);}
303 enumerator_list(dcl)
305 attributes(dcl)?+
306 | {zend_ffi_declare_tag(name, name_len, dcl, 1);}
309 {zend_ffi_make_enum_type(dcl);}
310 enumerator_list(dcl)
312 attributes(dcl)?+
336 declarator(zend_ffi_dcl *dcl, const char **name, size_t *name_len):
339 pointer(dcl)?
347 array_or_function_declarators(dcl, &nested_dcl)?
348 {if (nested) zend_ffi_nested_declaration(dcl, &nested_dcl);}
351 abstract_declarator(zend_ffi_dcl *dcl):
354 pointer(dcl)?
362 array_or_function_declarators(dcl, &nested_dcl)?
363 {if (nested) zend_ffi_nested_declaration(dcl, &nested_dcl);}
366 parameter_declarator(zend_ffi_dcl *dcl, const char **name, size_t *name_len):
369 pointer(dcl)?
379 array_or_function_declarators(dcl, &nested_dcl)?
380 {if (nested) zend_ffi_nested_declaration(dcl, &nested_dcl);}
383 pointer(zend_ffi_dcl *dcl):
385 {zend_ffi_make_pointer_type(dcl);}
386 type_qualifier_list(dcl)?
390 array_or_function_declarators(zend_ffi_dcl *dcl, zend_ffi_dcl *nested_dcl):
415 array_or_function_declarators(dcl, nested_dcl)?
416 {dcl->attr |= attr;}
417 {zend_ffi_make_array_type(dcl, &len);}
433 array_or_function_declarators(dcl, nested_dcl)?
434 {dcl->attr |= attr;}
435 {zend_ffi_make_func_type(dcl, args, nested_dcl);}
453 type_name(zend_ffi_dcl *dcl):
454 specifier_qualifier_list(dcl)
455 abstract_declarator(dcl)
458 attributes(zend_ffi_dcl *dcl):
466 attrib(dcl)
468 attrib(dcl)
478 {zend_ffi_add_msvc_attribute_value(dcl, name, name_len, &val);}
484 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_CDECL);}
486 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_STDCALL);}
488 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_FASTCALL);}
490 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_THISCALL);}
492 {zend_ffi_set_abi(dcl, ZEND_FFI_ABI_VECTORCALL);}
496 attrib(zend_ffi_dcl *dcl):
504 {zend_ffi_add_attribute(dcl, name, name_len);}
509 {zend_ffi_add_attribute_value(dcl, name, name_len, 0, &val);}
513 {zend_ffi_add_attribute_value(dcl, name, name_len, ++n, &val);}
695 {zend_ffi_dcl dcl = ZEND_FFI_ATTR_INIT;}
698 type_name(&dcl)
703 {if (do_cast) zend_ffi_expr_cast(val, &dcl);}
709 {zend_ffi_dcl dcl = ZEND_FFI_ATTR_INIT;}
764 type_name(&dcl)
766 {zend_ffi_expr_sizeof_type(val, &dcl);}
772 type_name(&dcl)
774 {zend_ffi_expr_alignof_type(val, &dcl);}
778 type_name(&dcl)
780 {zend_ffi_expr_alignof_type(val, &dcl);}
894 int zend_ffi_parse_type(const char *str, size_t len, zend_ffi_dcl *dcl) {
903 sym = parse_type_name(get_sym(), dcl);
907 zend_ffi_validate_type_name(dcl);