mark direct access result const
This commit is contained in:
parent
11c956174b
commit
010db0b1fc
@ -95,13 +95,13 @@ BQNElType bqn_directArrType(BQNV a);
|
||||
// Mutating the result, or using it after `a` is freed, results in undefined behavior.
|
||||
// Doing other FFI invocations between a direct access request and the last read from the result is currently allowed in CBQN,
|
||||
// but that may not be true for an implementation which has a compacting garbage collector.
|
||||
int8_t* bqn_directI8 (BQNV a);
|
||||
int16_t* bqn_directI16(BQNV a);
|
||||
int32_t* bqn_directI32(BQNV a);
|
||||
double* bqn_directF64(BQNV a);
|
||||
uint8_t* bqn_directC8 (BQNV a);
|
||||
uint16_t* bqn_directC16(BQNV a);
|
||||
uint32_t* bqn_directC32(BQNV a);
|
||||
const int8_t* bqn_directI8 (BQNV a);
|
||||
const int16_t* bqn_directI16(BQNV a);
|
||||
const int32_t* bqn_directI32(BQNV a);
|
||||
const double* bqn_directF64(BQNV a);
|
||||
const uint8_t* bqn_directC8 (BQNV a);
|
||||
const uint16_t* bqn_directC16(BQNV a);
|
||||
const uint32_t* bqn_directC32(BQNV a);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
14
src/ffi.c
14
src/ffi.c
@ -186,13 +186,13 @@ BQNElType bqn_directArrType(BQNV a) {
|
||||
if (!isArr(b)) return elt_unk;
|
||||
return typeMap[TI(b,elType)];
|
||||
}
|
||||
i8* bqn_directI8 (BQNV a) { return i8any_ptr (getB(a)); }
|
||||
i16* bqn_directI16(BQNV a) { return i16any_ptr(getB(a)); }
|
||||
i32* bqn_directI32(BQNV a) { return i32any_ptr(getB(a)); }
|
||||
f64* bqn_directF64(BQNV a) { return f64any_ptr(getB(a)); }
|
||||
u8* bqn_directC8 (BQNV a) { return c8any_ptr (getB(a)); }
|
||||
u16* bqn_directC16(BQNV a) { return c16any_ptr(getB(a)); }
|
||||
u32* bqn_directC32(BQNV a) { return c32any_ptr(getB(a)); }
|
||||
const i8* bqn_directI8 (BQNV a) { return i8any_ptr (getB(a)); }
|
||||
const i16* bqn_directI16(BQNV a) { return i16any_ptr(getB(a)); }
|
||||
const i32* bqn_directI32(BQNV a) { return i32any_ptr(getB(a)); }
|
||||
const f64* bqn_directF64(BQNV a) { return f64any_ptr(getB(a)); }
|
||||
const u8* bqn_directC8 (BQNV a) { return c8any_ptr (getB(a)); }
|
||||
const u16* bqn_directC16(BQNV a) { return c16any_ptr(getB(a)); }
|
||||
const u32* bqn_directC32(BQNV a) { return c32any_ptr(getB(a)); }
|
||||
|
||||
void ffiFn_visit(Value* v) { mm_visit(((BoundFn*)v)->obj); }
|
||||
DEF_FREE(ffiFn) { dec(((BoundFn*)x)->obj); }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user