Skip to content

Commit 4235277

Browse files
authored
Oss/next release (#391)
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
1 parent 7cb9920 commit 4235277

File tree

194 files changed

+28453
-2725
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+28453
-2725
lines changed

.travis.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
dist: xenial
12
language: cpp
23

34
cache:
@@ -19,15 +20,17 @@ env:
1920

2021
addons:
2122
apt:
23+
update: true
2224
sources:
23-
- ubuntu-toolchain-r-test
2425
- george-edison55-precise-backports
25-
- llvm-toolchain-trusty-7
26+
- sourceline: 'ppa:ubuntu-toolchain-r/test'
27+
- sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main'
28+
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
2629
packages:
2730
- cmake
2831
- cmake-data
29-
- g++-7
30-
- clang-7
32+
- g++-9
33+
- clang-11
3134

3235
matrix:
3336
include:
@@ -56,10 +59,12 @@ git:
5659

5760
before_install:
5861
- git submodule update --init
59-
- if [[ "$CXX" == "g++" ]]; then export CC="gcc-7" ;fi
60-
- if [[ "$CXX" == "g++" ]]; then export CXX="g++-7" ;fi
61-
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CC="clang-7" ;fi
62-
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CXX="clang++-7" ;fi
62+
- if [[ "$CXX" == "g++" ]]; then export CC="gcc-9" ;fi
63+
- if [[ "$CXX" == "g++" ]]; then export CXX="g++-9" ;fi
64+
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CC="clang-11" ;fi
65+
- if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CXX="clang++-11" ;fi
66+
- if [[ "$CXX" == "g++-9" && "${TRAVIS_OS_NAME}" != "windows" ]]; then g++-9 -v ;fi
67+
- if [[ "$CXX" == "clang++-11" && "${TRAVIS_OS_NAME}" != "windows" ]]; then clang++-11 -v ;fi
6368

6469
install:
6570
# MOJI check; exit 1 if non-ascii characters detected in C++

CONTRIBUTING.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@
33
Before you can contribute, EA must have a Contributor License Agreement (CLA) on file that has been signed by each contributor.
44
You can sign here: [Go to CLA](https://electronicarts.na1.echosign.com/public/esignWidget?wid=CBFCIBAA3AAABLblqZhByHRvZqmltGtliuExmuV-WNzlaJGPhbSRg2ufuPsM3P0QmILZjLpkGslg24-UJtek*)
55

6+
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).
7+
Some examples of what the format and information will look like is as follows.
8+
* John Smith - jsmith@domain.com
9+
* John Smith
10+
* Frostbite - Electronic Arts
11+
* My Project - [link to said project]
12+
613
### Pull Request Policy
714

815
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.

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,12 @@ Please see [EASTL Introduction](doc/Introduction.md).
4040

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

43-
## Credits
43+
## Credits And Maintainers
4444

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

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

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

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

62+
## Contributors
63+
64+
## Projects And Products Using EASTL
65+
66+
* Frostbite - Electronic Arts - [https://www.ea.com/frostbite]
6167

6268
## License
6369

include/EASTL/algorithm.h

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -243,17 +243,16 @@
243243
#include <EASTL/internal/generic_iterator.h>
244244
#include <EASTL/random.h>
245245

246-
#ifdef _MSC_VER
247-
#pragma warning(push, 0)
248-
#if defined(EA_COMPILER_MICROSOFT) && (defined(EA_PROCESSOR_X86) || defined(EA_PROCESSOR_X86_64))
246+
EA_DISABLE_ALL_VC_WARNINGS();
247+
248+
#if defined(EA_COMPILER_MSVC) && (defined(EA_PROCESSOR_X86) || defined(EA_PROCESSOR_X86_64))
249249
#include <intrin.h>
250250
#endif
251-
#endif
251+
252252
#include <stddef.h>
253253
#include <string.h> // memcpy, memcmp, memmove
254-
#ifdef _MSC_VER
255-
#pragma warning(pop)
256-
#endif
254+
255+
EA_RESTORE_ALL_VC_WARNINGS();
257256

258257
#if defined(EA_PRAGMA_ONCE_SUPPORTED)
259258
#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.

0 commit comments

Comments
 (0)