David Maas

Results 121 issues of David Maas

Right now there isn't an easy way to figure out what platform the translated library is targeting. Generator authors can manually keep track of this, but ideally we'd just expose...

Area-Translation
Concept-ApiClarity
Platform-Linux
Platform-Windows

Right now constant arrays of `void*` tries to emit an array helper with the following enumerator: ```csharp public ConstantArrayOfPointersEnumerator GetEnumerator() => new ConstantArrayOfPointersEnumerator(Element0Pointer, 2000); ``` This isn't valid since `void`...

Bug
Language-C#
Concept-OutputUsability
EdgeCase

See `AnonymousRecordNamer` in (currently private) MuJoCo bindings.

Area-Transformation

Biohazrd requires building a small native component to access inline functions which aren't exported. There's not really any way around this because during typical C++ library consumption these inline functions...

Area-OutputGeneration
Concept-CrossPlatform
Concept-InlineExpectation
Blocks-PhysX

Originally I was on the fence about this, but using the API is quite annoying and unnatural without this. For instance, my PhysX demo has a ton of `whatever.Base.Base.Base.thingIWanted` all...

Area-OutputGeneration
Language-C#
Concept-OutputFriendliness
Blocks-PhysX

This was found in various places around PhysX. [`PxSetJointGlobalFrame`](https://github.com/InfectedLibraries/PhysX/blob/infected-main/physx/include/extensions/PxJoint.h#L416) is one such example. MoveLooseDeclarationsIntoTypesTransformation considers namespaces moving loose declarations. This means a function `::PxSetJointGlobalFrame` will not be moved into `physx::PxJoint`,...

Area-Transformation
Area-OutputGeneration
Concept-OutputUsability
Concept-OutputFriendliness
Blocks-PhysX

Splitting this issue out from https://github.com/InfectedLibraries/Biohazrd/issues/16 as supporting `va_list` is much simpler than supporting `...` variable arguments. `va_list` is already somewhat usable. For example (on Windows), the following C++ function:...

Concept-CppFeatures
Area-Transformation
Area-OutputGeneration
Language-C#
Concept-OutputFriendliness

Forgot to do this as part of https://github.com/InfectedLibraries/Biohazrd/issues/214. We should add tags to our NuGet packages to help with discoverability.

Area-Packages

`InlineExportHelper` is currently very Windows-centric. The strategy for forcing exports with GCC/Clang targeting Linux is actually quite a bit simpler from some preliminary tests. Our function pointer export already works...

Concept-InlineExpectation
Platform-Linux

Itanium has [multiple types of constructors/destructors](https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-special-ctor-dtor) (Microsoft indirectly has them too but there aren't multiple entry points.) You can also see them mentioned [here in Clang](https://github.com/llvm/llvm-project/blob/d32170dbd5b0d54436537b6b75beaf44324e0c28/clang/lib/AST/Mangle.cpp#L391-L408). ---------- Related: * https://github.com/InfectedLibraries/Biohazrd/issues/159...

Concept-OutputUsability
Platform-Linux