compiler/ffi: Collapse void pointer chains in capi wrappers

compiler/ffi: Collapse void pointer chains in capi wrappers

New gcc/clang treat -Wincompatible-pointer-types as an error by default. Since C only allows implicit conversion from void*, not void**, capi wrappers for functions taking e.g. abstract** would fail to compile when the Haskell type Ptr (Ptr Abstract) was naively translated to void**.

Collapse nested void pointers to a single void* when the pointee type has no known C representation.

Fixes #26852 (closed)

Merge request reports

Loading