[cfe-dev] Get the number of bits of a bit field with libclang?
Jacob Carlborg
doob at me.com
Tue May 22 12:37:56 PDT 2012
On 2012-05-22 21:28, Argyrios Kyrtzidis wrote:
> On May 22, 2012, at 11:42 AM, Jacob Carlborg wrote:
>
>> Is it possible to get the number of bits of a bit field with libclang?
>>
>> struct Foo
>> {
>> int a : 1;
>> };
>>
>> I noticed I could traverse to the "value" of "a" and the type of the
>> cursor was CXCursor_IntegerLiteral. But is it possible to get the actual
>> value?
>
> No, are you interested in submitting a patch ? I suggest something like "clang_Cursor_getBitWidthValue(CXCursor)" similar to how clang_Cursor_getNumArguments(CXCursor C) works, with the difference that it can return "unsigned" and 0 if the cursor is not a bitfield.
Probably in the long run if no one else does it. But right now I have
other things on my todo-list for my tool with higher priority.
Would two functions be a good idea, one for signed and one for unsigned
values? Just like "clang_getEnumConstantDeclValue" and
"clang_getEnumConstantDeclUnsignedValue".
--
/Jacob Carlborg
More information about the cfe-dev
mailing list