Re: C++11

Markus Wanner <[email protected]>
Newsgroups gmane.comp.version-control.monotone.devel
Message-ID <[email protected]>
On 05/13/2014 03:51 PM, Stephen Leake wrote:
> I have no problem moving to the current language standard, as long as we
> can actually compile everything we need.

Good to hear, thanks.

> We need to show that all (most?) tests pass on the various supported platforms
> before merging to nvm.

Well, the question is: What's the set of supported platforms. And which
ones are we willing to drop in favor of migrating to C++11.

For somewhat decent C++11 support, I think we need to target gcc-4.6 as
the minimum compiler requirement; release date of 4.6.0: March 2011. (Or
alternatively, clang of around 3.1 or 3.2, but a) clang isn't that wide
spread, and b) we only started to mention clang in INSTALL since release
1.1).

This requirement clearly complicates matters for distributions that ship
anything older than gcc-4.6. These are (according to what I could find
quickly):

  NetBSD 5.1                  shipping gcc 3.3
  OpenBSD 5.5                 shipping gcc 4.2
  Debian squeeze (oldstable): shipping gcc 4.4
  Ubuntu 10.04 LTS (lucid):   shipping gcc 4.4
  RHEL 6:                     shipping gcc 4.4
  CentOS 6.5:                 shipping gcc 4.4
  FreeBSD 9.0                 shipping gcc 4.4
  Fedora 14:                  shipping gcc 4.5
  OpenSuse 11.4               shipping gcc 4.5
  Slackware 13.37             shipping gcc 4.5

These (and newer) should be fine:

  Ubuntu LTS 12.04 (precise): shipping 4.4 - 4.8
  Debian stable (wheezy):     shipping 4.6 and 4.8
  Fedora 15:                  shipping gcc 4.6
  FreeBSD 9.2                 shipping gcc 4.6
  OpenSuse 12.1:              shipping gcc 4.6
  Slackware 14.0              shipping gcc 4.7
  NetBSD 6.1                  shipping gcc 4.8
  RHEL 7                      shipping gcc 4.8 (?)

Out of these, RHEL 6 hurts the most, IMO. However, there's the RedHat
Developer Toolset, shipping gcc 4.7. For other old distributions still
in use, you're likely to find a newer gcc as well, I think.

Mac OS X uses clang. Given my experiments and Thomas' feedback, it seems
we need at least 10.9 (Mavericks) and Xcode 5.0, but I could try again
on my Mountain Lion - its clang version (3.3) should theoretically
suffice. I don't remember what went wrong.

Regards

Markus Wanner

_______________________________________________
Monotone-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/monotone-devel
signature.asc (application/pgp-signature, 242 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEAREDAAYFAlNyVPsACgkQsPwMloDjyo/a4wCfczOgjTfrxMk3JEDjGSIigxKw
OXMAnAijNtb/ADUeFwWKJC4N++OVlRyR
=OAnM
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.