Skip to content

J9 doesn't convert arguments before cd call #183

@jip

Description

@jip

https://code.jsoftware.com/wiki/Guides/DLLs/Calling_DLLs says: "Arguments are converted as required to conform with their declaration type.". It was definitely true for j807/j64/linux, but not for j9.6.0-beta1/j64/linux.

Details are in jsoftware/math_lapack2@6ab70f0 which fixes a bug just catched. In short, if external DLL procedure expects an argument as array of datatype integer (e.g. (,2)), but an array of type float (e.g. (,2.0)) was sent, then J807 converts argument and cd calls procedure successively, but J9.6 throws "domain error in cd, executing dyad 15!:0". (cder '') returns error 6 x ("parameter x type doesn't match declaration").

Metadata

Metadata

Assignees

No one assigned

    Labels

    investigatesee if the idea is feasible

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions