From eeb0b8fd21dba8421bd50b475a6442c27b63a1a6 Mon Sep 17 00:00:00 2001 From: Robert Loehning <robert.loehning@qt.io> Date: Thu, 19 Jan 2017 13:07:26 +0100 Subject: [PATCH] Revert "Revert "Utils: Remove old compiler support code"" Thomas provided a smaller fix. This reverts commit 78fb7f44bf393d8b9e3e22fcccc4ae7951d4bb6e. Change-Id: I1edff6477526fe4ce29df38852f47fe49117561e Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> --- src/libs/utils/smallstring.h | 16 -------------- src/libs/utils/smallstringiterator.h | 7 ------- src/libs/utils/smallstringlayout.h | 21 +------------------ src/libs/utils/smallstringliteral.h | 13 ------------ src/libs/utils/smallstringvector.h | 7 ------- src/libs/utils/smallstringview.h | 13 ------------ tests/unit/unittest/smallstring-benchmark.cpp | 4 ---- tests/unit/unittest/smallstring-test.cpp | 4 ---- 8 files changed, 1 insertion(+), 84 deletions(-) diff --git a/src/libs/utils/smallstring.h b/src/libs/utils/smallstring.h index 905520055f6..e172cbaae60 100644 --- a/src/libs/utils/smallstring.h +++ b/src/libs/utils/smallstring.h @@ -45,19 +45,6 @@ #include <utility> #include <vector> -#pragma push_macro("constexpr") -#ifndef __cpp_constexpr -#define constexpr -#endif - -#pragma push_macro("noexcept") -#ifdef __clang__ -#define __cpp_noexcept 201003 -#endif -#ifndef __cpp_noexcept -#define noexcept -#endif - #ifdef UNIT_TESTS #define unitttest_public public #else @@ -864,6 +851,3 @@ using SmallString = BasicSmallString<31>; using PathString = BasicSmallString<191>; } // namespace Utils - -#pragma pop_macro("noexcept") -#pragma pop_macro("constexpr") diff --git a/src/libs/utils/smallstringiterator.h b/src/libs/utils/smallstringiterator.h index 5f4bd69402e..026a8b78b56 100644 --- a/src/libs/utils/smallstringiterator.h +++ b/src/libs/utils/smallstringiterator.h @@ -28,11 +28,6 @@ #include <cstddef> #include <iterator> -#pragma push_macro("noexcept") -#ifndef __cpp_noexcept -#define noexcept -#endif - namespace Utils { namespace Internal { @@ -151,5 +146,3 @@ private: } // namespace Internal } // namespace Utils - -#pragma pop_macro("noexcept") diff --git a/src/libs/utils/smallstringlayout.h b/src/libs/utils/smallstringlayout.h index c03bdc4ad80..7fcaefd0078 100644 --- a/src/libs/utils/smallstringlayout.h +++ b/src/libs/utils/smallstringlayout.h @@ -29,22 +29,6 @@ #include <cstdint> -#pragma push_macro("constexpr") -#ifndef __cpp_constexpr -#define constexpr -#endif - -#pragma push_macro("noexcept") -#ifndef __cpp_noexcept -#define noexcept -#endif - -#ifdef __cpp_alignas -#define ALIGNAS_16 alignas(16) -#else -#define ALIGNAS_16 -#endif - namespace Utils { namespace Internal { @@ -86,7 +70,7 @@ struct ShortStringLayout { }; template <uint MaximumShortStringDataAreaSize> -struct ALIGNAS_16 StringDataLayout { +struct alignas(16) StringDataLayout { static_assert( MaximumShortStringDataAreaSize >= 15, "Size must be greater equal than 15 bytes!"); static_assert(((MaximumShortStringDataAreaSize + 1) % 16) == 0, "Size + 1 must be dividable by 16!"); StringDataLayout() noexcept = default; @@ -136,6 +120,3 @@ struct ALIGNAS_16 StringDataLayout { } // namespace Internal } // namespace Utils - -#pragma pop_macro("noexcept") -#pragma pop_macro("constexpr") diff --git a/src/libs/utils/smallstringliteral.h b/src/libs/utils/smallstringliteral.h index dacba59d60a..4b7a6ba633c 100644 --- a/src/libs/utils/smallstringliteral.h +++ b/src/libs/utils/smallstringliteral.h @@ -29,16 +29,6 @@ #include "smallstringlayout.h" #include "smallstringview.h" -#pragma push_macro("constexpr") -#ifndef __cpp_constexpr -#define constexpr -#endif - -#pragma push_macro("noexcept") -#ifndef __cpp_noexcept -#define noexcept -#endif - namespace Utils { template <int Size> @@ -129,6 +119,3 @@ private: using SmallStringLiteral = BasicSmallStringLiteral<31>; } // namespace Utils - -#pragma pop_macro("noexcept") -#pragma pop_macro("constexpr") diff --git a/src/libs/utils/smallstringvector.h b/src/libs/utils/smallstringvector.h index 1a8406210c7..3e98b36f9fd 100644 --- a/src/libs/utils/smallstringvector.h +++ b/src/libs/utils/smallstringvector.h @@ -33,11 +33,6 @@ #include <QStringList> -#pragma push_macro("noexcept") -#ifndef __cpp_noexcept -#define noexcept -#endif - namespace Utils { template<uint SmallStringSize> @@ -160,5 +155,3 @@ private: using SmallStringVector = BasicSmallStringVector<31>; using PathStringVector = BasicSmallStringVector<191>; } // namespace Utils; - -#pragma pop_macro("noexcept") diff --git a/src/libs/utils/smallstringview.h b/src/libs/utils/smallstringview.h index c0cb4aedbb3..71d04fe20d2 100644 --- a/src/libs/utils/smallstringview.h +++ b/src/libs/utils/smallstringview.h @@ -31,16 +31,6 @@ #include <cstring> -#pragma push_macro("constexpr") -#ifndef __cpp_constexpr -#define constexpr -#endif - -#pragma push_macro("noexcept") -#ifndef __cpp_noexcept -#define noexcept -#endif - namespace Utils { class SmallStringView @@ -135,6 +125,3 @@ bool operator!=(const SmallStringView& first, const SmallStringView& second) noe } } // namespace Utils - -#pragma pop_macro("noexcept") -#pragma pop_macro("constexpr") diff --git a/tests/unit/unittest/smallstring-benchmark.cpp b/tests/unit/unittest/smallstring-benchmark.cpp index 46b32cde0ed..99bc27dded5 100644 --- a/tests/unit/unittest/smallstring-benchmark.cpp +++ b/tests/unit/unittest/smallstring-benchmark.cpp @@ -29,10 +29,6 @@ #include <utils/smallstringvector.h> -#ifndef __cpp_constexpr -#define constexpr -#endif - namespace { Utils::SmallStringView createText(int size) diff --git a/tests/unit/unittest/smallstring-test.cpp b/tests/unit/unittest/smallstring-test.cpp index 3bbb10c6539..863d2ec66e3 100644 --- a/tests/unit/unittest/smallstring-test.cpp +++ b/tests/unit/unittest/smallstring-test.cpp @@ -31,10 +31,6 @@ #include <utils/smallstringio.h> #include <utils/smallstringvector.h> -#ifndef __cpp_constexpr -#define constexpr -#endif - using namespace ::testing; using Utils::SmallString; -- GitLab