[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL302727: [libc++] Refactor Windows support headers. (authored by EricWF). Changed prior to commit: https://reviews.llvm.org/D32988?vs=98528&id=98530#toc Repository: rL LLVM https://reviews.llvm.org/D

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. @compnerd I'm going to go ahead and land this and then submit a separate review for the changes you've requested. I hope you don't mind :-) https://reviews.llvm.org/D32988 ___ cfe-commits maili

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-10 Thread Ben Craig via Phabricator via cfe-commits
bcraig added a comment. LGTM https://reviews.llvm.org/D32988 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-10 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 98528. EricWF added a comment. - General cleanup changes. Libc++ trunk currently doesn't build under MinGW, so I'm not concerned about breaking that worse with this patch. I've set up a Appveyor builder to track MinGW so we can get it green later. Also I'm

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-09 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added inline comments. Comment at: include/__config:232-235 +#ifndef NOMINMAX +#define NOMINMAX +#endif + compnerd wrote: > bcraig wrote: > > I can see this helping when we are build libc++, but I don't think it helps > > client apps. They could have inc

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-09 Thread David Majnemer via Phabricator via cfe-commits
majnemer added inline comments. Comment at: include/support/win32/msvc_builtin_support.h:33 + +_LIBCPP_ALWAYS_INLINE int __builtin_popcount(unsigned int x) +{ compnerd wrote: > I think I prefer the following implementation: > > _LIBCPP_ALWAYS_INLINE int __bu

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-09 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd requested changes to this revision. compnerd added inline comments. Comment at: include/__config:232-235 +#ifndef NOMINMAX +#define NOMINMAX +#endif + bcraig wrote: > I can see this helping when we are build libc++, but I don't think it helps > client a

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-09 Thread Ben Craig via Phabricator via cfe-commits
bcraig added inline comments. Comment at: include/__config:232-235 +#ifndef NOMINMAX +#define NOMINMAX +#endif + I can see this helping when we are build libc++, but I don't think it helps client apps. They could have included windows.h before including our hea

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-08 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF planned changes to this revision. EricWF added a comment. This breaks MinGW. I'll update soon. Comment at: include/algorithm:647 #endif -#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__) -#include "support/win32/support.h" +#if defined(_LIBCPP_COMPILER_MSVC) +#include

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-08 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF updated this revision to Diff 98246. EricWF added a comment. - Rename `msvc_support.h` to `msvc_builtin_support.h`. https://reviews.llvm.org/D32988 Files: include/__config include/algorithm include/ctype.h include/limits include/stdio.h include/stdlib.h include/support/win3

[PATCH] D32988: [libc++] Refactor Windows support headers.

2017-05-08 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF created this revision. This patch refactors and tries to remove as much of the Windows support headers as possible. This is needed because they currently introduce super weird include cycles and dependencies between STL and libc headers. The changes in this patch are: - remove `support/