[PATCH. libstdc++] Use the correct C++14 __cplusplus value (201402L). Added C++1z to the preprocessor.

Ed Smith-Rowland 3dw4rd@verizon.net
Mon Sep 15 11:15:00 GMT 2014

On 09/15/2014 05:17 AM, Paolo Carlini wrote:
> Hi again,
> On 08/26/2014 10:54 AM, Paolo Carlini wrote:
>> Hi,
>> On 08/26/2014 10:52 AM, Jonathan Wakely wrote:
>>> That seems like a good idea, but I'm not convinced there's any benefit
>>> in Ed's changes to do:
>>> -#if __cplusplus > 201103L
>>> +#if __cplusplus >= 201402L
>>> It seems like unnecessary churn to me,
>> about this, I had the same thought ;)
> By the way, in case isn't already clear, it occurs to me that the kind 
> of change proposed by Ed, thus standardize on __cplusplus >= "required 
> version", will make more sense when the C++17 Standard will be closer. 
> So far, since we can simply do everything with only 201103L, my idea 
> too of adding _GLIBCXX_CXX11 & co seems quite pointless.
> Paolo.
I understand.  I guess I was looking far ahead through the eyes of some 
new maintainer where we have CXX11, CXX14, CXX17, CXX20, ... and after 
the experimental names Cxx0x, Cxx1y had long lost their meaning and 
thinking that these dates and names would be a jumble. As new library 
components come into std:: proper we should look at straightening that 
out and standardizing on something.  For now, one date works well.

The new libraries are safely tucked away in experimental behind
#if __cplusplus <= 201103L
# include <bits/c++14_warning.h>

*** Jonathan: <filesystem> uses:

#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
and should probably eventually be like the others.


More information about the Gcc-patches mailing list