From f45e9e35700d7c547ba33b02c4186e746dea204a Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 19 Nov 2015 15:21:14 -0700 Subject: [PATCH] document (lack of) enum handling in libffi --- doc/libffi.texi | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/libffi.texi b/doc/libffi.texi index 0459899..073b8d4 100644 --- a/doc/libffi.texi +++ b/doc/libffi.texi @@ -269,7 +269,7 @@ int main() * Primitive Types:: Built-in types. * Structures:: Structure types. * Size and Alignment:: Size and alignment of types. -* Arrays and Unions:: Arrays and unions. +* Arrays Unions Enums:: Arrays, unions, and enumerations. * Type Example:: Structure type example. * Complex:: Complex types. * Complex Type Example:: Complex type example. @@ -463,8 +463,8 @@ if (ffi_prep_cif (&cif, desired_abi, 0, desired_type, NULL) == FFI_OK) @} @end example -@node Arrays and Unions -@subsection Arrays and Unions +@node Arrays Unions Enums +@subsection Arrays, Unions, and Enumerations @subsubsection Arrays @@ -541,6 +541,16 @@ for (i = 0; union_elements[i]; ++i) @} @end example +@subsubsection Enumerations + +@code{libffi} does not have any special support for C @code{enum}s. +Although any given @code{enum} is implemented using a specific +underlying integral type, exactly which type will be used cannot be +determined by @code{libffi} -- it may depend on the values in the +enumeration or on compiler flags such as @option{-fshort-enums}. +@xref{Structures unions enumerations and bit-fields implementation, , , gcc}, +for more information about how GCC handles enumerations. + @node Type Example @subsection Type Example -- 2.7.4