From 9fc8c219a426166cfe2f6e9bbb85a0c2ef96b6a1 Mon Sep 17 00:00:00 2001 From: Rainer Schuetze Date: Sat, 15 Apr 2017 09:22:22 +0200 Subject: [PATCH] support new pascal mangling "Np", keep old mangling "V" temporarily --- std/traits.d | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/std/traits.d b/std/traits.d index ec9a9c356e7..8e50c705265 100644 --- a/std/traits.d +++ b/std/traits.d @@ -1860,14 +1860,20 @@ template functionLinkage(func...) { alias Func = Unqual!(FunctionTypeOf!func); - enum string functionLinkage = - [ - 'F': "D", - 'U': "C", - 'W': "Windows", - 'V': "Pascal", - 'R': "C++" - ][ mangledName!Func[0] ]; + static if (mangledName!Func[0] == 'N') + enum string functionLinkage = + [ + 'p': "Pascal", + ][ mangledName!Func[1] ]; + else + enum string functionLinkage = + [ + 'F': "D", + 'U': "C", + 'W': "Windows", + 'V': "Pascal", + 'R': "C++" + ][ mangledName!Func[0] ]; } ///