Wireshark-dev: Re: [Wireshark-dev] Switch to C++11 or C++14
From: Michał Łabędzki <michal.tomasz.labedzki@xxxxxxxxx>
Date: Sat, 2 Jun 2018 11:26:55 +0200
C++11 seems to be possible. Some infos: 1. Wireshark requires at least Qt 5.2. 2. To build Qt5, from 5.7 C++11 is required: http://code.qt.io/cgit/qt/qt5.git/tree/README?h=5.7 I assume that building application for Qt 5.7 does not require C++11. 3. Ubuntu 14.04 LTS supports GCC 4.8.4, Qt 5.2.1 - but LTS End of Life is: April 2019 <-- C++11 is here 4. Ubuntu 16.04 LTS: GCC 5.3.1 , Qt 5.5.1, EOL: April 2021 5. Debian Jessie 8 supports GCC 4.9.2 and Qt 5.3.2, EOL: June 30, 2020 6. RHEL is safe? Qt 5.6 - 5.11, GCC 4.9.1? http://doc.qt.io/qt-5.6/supported-platforms.html 7. Window, macOS: supports everything :) 8. Fedora 26 (still supported?) has gcc 7.1: https://fedoraproject.org/wiki/Changes/GCC7 9. openSUSE:13.1 gcc 4.9 http://download.opensuse.org/distribution/13.2/repo/oss/ 10. SLES 12 is also not a problem (C++17?): https://www.suse.com/c/sles-12-toolchain-update-brings-new-developer-tools/ The question is: can we require C++11 right now? By the way: what is the minimum GCC version for Wireshark. I do not see any check for this in CMakeLists.txt. I assume we check a lot of compilers features instead. pt., 1 cze 2018 o 23:38 Guy Harris <guy@xxxxxxxxxxxx> napisał(a): > > On Jun 1, 2018, at 2:21 PM, Michał Łabędzki <michal.tomasz.labedzki@xxxxxxxxx> wrote: > > > Is there (still) a problem to switch to C++11 or C++14? Petri-Dish seems to support it for Windows, but there is old standard used for Ubuntu. > > GCC C++ standard support: > > https://gcc.gnu.org/projects/cxx-status.html#cxx11: > > "GCC 4.8.1 was the first feature-complete implementation of the 2011 C++ standard, previously known as C++0x." > > https://gcc.gnu.org/projects/cxx-status.html#cxx14: > > "GCC has full support for the previous revision of the C++ standard, which was published in 2014. > > This mode is the default in GCC 6.1 and above; it can be explicitly selected with the -std=c++14 command-line flag, or -std=gnu++14 to enable GNU extensions as well." > > The table of C++14 features they have shows GCC 5 as the first version to support all the features in the table. > > > Clang C++ standard support: > > https://clang.llvm.org/cxx_status.html > > "Clang 3.3 and later implement all of the ISO C++ 2011 standard." > > "Clang 3.4 and later implement all of the ISO C++ 2014 standard." > > I don't have a list of what versions of various Linux distributions, what versions of various *BSDs, and what versions of Xcode supporting what versions of macOS have which versions of GCC and/or Clang, but that would help here in determining what OS versions are required for C++11 or C++14 support. > > This should perhaps go on the "support library version tracking" page, which *already* tracks things other than support libraries, such as CMake: > > https://wiki.wireshark.org/Development/Support_library_version_tracking > > However, the problem with Ubuntu may be that the compiler in the version of Ubuntu running on the buildbot may be old enough that it doesn't *default* to C++11, so we may have to explicitly *ask* for C++11 in the CMake files. > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx> > Archives: https://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev > mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe -- Michał Łabędzki
- References:
- [Wireshark-dev] Switch to C++11 or C++14
- From: Michał Łabędzki
- Re: [Wireshark-dev] Switch to C++11 or C++14
- From: Guy Harris
- [Wireshark-dev] Switch to C++11 or C++14
- Prev by Date: Re: [Wireshark-dev] Switch to C++11 or C++14
- Next by Date: Re: [Wireshark-dev] Switch to C++11 or C++14
- Previous by thread: Re: [Wireshark-dev] Switch to C++11 or C++14
- Next by thread: Re: [Wireshark-dev] Switch to C++11 or C++14
- Index(es):