Tags: HaxeFoundation/hxcpp
Tags
Typed zip (#1277) * Updated zlib implementation * header faff to make gcc pch happy * Support haxe 4 with new implementation * no longer throwing on multiple close calls * Give different file names to avoid cache issues * Fix old string value * Another old string * static cast to int to avoid dynamic conversion of unsupported type * true instead of 1 for asLibrary value * some build xml tweaks * Make sure this_dir is used before Zip.cpp * case sensitive * Fix case sensitivity in include * flip around files order --------- Co-authored-by: Aidan Lee <aidan.lee@evcam.com>
Marshalling Types (#1189) * Add marshal header for value type interop * finalise boxed objects if the type has a destructor * works with static cast * add value type tests * move more conversion functions to reference class * forward declare everything to avoid order issues * ValueType construction from boxed pointer * ValueType no longer inherits from struct * marshal reference interop with existing pointer types * Fix trying to dereference a null pointer when creating a boxed object from a reference * add compare traits specialisation for reference null check * consistent null checking and throwing * raise exceptions when value types are assigned null * reference equality operations * remove no return * remove some un-needed constructors * Make constructors use more templates and use reinterpret cast * use tagged dispatch * support pointer types being held in value type helper * Add new marshal pointer type * rename marshal types in prep for more pointer stuff * support reinterpreting value type references * seemingly working pointer marshalling types * better null checking with pointer references * add marshalling tests * Add pointer collection tests * Move enums into header files * test abstract around pointers * Pointer type changes * add pointer reference to pointer casting * add null test to pointer access * add test for vector of value types * add tests showing weird null behaviour * move marshalling tests to existing native tests * initial managed extern tests * managed extern local tests for two different naming schemes * reduce test duplication * Add tests for classes holding managed externs * change tests so that static functions are tested * un-private point * let enum abstract include meta handle it * remove analyser meta * Fix test related to recent pointer changes * Add pointer ctor overload * view marshalling type * Change to value semantics * Add view tests * Update some tests * String marshalling functions * Marshalling tests * view based string creation and support char16_t in various hxcpp types * Marshalling string tests * const ref a bit * Don't use byte size in copyTo comparison check * view extension tests * Split across multiple headers * typed read and write helper functions * Add compare function * cstring to view conversion function, and allow null pointers * Add view to pointer conversions * View length is now size_t * Add endian specific read and write marshal functions * Add OOB checks * change the public api to use int64_t over size_t * Fix string from view conversions to properly use the view length * Add OOB exception tests * bound check read and write * make sure view write index is int64_t * add tests for exceptions when reading or writing to small views * guard including new marshal headers * fix dodgy conditional --------- Co-authored-by: Aidan Lee <aidan.lee@evcam.com>
[cppia] Fix int overflow in arithmetic assignments (#1258) * [cppia] Fix int overflow in arithmetic assignments Currently, the cppia interp runtime uses float operations for arithmetic assignments such as *=. This results in inconsistent int overflow behaviour. * [tests] Add regression test for int *= overflow
Avoid out of bounds access in String::fromCharCode (#1254) If c is negative (this can happen if char is signed), then accessing sConstStrings[c] is an out of bounds memory access. This results in a string being created from garbage memory, which can lead to seg faults later on. Taking the other branch is safer in this case.
PreviousNext