mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-21 12:45:11 +00:00
clang 17 compatibility fixes (#4767)
* Copy clang 17 compatibility fixes from PR #4762 to a separate PR. * Add gcc:13 C++20 * Add silkeh/clang:16-bullseye C++20
This commit is contained in:
parent
f3e0602802
commit
17b614303f
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -302,6 +302,9 @@ jobs:
|
||||
- clang: 15
|
||||
std: 20
|
||||
container_suffix: "-bullseye"
|
||||
- clang: 16
|
||||
std: 20
|
||||
container_suffix: "-bullseye"
|
||||
|
||||
name: "🐍 3 • Clang ${{ matrix.clang }} • C++${{ matrix.std }} • x64"
|
||||
container: "silkeh/clang:${{ matrix.clang }}${{ matrix.container_suffix }}"
|
||||
@ -465,6 +468,7 @@ jobs:
|
||||
- { gcc: 10, std: 17 }
|
||||
- { gcc: 11, std: 20 }
|
||||
- { gcc: 12, std: 20 }
|
||||
- { gcc: 13, std: 20 }
|
||||
|
||||
name: "🐍 3 • GCC ${{ matrix.gcc }} • C++${{ matrix.std }}• x64"
|
||||
container: "gcc:${{ matrix.gcc }}"
|
||||
|
@ -1377,7 +1377,15 @@ inline namespace literals {
|
||||
/** \rst
|
||||
String literal version of `arg`
|
||||
\endrst */
|
||||
constexpr arg operator"" _a(const char *name, size_t) { return arg(name); }
|
||||
constexpr arg
|
||||
#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 5
|
||||
operator"" _a // gcc 4.8.5 insists on having a space (hard error).
|
||||
#else
|
||||
operator""_a // clang 17 generates a deprecation warning if there is a space.
|
||||
#endif
|
||||
(const char *name, size_t) {
|
||||
return arg(name);
|
||||
}
|
||||
} // namespace literals
|
||||
|
||||
PYBIND11_NAMESPACE_BEGIN(detail)
|
||||
|
@ -1612,7 +1612,15 @@ inline namespace literals {
|
||||
/** \rst
|
||||
String literal version of `str`
|
||||
\endrst */
|
||||
inline str operator"" _s(const char *s, size_t size) { return {s, size}; }
|
||||
inline str
|
||||
#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 5
|
||||
operator"" _s // gcc 4.8.5 insists on having a space (hard error).
|
||||
#else
|
||||
operator""_s // clang 17 generates a deprecation warning if there is a space.
|
||||
#endif
|
||||
(const char *s, size_t size) {
|
||||
return {s, size};
|
||||
}
|
||||
} // namespace literals
|
||||
|
||||
/// \addtogroup pytypes
|
||||
|
Loading…
Reference in New Issue
Block a user