From 7e3b8c374d2c49b95035dc35e6e43ef99697d52f Mon Sep 17 00:00:00 2001 From: Luis Date: Mon, 16 Aug 2021 09:45:08 +0200 Subject: [PATCH 1/2] gcc 5 support of std c++17 --- conan/tools/_compilers.py | 2 +- conans/client/build/cppstd_flags.py | 2 +- conans/test/unittests/client/build/cpp_std_flags_test.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/conan/tools/_compilers.py b/conan/tools/_compilers.py index 2eaa2718ca2..696dfc71b7a 100644 --- a/conan/tools/_compilers.py +++ b/conan/tools/_compilers.py @@ -302,7 +302,7 @@ def _cppstd_gcc(gcc_version, cppstd): v14 = "c++1y" vgnu14 = "gnu++1y" - if Version(gcc_version) >= "5.1": + if Version(gcc_version) == "5" or Version(gcc_version) >= "5.1": v17 = "c++1z" vgnu17 = "gnu++1z" diff --git a/conans/client/build/cppstd_flags.py b/conans/client/build/cppstd_flags.py index 4a323580fa4..9789e7afac7 100644 --- a/conans/client/build/cppstd_flags.py +++ b/conans/client/build/cppstd_flags.py @@ -253,7 +253,7 @@ def _cppstd_gcc(gcc_version, cppstd): v14 = "c++1y" vgnu14 = "gnu++1y" - if Version(gcc_version) >= "5.1": + if Version(gcc_version) == "5" or Version(gcc_version) >= "5.1": v17 = "c++1z" vgnu17 = "gnu++1z" diff --git a/conans/test/unittests/client/build/cpp_std_flags_test.py b/conans/test/unittests/client/build/cpp_std_flags_test.py index a87e638619b..868bef5d7e8 100644 --- a/conans/test/unittests/client/build/cpp_std_flags_test.py +++ b/conans/test/unittests/client/build/cpp_std_flags_test.py @@ -52,7 +52,8 @@ def test_gcc_cppstd_flags(self): self.assertEqual(_make_cppstd_flag("gcc", "5", "11"), '-std=c++11') self.assertEqual(_make_cppstd_flag("gcc", "5", "14"), '-std=c++14') self.assertEqual(_make_cppstd_flag("gcc", "5", "gnu14"), '-std=gnu++14') - self.assertEqual(_make_cppstd_flag("gcc", "5", "17"), None) + self.assertEqual(_make_cppstd_flag("gcc", "5", "17"), '-std=c++1z') + self.assertEqual(_make_cppstd_flag("gcc", "5", "gnu17"), '-std=gnu++1z') self.assertEqual(_make_cppstd_flag("gcc", "5.1", "11"), '-std=c++11') self.assertEqual(_make_cppstd_flag("gcc", "5.1", "14"), '-std=c++14') From fef11001f41299033f6d2f5e722655ca271d59bb Mon Sep 17 00:00:00 2001 From: Luis Date: Mon, 16 Aug 2021 10:05:43 +0200 Subject: [PATCH 2/2] simplify comparisson --- conan/tools/_compilers.py | 2 +- conans/client/build/cppstd_flags.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conan/tools/_compilers.py b/conan/tools/_compilers.py index 696dfc71b7a..23c952a92ae 100644 --- a/conan/tools/_compilers.py +++ b/conan/tools/_compilers.py @@ -302,7 +302,7 @@ def _cppstd_gcc(gcc_version, cppstd): v14 = "c++1y" vgnu14 = "gnu++1y" - if Version(gcc_version) == "5" or Version(gcc_version) >= "5.1": + if Version(gcc_version) >= "5": v17 = "c++1z" vgnu17 = "gnu++1z" diff --git a/conans/client/build/cppstd_flags.py b/conans/client/build/cppstd_flags.py index 9789e7afac7..3578cbcbacb 100644 --- a/conans/client/build/cppstd_flags.py +++ b/conans/client/build/cppstd_flags.py @@ -253,7 +253,7 @@ def _cppstd_gcc(gcc_version, cppstd): v14 = "c++1y" vgnu14 = "gnu++1y" - if Version(gcc_version) == "5" or Version(gcc_version) >= "5.1": + if Version(gcc_version) >= "5": v17 = "c++1z" vgnu17 = "gnu++1z"