<div dir="ltr">You can use this:<div><br></div><div>  #define WIDEN(x) L##x</div><div>  const wchar_t *f() { return WIDEN(__FUNCTION__); }</div><div><br></div><div>or more simply</div><div><br></div><div>  const wchar_t *f() { return L__FUNCTION__; }</div><div><br></div><div>In addition to supporting __FUNCTION__, Clang also provides L__FUNCTION__ as a built-in wide string. You'll need to either build for Windows or enable -fms-extensions for this to be available.</div><div><br></div><div>I'm not sure what the history is here -- I can't find a version of MSVC that allows L__FUNCTION__, so I'm not sure why this feature is under -fms-extensions rather than simply being available by default as a Clang extension. MSVC instead expects L"" __FUNCTION__ to be used to get a wide version.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 15 Sept 2021 at 13:39, David Blaikie via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">this'd be more suitable on cfe-dev (moving to cfe-dev, llvm-dev to bcc) - though might present some challenges in compatibility with GCC if GCC's doing it differently. I guess in ms-mode (clang-cl) it should/could be done in the MS-way.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 15, 2021 at 2:59 AM chiasa.men via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div><p style="margin:0px"><span style="font-size:0.75em">Is there a way to tell clang to adapt to the microsoft way of defining __FUNCTION__ as string literal and not as string?</span></p>
<br><p style="margin:0px">I stumbled upon this problem and am obviously not alone:</p>
<p style="margin:0px"><a href="https://stackoverflow.com/questions/4773941/wide-version-of-function-on-linux/51381572#51381572" target="_blank">https://stackoverflow.com/questions/4773941/wide-version-of-function-on-linux/51381572#51381572</a></p>
<br><br></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>