updating standard headers to meet c++11 standard

2014-05-20 Thread Shane Ambler
When including stdint.h in c++ we can #define __STDC_LIMIT_MACROS so
that we get macros like INT32_MAX defined.

Also related is __STDC_CONSTANT_MACROS

I have recently found that the need for these has been removed within
the c++11 standard.

This year old bug report was to update glibc to this end -
https://sourceware.org/bugzilla/show_bug.cgi?id=15366

Also of note is that Apple removed the use of this macro from OSX with
the release of 10.9 over a year ago
http://www.opensource.apple.com/source/xnu/xnu-2422.1.72/EXTERNAL_HEADERS/stdint.h

I believe as we push to use llvm's libc++ and support for c++11 we
should also make sure the rest of our sources are kept up to date as
well.

Are there any other changes within c++11 or c++14 that we should be
looking to update?

Shane
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: updating standard headers to meet c++11 standard

2014-05-20 Thread David Chisnall
Hi,

I thought I'd already fixed this a year or so ago.  Looking at my system, I see 
this in cdefs.h:

/* C++11 exposes a load of C99 stuff */
#if defined(__cplusplus)  __cplusplus = 201103L
#define __LONG_LONG_SUPPORTED
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS
#endif
#ifndef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#endif
#endif

So, if you're compiling C++ and the C++ standard is C++11 or later, we define 
the __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS macros.  If it's C++98, you 
can define them yourself.

Do you have a test case where this doesn't work?

David

On 20 May 2014, at 11:11, Shane Ambler free...@shaneware.biz wrote:

 When including stdint.h in c++ we can #define __STDC_LIMIT_MACROS so
 that we get macros like INT32_MAX defined.
 
 Also related is __STDC_CONSTANT_MACROS
 
 I have recently found that the need for these has been removed within
 the c++11 standard.
 
 This year old bug report was to update glibc to this end -
 https://sourceware.org/bugzilla/show_bug.cgi?id=15366
 
 Also of note is that Apple removed the use of this macro from OSX with
 the release of 10.9 over a year ago
 http://www.opensource.apple.com/source/xnu/xnu-2422.1.72/EXTERNAL_HEADERS/stdint.h
 
 I believe as we push to use llvm's libc++ and support for c++11 we
 should also make sure the rest of our sources are kept up to date as
 well.
 
 Are there any other changes within c++11 or c++14 that we should be
 looking to update?
 
 Shane
 ___
 freebsd-current@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-current
 To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org