It may be ok for the library (I did not check yet if ntdef.h or minwindef.h
are not included indirectly somehow) but will pose a possible problem for
the libcxx user:
if he  includes libcxx header followed by <windows.h> without NOMINMAX defined
he would get min and max defined and trouble.

So to be on the safe side, we would like to get NOMINMAX always defined.

What do you think about moving the code to  __config:

#ifdef _WIN32
#ifndef NOMINMAX
#define NOMINMAX
#endif
#endif

It will work if the library user includes libcxx before window.h.

In the reverse case we can't avoid getting min and max defined but
__undef_min_max will warn and undef them.

Yaron





2013/11/16 Marshall Clow <[email protected]>

> On Nov 15, 2013, at 2:54 PM, Yaron Keren <[email protected]> wrote:
>
> > Author: yrnkrn
> > Date: Fri Nov 15 16:54:15 2013
> > New Revision: 194870
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=194870&view=rev
> > Log:
> > Windows.h is not required.
> >
> > Modified:
> >    libcxx/trunk/include/support/win32/support.h
> >
> > Modified: libcxx/trunk/include/support/win32/support.h
> > URL:
> http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/support/win32/support.h?rev=194870&r1=194869&r2=194870&view=diff
> >
> ==============================================================================
> > --- libcxx/trunk/include/support/win32/support.h (original)
> > +++ libcxx/trunk/include/support/win32/support.h Fri Nov 15 16:54:15 2013
> > @@ -23,7 +23,6 @@
> > #ifndef NOMINMAX
> > #define NOMINMAX
> > #endif
> > -#include <Windows.h>
> >
> > extern "C" {
>
> If <windows.h> is not required, is the whole "#ifndef NOMINMAX" stuff not
> required either?
>
>
> -- Marshall
>
> Marshall Clow     Idio Software   <mailto:[email protected]>
>
> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is
> promptly moderated down to (-1, Flamebait).
>         -- Yu Suzuki
>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to