<sys/cdefs.h>: Define __LONG_LONG_SUPPORTED for C++11.
authorSascha Wildner <saw@online.de>
Fri, 19 Jun 2015 16:17:51 +0000 (18:17 +0200)
committerSascha Wildner <saw@online.de>
Fri, 19 Jun 2015 16:17:51 +0000 (18:17 +0200)
commit7f455ce26b6edbe06e7571bafa45625822f92404
treeebc2fd556fcaf549524e178f9fb95dc6395655f8
parent90a26aa28852442e80b8b7de2b66b33af2fad186
<sys/cdefs.h>: Define __LONG_LONG_SUPPORTED for C++11.

The recent typo fix had more implications than I initially thought of.
In particular, since C++11, __LONG_LONG_SUPPORTED is needed for C++,
but e.g. c++ -std=c++11 also defines __STRICT_ANSI__. It worked before
only because of not catching that __STRICT_ANSI__ with the typo in place.

So define __LONG_LONG_SUPPORTED for C++11 (or later) too, and also expose
the {U}INT{8,16,32,64,MAX}_C macros and the standard limits from
<cpu/int_limits.h> for C++11. FreeBSD has it like that and it is correct
from what I gather from the C++11 standard.

On the 4.2 and 4.0 release branches, just to be conservative, I
reverted the typo fix instead.

Reported-by: Rimvydas Jasinskas <rimvydas.jasinskas@gmail.com>
Taken-from:  FreeBSD
sys/sys/cdefs.h