Skip to content

extern(D) should follow the extern(C) ABI on x86_64 #290

Open
@dnadlinger

Description

@dnadlinger

From http://dlang.org/abi.html: »The extern (C) and extern (D) calling convention matches the C calling convention used by the supported C compiler on the host system.« The argument order DMD uses seems to be still reversed compared to C, though.

Currently, a custom ABI modelled after the x86 D one is used on x86_64. This dates back to the days where no other D compiler really had x86_64 support.

Fixing this should mostly involve deleting code, but some issues might pop up here and there.

Oh, and keepUnchanged in gen/abi-x86-64.cpp should go, arrays and delegates are to be treated exactly like two element structs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions