Implement the *allocx() API.
Implement the *allocx() API, which is a successor to the *allocm() API. The *allocx() functions are slightly simpler to use because they have fewer parameters, they directly return the results of primary interest, and mallocx()/rallocx() avoid the strict aliasing pitfall that allocm()/rallocx() share with posix_memalign(). The following code violates strict aliasing rules: foo_t *foo; allocm((void **)&foo, NULL, 42, 0); whereas the following is safe: foo_t *foo; void *p; allocm(&p, NULL, 42, 0); foo = (foo_t *)p; mallocx() does not have this problem: foo_t *foo = (foo_t *)mallocx(42, 0);
This commit is contained in:
@@ -207,17 +207,17 @@ huge_ralloc_no_move
|
||||
huge_salloc
|
||||
iallocm
|
||||
icalloc
|
||||
icallocx
|
||||
icalloct
|
||||
idalloc
|
||||
idallocx
|
||||
idalloct
|
||||
imalloc
|
||||
imallocx
|
||||
imalloct
|
||||
ipalloc
|
||||
ipallocx
|
||||
ipalloct
|
||||
iqalloc
|
||||
iqallocx
|
||||
iqalloct
|
||||
iralloc
|
||||
irallocx
|
||||
iralloct
|
||||
isalloc
|
||||
isthreaded
|
||||
ivsalloc
|
||||
|
Reference in New Issue
Block a user