Skip to content

Commit

Permalink
Oss/next release (#391)
Browse files Browse the repository at this point in the history
Ensure the alignment of a node<value_type> is the alignment of the whole node allocation, not just the user type

Removing old compiler special case code for EA_CPP14_CONSTEXPR

Adding eastl::string hash tests and removing an addition overload in the helper template that contrains usage to enum types.

Fixing user reported regression when attempting to use fancy pointers in a tuple

Resolving uint128_t hashing compiler errors from properly limiting the generic template for enums

eastl::pair adding C++17 structured bindings unpacking support

eastl::atomic<T> implementation - See EASTL/atomic.h for documentation

eastl::function - Optimized function call operator

Consolidate Warnings by using EA_DISABLE_WARNING macros

Reverting the UDL warning suppression because of push/pop mismatch issues with the EABase warning suppression macros

eastl::variant - Fixed variant warnings due to not sfinae overloads that are not the same type but still comparable
               - improved code gen on msvc
               -added tests

Removed unndeded allocator_traits headers

Added comments on reverse_wrapper

Removed sparse_matrix.h as it was removed internally quite a while ago

Updated files that had slight differences to internal eastl

Update travis CI to use g++-9 && clang++-11

Updated README and CONTRIBUTING to allow contributors to submit their info under the contributors section
  • Loading branch information
MaxEWinkler committed Oct 10, 2020
1 parent 7cb9920 commit 4235277
Show file tree
Hide file tree
Showing 194 changed files with 28,453 additions and 2,725 deletions.
21 changes: 13 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
dist: xenial
language: cpp

cache:
Expand All @@ -19,15 +20,17 @@ env:

addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
- george-edison55-precise-backports
- llvm-toolchain-trusty-7
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
packages:
- cmake
- cmake-data
- g++-7
- clang-7
- g++-9
- clang-11

matrix:
include:
Expand Down Expand Up @@ -56,10 +59,12 @@ git:

before_install:
- git submodule update --init
- if [[ "$CXX" == "g++" ]]; then export CC="gcc-7" ;fi
- if [[ "$CXX" == "g++" ]]; then export CXX="g++-7" ;fi
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CC="clang-7" ;fi
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CXX="clang++-7" ;fi
- if [[ "$CXX" == "g++" ]]; then export CC="gcc-9" ;fi
- if [[ "$CXX" == "g++" ]]; then export CXX="g++-9" ;fi
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CC="clang-11" ;fi
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CXX="clang++-11" ;fi
- if [[ "$CXX" == "g++-9" && "${TRAVIS_OS_NAME}" != "windows" ]]; then g++-9 -v ;fi
- if [[ "$CXX" == "clang++-11" && "${TRAVIS_OS_NAME}" != "windows" ]]; then clang++-11 -v ;fi

install:
# MOJI check; exit 1 if non-ascii characters detected in C++
Expand Down
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
Before you can contribute, EA must have a Contributor License Agreement (CLA) on file that has been signed by each contributor.
You can sign here: [Go to CLA](https://electronicarts.na1.echosign.com/public/esignWidget?wid=CBFCIBAA3AAABLblqZhByHRvZqmltGtliuExmuV-WNzlaJGPhbSRg2ufuPsM3P0QmILZjLpkGslg24-UJtek*)

If you want to be recognized for your contributions to EASTL or have a project using EASTL be recognized; you can submit a pull request to the appropriate sections in [README.md](README.md).
Some examples of what the format and information will look like is as follows.
* John Smith - [email protected]
* John Smith
* Frostbite - Electronic Arts
* My Project - [link to said project]

### Pull Request Policy

All code contributions to EASTL are submitted as [Github pull requests](https://help.github.com/articles/using-pull-requests/). All pull requests will be reviewed by an EASTL maintainer according to the guidelines found in the next section.
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,12 @@ Please see [EASTL Introduction](doc/Introduction.md).

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on compiling and testing the source.

## Credits
## Credits And Maintainers

EASTL was created by Paul Pedriana and he maintained the project for roughly 10 years.

Roberto Parolin is the current EASTL owner within EA and is responsible for the open source repository.
Roberto Parolin is the current EASTL owner and primary maintainer within EA and is responsible for the open source repository.
Max Winkler is the secondary maintainer for EASTL within EA and on the open source repository.

Significant EASTL contributions were made by (in alphabetical order):

Expand All @@ -58,6 +59,11 @@ Significant EASTL contributions were made by (in alphabetical order):
* Roberto Parolin
* Simon Everett

## Contributors

## Projects And Products Using EASTL

* Frostbite - Electronic Arts - [https://www.ea.com/frostbite]

## License

Expand Down
13 changes: 6 additions & 7 deletions include/EASTL/algorithm.h
Original file line number Diff line number Diff line change
Expand Up @@ -243,17 +243,16 @@
#include <EASTL/internal/generic_iterator.h>
#include <EASTL/random.h>

#ifdef _MSC_VER
#pragma warning(push, 0)
#if defined(EA_COMPILER_MICROSOFT) && (defined(EA_PROCESSOR_X86) || defined(EA_PROCESSOR_X86_64))
EA_DISABLE_ALL_VC_WARNINGS();

#if defined(EA_COMPILER_MSVC) && (defined(EA_PROCESSOR_X86) || defined(EA_PROCESSOR_X86_64))
#include <intrin.h>
#endif
#endif

#include <stddef.h>
#include <string.h> // memcpy, memcmp, memmove
#ifdef _MSC_VER
#pragma warning(pop)
#endif

EA_RESTORE_ALL_VC_WARNINGS();

#if defined(EA_PRAGMA_ONCE_SUPPORTED)
#pragma once // Some compilers (e.g. VC++) benefit significantly from using this. We've measured 3-4% build speed improvements in apps as a result.
Expand Down
Loading

0 comments on commit 4235277

Please sign in to comment.