[libcxx-commits] [PATCH] D91379: [libc++] Factor out common logic for calling aligned allocation

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Dec 3 23:47:43 PST 2020


mstorsjo added a comment.

In D91379#2429302 <https://reviews.llvm.org/D91379#2429302>, @mstorsjo wrote:

> In D91379#2428659 <https://reviews.llvm.org/D91379#2428659>, @dmajor wrote:
>
>> In D91379#2427960 <https://reviews.llvm.org/D91379#2427960>, @mstorsjo wrote:
>>
>>> I haven't run into this issue - how do you end up getting intrin.h included before the other includes here?
>>
>> Any case with intrin.h coming first should do it:
>>
>>   $ cat test.cpp
>>   #include <intrin.h>
>>   #include <new>
>>   
>>   $ ./clang/bin/x86_64-w64-mingw32-clang++ -c test.cpp 
>>   In file included from test.cpp:2:
>>   /home/vm/Desktop/mingwtest/clang/bin/../x86_64-w64-mingw32/include/c++/v1/new:314:12: error: no member named '_aligned_malloc' in the global namespace
>>     return ::_aligned_malloc(__size, __alignment);
>>            ~~^
>>   /home/vm/Desktop/mingwtest/clang/bin/../x86_64-w64-mingw32/include/c++/v1/new:326:5: error: no type named '_aligned_free' in the global namespace
>>     ::_aligned_free(__ptr);
>>     ~~^
>>   2 errors generated.
>
> Ah, doh. Indeed, I can reproduce that. Apparently the code I build regularly doesn't happen to use that setup.
>
> I'll look into fixing the mingw-w64 header bug.

See https://sourceforge.net/p/mingw-w64/mailman/message/37168701/ and https://sourceforge.net/p/mingw-w64/mailman/message/37168702/ for patches that should fix this. It turned out to be less obvious and a bit more convolved than it first seemed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91379/new/

https://reviews.llvm.org/D91379



More information about the libcxx-commits mailing list