diff --git a/.github/workflows/clang.yml b/.github/workflows/clang.yml index 237ac4b6..3b0b5ae8 100644 --- a/.github/workflows/clang.yml +++ b/.github/workflows/clang.yml @@ -1,87 +1,11 @@ name: clang on: push: - branches: [ master ] + branches: [ development ] pull_request: branches: [ master ] jobs: - build-clang-9-linux-stl: - name: Clang-9 Linux - STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-20.04] - - steps: - - uses: actions/checkout@v2 - - - name: Build - run: | - sudo apt-get update - sudo apt-get install -y "clang-9" "lldb-9" "lld-9" "clang-format-9" - export CC=clang-9 - export CXX=clang++-9 - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - git fetch --tags - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-9-linux-no-stl: - name: Clang-9 Linux - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-20.04] - - steps: - - uses: actions/checkout@v2 - - - name: Build - run: | - sudo apt-get update - sudo apt-get install -y "clang-9" "lldb-9" "lld-9" "clang-format-9" - export CC=clang-9 - export CXX=clang++-9 - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - git fetch --tags - cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF ./ - gcc --version - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-9-linux-stl-force-cpp03: - name: Clang-9 Linux - STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-20.04] - - steps: - - uses: actions/checkout@v2 - - - name: Build - run: | - sudo apt-get update - sudo apt-get install -y "clang-9" "lldb-9" "lld-9" "clang-format-9" - export CC=clang-9 - export CXX=clang++-9 - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - git fetch --tags - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests build-clang-10-osx-stl: name: Clang-10 OSX - STL @@ -106,49 +30,3 @@ jobs: - name: Run tests run: ./test/etl_tests - build-clang-10-osx-no-stl: - name: Clang-10 OSX - No STL - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-10.15] - - steps: - - uses: actions/checkout@v2 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - git fetch --tags - cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=OFF ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - - build-clang-10-osx-stl-force-cpp03: - name: Clang-10 OSX - STL - Force C++03 - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-10.15] - - steps: - - uses: actions/checkout@v2 - - - name: Build - run: | - export CC=clang - export CXX=clang++ - export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0 - git fetch --tags - cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03=ON ./ - clang --version - make - - - name: Run tests - run: ./test/etl_tests - diff --git a/include/etl/unordered_map.h b/include/etl/unordered_map.h index bc0ff25a..5cb372de 100644 --- a/include/etl/unordered_map.h +++ b/include/etl/unordered_map.h @@ -158,16 +158,16 @@ namespace etl value_type key_value_pair; }; - friend bool operator ==(const node_t& lhs, const node_t& rhs) - { - return (lhs.key_value_pair.first == rhs.key_value_pair.first) && - (lhs.key_value_pair.second == rhs.key_value_pair.second); - } + //friend bool operator ==(const node_t& lhs, const node_t& rhs) + //{ + // return (lhs.key_value_pair.first == rhs.key_value_pair.first) && + // (lhs.key_value_pair.second == rhs.key_value_pair.second); + //} - friend bool operator !=(const node_t& lhs, const node_t& rhs) - { - return !(lhs == rhs); - } + //friend bool operator !=(const node_t& lhs, const node_t& rhs) + //{ + // return !(lhs == rhs); + //} protected: @@ -1512,21 +1512,23 @@ namespace etl template bool operator ==(const etl::iunordered_map& lhs, const etl::iunordered_map& rhs) { - const bool sizes_match = (lhs.size() == rhs.size()); - bool elements_match = true; + return (lhs.size() == rhs.size()) && etl::equal(lhs.begin(), lhs.end(), rhs.begin()); - if (sizes_match) - { - for (size_t i = 0; (i < lhs.bucket_count()) && elements_match; ++i) - { - if (!etl::is_permutation(lhs.begin(i), lhs.end(i), rhs.begin(i))) - { - elements_match = false; - } - } - } + //const bool sizes_match = (lhs.size() == rhs.size()); + //bool elements_match = true; - return (sizes_match && elements_match); + //if (sizes_match) + //{ + // for (size_t i = 0; (i < lhs.bucket_count()) && elements_match; ++i) + // { + // if (!etl::is_permutation(lhs.begin(i), lhs.end(i), rhs.begin(i))) + // { + // elements_match = false; + // } + // } + //} + + //return (sizes_match && elements_match); } //***************************************************************************