From 2be27279c7abc0074b6d9e13e6e4931c1747e084 Mon Sep 17 00:00:00 2001 From: David Nadlinger Date: Sun, 3 Feb 2013 17:12:32 +0100 Subject: [PATCH] Added x86_64 System V ABI extern(D) TODO note. --- gen/abi-x86-64.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gen/abi-x86-64.cpp b/gen/abi-x86-64.cpp index 0cca16d4..29158674 100644 --- a/gen/abi-x86-64.cpp +++ b/gen/abi-x86-64.cpp @@ -7,6 +7,16 @@ // //===----------------------------------------------------------------------===// // +// BIG RED TODO NOTE: On x86_64, the C ABI should also be used for extern(D) +// functions, as mandated by the language standard and required for DMD +// compatibility. The below description and implementation dates back to the +// time where x86_64 was still an exotic target for D. Also, the frontend +// toArgTypes() machinery should be used for doing the type classification to +// reduce code duplication and make sure the va_arg implementation is always +// up to date with the code we emit. +// +//===----------------------------------------------------------------------===// +// // extern(C) implements the C calling convention for x86-64, as found in // http://www.x86-64.org/documentation/abi-0.99.pdf //