[libcxx-commits] [libcxx] r355760 - Work around dllimport bug with exclude_from_explicit_instantiation.
Eric Fiselier via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Mar 8 17:05:27 PST 2019
llvm.org/PR41018
On Fri, Mar 8, 2019 at 7:00 PM Shoaib Meenai <smeenai at fb.com> wrote:
> Have you filed a clang bug?
>
> On 3/8/19, 3:58 PM, "libcxx-commits on behalf of Eric Fiselier via
> libcxx-commits" <libcxx-commits-bounces at lists.llvm.org on behalf of
> libcxx-commits at lists.llvm.org> wrote:
>
> Author: ericwf
> Date: Fri Mar 8 15:59:29 2019
> New Revision: 355760
>
> URL:
> https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D355760-26view-3Drev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=2Na5lcbfttUEFT5yqeby2oe7VkGdaqttbhZ2DH88d6U&s=YbkTkZgDgW9u3gaZMtaLTrlKrtkxvQhiwJG6USGff9E&e=
> Log:
> Work around dllimport bug with exclude_from_explicit_instantiation.
>
> When dllimport is specified on a class, and
> exclude_from_explicit_instatiation is specified on a member, clang-cl
> will still expect a definition to be available externally. But this is
> not correct.
>
> Surprisingly one one symbol seems to be consistently affected by this
> bug. So this patch simply works around it there.
>
> Modified:
> libcxx/trunk/include/__locale
>
> Modified: libcxx/trunk/include/__locale
> URL:
> https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_libcxx_trunk_include_-5F-5Flocale-3Frev-3D355760-26r1-3D355759-26r2-3D355760-26view-3Ddiff&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=2Na5lcbfttUEFT5yqeby2oe7VkGdaqttbhZ2DH88d6U&s=AxBEZsvbDRj4wFiydEiujJlo1Iboo0ka31eLYrAVDVI&e=
>
> ==============================================================================
> --- libcxx/trunk/include/__locale (original)
> +++ libcxx/trunk/include/__locale Fri Mar 8 15:59:29 2019
> @@ -254,7 +254,10 @@ public:
> return do_compare(__lo1, __hi1, __lo2, __hi2);
> }
>
> + // FIXME(EricWF): The _LIBCPP_ALWAYS_INLINE is needed on Windows
> to work
> + // around a dllimport bug that expects an external instantiation.
> _LIBCPP_INLINE_VISIBILITY
> + _LIBCPP_ALWAYS_INLINE
> string_type transform(const char_type* __lo, const char_type*
> __hi) const
> {
> return do_transform(__lo, __hi);
>
>
> _______________________________________________
> libcxx-commits mailing list
> libcxx-commits at lists.llvm.org
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_libcxx-2Dcommits&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=2Na5lcbfttUEFT5yqeby2oe7VkGdaqttbhZ2DH88d6U&s=-Rpq6jhVffz2Oy22CwLlLwDTFHxDO_jpmK9UIlSeFFs&e=
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190308/33b0c2ac/attachment-0001.html>
More information about the libcxx-commits
mailing list