From 99d75375060b61aae49bb2fc06349b45cb2c3380 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Sun, 10 Nov 2024 10:07:46 +0000 Subject: [PATCH 1/3] Updated Github Actions to checkout@v4 --- .github/workflows/clang-c++11.yml | 4 +-- .github/workflows/clang-c++14.yml | 4 +-- .github/workflows/clang-c++17.yml | 4 +-- .github/workflows/clang-c++20.yml | 22 +++++++------- .github/workflows/clang-syntax-checks.yml | 36 +++++++++++------------ .github/workflows/gcc-c++11.yml | 4 +-- .github/workflows/gcc-c++14.yml | 4 +-- .github/workflows/gcc-c++17.yml | 4 +-- .github/workflows/gcc-c++20.yml | 8 ++--- .github/workflows/gcc-syntax-checks.yml | 36 +++++++++++------------ .github/workflows/msvc.yml | 8 ++--- 11 files changed, 67 insertions(+), 67 deletions(-) diff --git a/.github/workflows/clang-c++11.yml b/.github/workflows/clang-c++11.yml index 0f1d647ba..3bfb863c2 100644 --- a/.github/workflows/clang-c++11.yml +++ b/.github/workflows/clang-c++11.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -37,7 +37,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/clang-c++14.yml b/.github/workflows/clang-c++14.yml index 816dcc546..6ec45fdb9 100644 --- a/.github/workflows/clang-c++14.yml +++ b/.github/workflows/clang-c++14.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -37,7 +37,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/clang-c++17.yml b/.github/workflows/clang-c++17.yml index 9259f2a63..789ce3be2 100644 --- a/.github/workflows/clang-c++17.yml +++ b/.github/workflows/clang-c++17.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -37,7 +37,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/clang-c++20.yml b/.github/workflows/clang-c++20.yml index 34e85e54a..37d0b75b9 100644 --- a/.github/workflows/clang-c++20.yml +++ b/.github/workflows/clang-c++20.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Temporary fix. See https://github.com/actions/runner-images/issues/8659 - name: Install newer Clang @@ -44,7 +44,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Temporary fix. See https://github.com/actions/runner-images/issues/8659 - name: Install newer Clang @@ -73,7 +73,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Temporary fix. See https://github.com/actions/runner-images/issues/8659 - name: Install newer Clang @@ -99,10 +99,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-12] + os: [macos-13] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -121,10 +121,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-12] + os: [macos-13] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -143,10 +143,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-12] + os: [macos-13] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -165,10 +165,10 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-12] + os: [macos-13] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/clang-syntax-checks.yml b/.github/workflows/clang-syntax-checks.yml index 67b9eafb1..f56eee102 100644 --- a/.github/workflows/clang-syntax-checks.yml +++ b/.github/workflows/clang-syntax-checks.yml @@ -14,7 +14,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -32,7 +32,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -50,7 +50,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -68,7 +68,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -86,7 +86,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -104,7 +104,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -122,7 +122,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -140,7 +140,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -158,7 +158,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -176,7 +176,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -194,7 +194,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -212,7 +212,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -230,7 +230,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -248,7 +248,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -266,7 +266,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -284,7 +284,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -302,7 +302,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -320,7 +320,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/gcc-c++11.yml b/.github/workflows/gcc-c++11.yml index 67010d5ef..030d2482e 100644 --- a/.github/workflows/gcc-c++11.yml +++ b/.github/workflows/gcc-c++11.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -38,7 +38,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/gcc-c++14.yml b/.github/workflows/gcc-c++14.yml index c037f3bbc..9220446fd 100644 --- a/.github/workflows/gcc-c++14.yml +++ b/.github/workflows/gcc-c++14.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -37,7 +37,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/gcc-c++17.yml b/.github/workflows/gcc-c++17.yml index d780311c3..34929496d 100644 --- a/.github/workflows/gcc-c++17.yml +++ b/.github/workflows/gcc-c++17.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -37,7 +37,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/gcc-c++20.yml b/.github/workflows/gcc-c++20.yml index 06b983443..be28e824f 100644 --- a/.github/workflows/gcc-c++20.yml +++ b/.github/workflows/gcc-c++20.yml @@ -15,7 +15,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -37,7 +37,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -59,7 +59,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -81,7 +81,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/gcc-syntax-checks.yml b/.github/workflows/gcc-syntax-checks.yml index 75e17ef8c..30e8c33a7 100644 --- a/.github/workflows/gcc-syntax-checks.yml +++ b/.github/workflows/gcc-syntax-checks.yml @@ -14,7 +14,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -32,7 +32,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -50,7 +50,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -68,7 +68,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -86,7 +86,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -104,7 +104,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -122,7 +122,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -140,7 +140,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -158,7 +158,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -176,7 +176,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -194,7 +194,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -212,7 +212,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -230,7 +230,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -248,7 +248,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -266,7 +266,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -284,7 +284,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -302,7 +302,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | @@ -320,7 +320,7 @@ jobs: os: [ubuntu-22.04] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build run: | diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index c63a35c2e..8324c507a 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive @@ -33,7 +33,7 @@ jobs: runs-on: [windows-2022] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive @@ -55,7 +55,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive @@ -77,7 +77,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive From 0ecab7715110dae432d64e01f03e0858a8096e8a Mon Sep 17 00:00:00 2001 From: rolandreichweinbmw Date: Tue, 10 Dec 2024 17:23:54 +0100 Subject: [PATCH 2/3] Add uncopyable.h, class uncopyable (#985) * Add uncopyable.h, class uncopyable * Added destructor and unit tests for etl::uncopyable --- include/etl/uncopyable.h | 57 ++++++++++++++++++++++++++++++++++ test/CMakeLists.txt | 1 + test/test_uncopyable.cpp | 66 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+) create mode 100644 include/etl/uncopyable.h create mode 100644 test/test_uncopyable.cpp diff --git a/include/etl/uncopyable.h b/include/etl/uncopyable.h new file mode 100644 index 000000000..92ca8392c --- /dev/null +++ b/include/etl/uncopyable.h @@ -0,0 +1,57 @@ +///\file + +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2024 BMW AG + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#ifndef ETL_UNCOPYABLE_INCLUDED +#define ETL_UNCOPYABLE_INCLUDED + +#include "platform.h" + +namespace etl +{ +#if ETL_USING_CPP11 + //*************************************************************************** + /// An uncopyable base class. + /// Can be used to make a class uncopyable by deriving from it. + //*************************************************************************** + class uncopyable + { + public: + uncopyable(uncopyable const&) = delete; + uncopyable& operator=(uncopyable const&) = delete; + + protected: + uncopyable() = default; + ~uncopyable() = default; + }; + +#endif +} + +#endif diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ce9e2a664..7441ae4ce 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -288,6 +288,7 @@ add_executable(etl_tests test_type_traits.cpp test_unaligned_type.cpp test_unaligned_type_constexpr.cpp + test_uncopyable.cpp test_unordered_map.cpp test_unordered_multimap.cpp test_unordered_multiset.cpp diff --git a/test/test_uncopyable.cpp b/test/test_uncopyable.cpp new file mode 100644 index 000000000..f059dfa75 --- /dev/null +++ b/test/test_uncopyable.cpp @@ -0,0 +1,66 @@ +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2024 BMW AG + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#include "unit_test_framework.h" + +#include "etl/uncopyable.h" + +namespace +{ + class UncopyableClass: public etl::uncopyable + { + }; + + SUITE(test_uncopyable) + { + //************************************************************************* + TEST(test_construct) + { + UncopyableClass uc; + + (void) uc; + } + + //************************************************************************* + // This code is intentionally not compilable when activated +#if 0 + TEST(test_copy) + { + UncopyableClass uc1; + + // Can't be copied by construction + UncopyableClass uc2{uc1}; // compile error + (void) uc2; + + // Can't be copied by copy assignment + UncopyableClass uc3; + uc3 = uc1; // compile error + } +#endif + }; +} From 70da0eea06096ff5e5081aa1ca44621ff88abf7f Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Thu, 12 Dec 2024 18:15:31 +0000 Subject: [PATCH 3/3] Added uncopyable to VS2022 project and syntax-check scripts --- include/etl/uncopyable.h | 4 +++- test/syntax_check/c++03/CMakeLists.txt | 1 + test/syntax_check/c++11/CMakeLists.txt | 1 + test/syntax_check/c++14/CMakeLists.txt | 1 + test/syntax_check/c++17/CMakeLists.txt | 1 + test/syntax_check/c++20/CMakeLists.txt | 1 + test/syntax_check/uncopyable.h.t.cpp | 29 ++++++++++++++++++++++++++ test/vs2022/etl.vcxproj | 17 +++++++++++++++ test/vs2022/etl.vcxproj.filters | 9 ++++++++ 9 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 test/syntax_check/uncopyable.h.t.cpp diff --git a/include/etl/uncopyable.h b/include/etl/uncopyable.h index 92ca8392c..324e977d3 100644 --- a/include/etl/uncopyable.h +++ b/include/etl/uncopyable.h @@ -43,11 +43,13 @@ namespace etl class uncopyable { public: + uncopyable(uncopyable const&) = delete; uncopyable& operator=(uncopyable const&) = delete; protected: - uncopyable() = default; + + uncopyable() = default; ~uncopyable() = default; }; diff --git a/test/syntax_check/c++03/CMakeLists.txt b/test/syntax_check/c++03/CMakeLists.txt index fad0c6eb0..d03606bfd 100644 --- a/test/syntax_check/c++03/CMakeLists.txt +++ b/test/syntax_check/c++03/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t98 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++11/CMakeLists.txt b/test/syntax_check/c++11/CMakeLists.txt index f426cecca..28a692620 100644 --- a/test/syntax_check/c++11/CMakeLists.txt +++ b/test/syntax_check/c++11/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t11 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++14/CMakeLists.txt b/test/syntax_check/c++14/CMakeLists.txt index b7bc68b99..131ae2a2f 100644 --- a/test/syntax_check/c++14/CMakeLists.txt +++ b/test/syntax_check/c++14/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t14 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++17/CMakeLists.txt b/test/syntax_check/c++17/CMakeLists.txt index 5d8761ab2..f3fab390e 100644 --- a/test/syntax_check/c++17/CMakeLists.txt +++ b/test/syntax_check/c++17/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t17 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/c++20/CMakeLists.txt b/test/syntax_check/c++20/CMakeLists.txt index f38c48ada..98acefa9a 100644 --- a/test/syntax_check/c++20/CMakeLists.txt +++ b/test/syntax_check/c++20/CMakeLists.txt @@ -296,6 +296,7 @@ target_sources(t20 PRIVATE etl_profile.h ../u8string.h.t.cpp ../u8string_stream.h.t.cpp ../unaligned_type.h.t.cpp + ../uncopyable.h.t.cpp ../unordered_map.h.t.cpp ../unordered_multimap.h.t.cpp ../unordered_multiset.h.t.cpp diff --git a/test/syntax_check/uncopyable.h.t.cpp b/test/syntax_check/uncopyable.h.t.cpp new file mode 100644 index 000000000..90cc67eaf --- /dev/null +++ b/test/syntax_check/uncopyable.h.t.cpp @@ -0,0 +1,29 @@ +/****************************************************************************** +The MIT License(MIT) + +Embedded Template Library. +https://github.com/ETLCPP/etl +https://www.etlcpp.com + +Copyright(c) 2024 John Wellbelove + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files(the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and / or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions : + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +******************************************************************************/ + +#include diff --git a/test/vs2022/etl.vcxproj b/test/vs2022/etl.vcxproj index 7506cfa14..32fa29981 100644 --- a/test/vs2022/etl.vcxproj +++ b/test/vs2022/etl.vcxproj @@ -3257,6 +3257,7 @@ + @@ -7629,6 +7630,21 @@ true true + + true + true + true + true + true + true + true + true + true + true + true + true + true + true true @@ -8966,6 +8982,7 @@ + diff --git a/test/vs2022/etl.vcxproj.filters b/test/vs2022/etl.vcxproj.filters index 2da095b94..c74899f59 100644 --- a/test/vs2022/etl.vcxproj.filters +++ b/test/vs2022/etl.vcxproj.filters @@ -1413,6 +1413,9 @@ ETL\Private + + ETL\Utilities + @@ -3386,6 +3389,12 @@ Tests\Syntax Checks\Source + + Tests\Misc + + + Tests\Syntax Checks\Source +