Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
pybind11
Commits
b0a0e4a2
"git@developer.sourcefind.cn:gaoqiong/pybind11.git" did not exist on "0a07805ab663b981d72bbe2663b946f8c18e67cf"
Commit
b0a0e4a2
authored
Sep 04, 2017
by
Dean Moldovan
Browse files
Fix compilation with Clang on host GCC < 5 (old libstdc++)
parent
cdf38dc6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
1 deletion
+6
-1
docs/changelog.rst
docs/changelog.rst
+3
-0
include/pybind11/numpy.h
include/pybind11/numpy.h
+3
-1
No files found.
docs/changelog.rst
View file @
b0a0e4a2
...
@@ -14,6 +14,9 @@ v2.3.0 (Not yet released)
...
@@ -14,6 +14,9 @@ v2.3.0 (Not yet released)
v2.2.1 (Not yet released)
v2.2.1 (Not yet released)
-----------------------------------------------------
-----------------------------------------------------
* Fixed compilation with Clang on host GCC < 5 (old libstdc++ which isn't fully
C++11 compliant). `#1062 <https://github.com/pybind/pybind11/pull/1062>`_.
* Fixed a regression where the ``py::keep_alive`` policy could not be applied
* Fixed a regression where the ``py::keep_alive`` policy could not be applied
to constructors. `#1065 <https://github.com/pybind/pybind11/pull/1065>`_.
to constructors. `#1065 <https://github.com/pybind/pybind11/pull/1065>`_.
...
...
include/pybind11/numpy.h
View file @
b0a0e4a2
...
@@ -288,7 +288,9 @@ template <typename T> using remove_all_extents_t = typename array_info<T>::type;
...
@@ -288,7 +288,9 @@ template <typename T> using remove_all_extents_t = typename array_info<T>::type;
template
<
typename
T
>
using
is_pod_struct
=
all_of
<
template
<
typename
T
>
using
is_pod_struct
=
all_of
<
std
::
is_standard_layout
<
T
>
,
// since we're accessing directly in memory we need a standard layout type
std
::
is_standard_layout
<
T
>
,
// since we're accessing directly in memory we need a standard layout type
#if !defined(__GNUG__) || defined(__clang__) || __GNUC__ >= 5
#if !defined(__GNUG__) || defined(_LIBCPP_VERSION) || defined(_GLIBCXX_USE_CXX11_ABI)
// _GLIBCXX_USE_CXX11_ABI indicates that we're using libstdc++ from GCC 5 or newer, independent
// of the actual compiler (Clang can also use libstdc++, but it always defines __GNUC__ == 4).
std
::
is_trivially_copyable
<
T
>
,
std
::
is_trivially_copyable
<
T
>
,
#else
#else
// GCC 4 doesn't implement is_trivially_copyable, so approximate it
// GCC 4 doesn't implement is_trivially_copyable, so approximate it
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment