#1855: Add UINTPTR type into parrot.
---------------------+------------------------------------------------------
Reporter: bacek | Owner:
Type: feature | Status: new
Priority: normal | Milestone:
Component: core | Version: master
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
---------------------+------------------------------------------------------
Hello.
For bit manipulations on pointers we do need integral type to hold it. In
C99 it's declared as uintval_t. Unfortunately we have to support C89 which
doesn't have such declaration. Solution is to provide own define.
Example of usage is in parrot/parrot.h:
{{{
* NOTE! UINTVAL is incorrect below. It should be UINTPTR or something
like
* that. The equivalent of C99's uintptr_t- a non-pointer data type that
can
* hold a pointer.
*/
#define D2FPTR(x) UINTVAL2PTR(funcptr_t, PTR2UINTVAL(x))
#define F2DPTR(x) UINTVAL2PTR(void *, PTR2UINTVAL((funcptr_t) (x)))
}}}
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1855>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets