autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Selecting a C++ standard


From: Andrew W. Nosenko
Subject: Re: Selecting a C++ standard
Date: Sat, 3 Nov 2012 20:29:27 +0200

On Sat, Nov 3, 2012 at 8:08 PM, Florian Weimer <address@hidden> wrote:
> * Andrew W. Nosenko:
>
>>> I've since checked, and it was was with 4.7.1.
>>>
>>> Linking C++98 and C++11 code together is still officially unsupported,
>>> even if it is supposed to work if you just use libstdc++.  So I think
>>> it's wrong to automatically default to C++11 when available.
>>
>> Why?

First at all, please, don't cut my phrases in the middle, please,
changing the meaning completely by the way.

>
> Because it's not known to work for all C++ libraries out there.

???  And what?  There are many things that don't work at any and every
version of any and every compiler for any version of standard.

Please, use the health sense!

>
> More practically speaking, there is quite a body of code which is
> valid C++98 or C++03, but fails to compile under C++11.

The same may be said about c99 _Bool.  I saw may code that works as
intended with the real _Bool and may fail if gnulib's replacement
(typedef signed char _Bool) would be used.  And what?  Propose to ban
c99?  Propose to ban Gnulib?  Or just use the health sense?

> GCC's
> implementation of user-defined literals is particularly problematic in
> this regard.

Patches are welcomed.  Please believe me, fix the user-defined
literals case is indeed a very simple thing.

People, who build project from VCS, usually know the programming
language used for that project.  People, who just build from the
source tarball are usually unaffected.  Just because 'configure' is
pregenerated there.  I see only one "gray" case: maintainer _and_ all
project's developers use the bleeding edge autoconf and quite old (not
the current stable) GCC.


PS.  But yes, I'm not exited by existence of user defined literals at
all.  Just because they affect even languages, which has no such
things (I mean C headers), and don't give anything but yet another
obscurity level.

-- 
Andrew W. Nosenko <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]