Merge pull request #134 from microsoft/gcc8_warning
Address GCC8 warning
This commit is contained in:
@@ -25,16 +25,16 @@ jobs:
|
|||||||
SelfHost: false
|
SelfHost: false
|
||||||
CMakeArgs: ''
|
CMakeArgs: ''
|
||||||
|
|
||||||
GCC-7 Debug:
|
GCC-8 Debug:
|
||||||
CC: gcc-7
|
CC: gcc-8
|
||||||
CXX: g++-7
|
CXX: g++-8
|
||||||
BuildType: Debug
|
BuildType: Debug
|
||||||
SelfHost: false
|
SelfHost: false
|
||||||
CMakeArgs: ''
|
CMakeArgs: ''
|
||||||
|
|
||||||
GCC-7 Release:
|
GCC-8 Release:
|
||||||
CC: gcc-7
|
CC: gcc-8
|
||||||
CXX: g++-7
|
CXX: g++-8
|
||||||
BuildType: Release
|
BuildType: Release
|
||||||
SelfHost: false
|
SelfHost: false
|
||||||
CMakeArgs: ''
|
CMakeArgs: ''
|
||||||
@@ -57,7 +57,7 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y ninja-build libc++-dev libc++abi-dev libc++abi1 libstdc++-7-dev gcc-7 g++-7
|
sudo apt-get install -y ninja-build libc++-dev libc++abi-dev libc++abi1 libstdc++-7-dev gcc-8 g++-8
|
||||||
# sudo apt-get install clang-6.0 clang++-6.0
|
# sudo apt-get install clang-6.0 clang++-6.0
|
||||||
|
|
||||||
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/$(CC) 100
|
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/$(CC) 100
|
||||||
|
|||||||
@@ -18,6 +18,12 @@
|
|||||||
# define SNMALLOC_PURE __attribute__((const))
|
# define SNMALLOC_PURE __attribute__((const))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(__clang__) && defined(__GNUC__)
|
||||||
|
# if __GNUC__ >= 8
|
||||||
|
# define GCC_VERSION_EIGHT_PLUS
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __has_builtin
|
#ifndef __has_builtin
|
||||||
# define __has_builtin(x) 0
|
# define __has_builtin(x) 0
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -97,9 +97,18 @@ namespace snmalloc
|
|||||||
MemoryProviderStateMixin<PAL>* allocated =
|
MemoryProviderStateMixin<PAL>* allocated =
|
||||||
local.alloc_chunk<MemoryProviderStateMixin<PAL>, 1>();
|
local.alloc_chunk<MemoryProviderStateMixin<PAL>, 1>();
|
||||||
|
|
||||||
|
#ifdef GCC_VERSION_EIGHT_PLUS
|
||||||
|
# pragma GCC diagnostic push
|
||||||
|
# pragma GCC diagnostic ignored "-Wclass-memaccess"
|
||||||
|
#endif
|
||||||
// Put temporary allocator we have used, into the permanent storage.
|
// Put temporary allocator we have used, into the permanent storage.
|
||||||
// memcpy is safe as this is entirely single threaded.
|
// memcpy is safe as this is entirely single threaded: the move
|
||||||
|
// constructors were removed as unsafe to move std::atomic in a
|
||||||
|
// concurrent setting.
|
||||||
memcpy(allocated, &local, sizeof(MemoryProviderStateMixin<PAL>));
|
memcpy(allocated, &local, sizeof(MemoryProviderStateMixin<PAL>));
|
||||||
|
#ifdef GCC_VERSION_EIGHT_PLUS
|
||||||
|
# pragma GCC diagnostic pop
|
||||||
|
#endif
|
||||||
|
|
||||||
// Register this allocator for low-memory call-backs
|
// Register this allocator for low-memory call-backs
|
||||||
if constexpr (pal_supports<LowMemoryNotification, PAL>)
|
if constexpr (pal_supports<LowMemoryNotification, PAL>)
|
||||||
|
|||||||
Reference in New Issue
Block a user