Ticket #1855 (new feature)
Opened 11 years ago
Add UINTPTR type into parrot.
Reported by: | bacek | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | core | Version: | master |
Severity: | medium | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
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)))
Note: See
TracTickets for help on using
tickets.