From 5a817fb3591969213d3b0f78c332cff68fcd9157 Mon Sep 17 00:00:00 2001 From: Rainer Schuetze Date: Fri, 9 Jun 2017 19:25:14 +0200 Subject: [PATCH] use __traits(getLinkage) instead of mangleof to determine linkage --- src/core/demangle.d | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/demangle.d b/src/core/demangle.d index 22e7e402ac..1130c7c41e 100644 --- a/src/core/demangle.d +++ b/src/core/demangle.d @@ -1862,19 +1862,19 @@ unittest private template isExternD(FT) if (is(FT == function)) { - enum isExternD = FT.mangleof[0] == 'F'; + enum isExternD = __traits(getLinkage, FT) == "D"; } private template isExternCPP(FT) if (is(FT == function)) { - enum isExternCPP = FT.mangleof[0] == 'R'; + enum isExternCPP = __traits(getLinkage, FT) == "C++"; } private template hasPlainMangling(FT) if (is(FT == function)) { - enum c = FT.mangleof[0]; + enum lnk = __traits(getLinkage, FT); // C || Pascal || Windows - enum hasPlainMangling = c == 'U' || c == 'V' || c == 'W'; + enum hasPlainMangling = lnk == "C" || lnk == "Pascal" || lnk == "Windows"; } unittest