meson.build: require GCC 12 or clang 14
GCC 10 doesn't have std::make_unique_for_overwrite(), so let's drop it.
This commit is contained in:
8
.github/workflows/build.yml
vendored
8
.github/workflows/build.yml
vendored
@ -41,11 +41,11 @@ jobs:
|
|||||||
cxx: g++-14
|
cxx: g++-14
|
||||||
packages: g++-14
|
packages: g++-14
|
||||||
meson_options:
|
meson_options:
|
||||||
- compiler: gcc10
|
- compiler: gcc12
|
||||||
os: ubuntu-24.04
|
os: ubuntu-24.04
|
||||||
cc: gcc-10
|
cc: gcc-12
|
||||||
cxx: g++-10
|
cxx: g++-12
|
||||||
packages: g++-10
|
packages: g++-12
|
||||||
meson_options:
|
meson_options:
|
||||||
- compiler: clang
|
- compiler: clang
|
||||||
os: ubuntu-24.04
|
os: ubuntu-24.04
|
||||||
|
2
NEWS
2
NEWS
@ -58,7 +58,7 @@ ver 0.24 (not yet released)
|
|||||||
- alsa: require alsa-lib 1.1 or later
|
- alsa: require alsa-lib 1.1 or later
|
||||||
- pipewire: map tags "Date" and "Comment"
|
- pipewire: map tags "Date" and "Comment"
|
||||||
* switch to C++20
|
* switch to C++20
|
||||||
- GCC 10 or clang 11 (or newer) recommended
|
- GCC 12 or clang 14 (or newer) recommended
|
||||||
* static partition configuration
|
* static partition configuration
|
||||||
* Windows
|
* Windows
|
||||||
- build with libsamplerate
|
- build with libsamplerate
|
||||||
|
@ -12,7 +12,7 @@ Code Style
|
|||||||
* indent with tabs (width 8)
|
* indent with tabs (width 8)
|
||||||
* don't write CPP when you can write C++: use inline functions and constexpr instead of macros
|
* don't write CPP when you can write C++: use inline functions and constexpr instead of macros
|
||||||
* comment your code, document your APIs
|
* comment your code, document your APIs
|
||||||
* the code should be C++20 compliant, and must compile with :program:`GCC` 10 and :program:`clang` 11
|
* the code should be C++20 compliant, and must compile with :program:`GCC` 12 and :program:`clang` 14
|
||||||
* all code must be exception-safe
|
* all code must be exception-safe
|
||||||
* classes and functions names use CamelCase; variables are lower-case with words separated by underscore
|
* classes and functions names use CamelCase; variables are lower-case with words separated by underscore
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ and unpack it (or `clone the git repository
|
|||||||
|
|
||||||
In any case, you need:
|
In any case, you need:
|
||||||
|
|
||||||
* a C++20 compiler (e.g. GCC 10 or clang 11)
|
* a C++20 compiler (e.g. GCC 12 or clang 14)
|
||||||
* `Meson 1.0 <http://mesonbuild.com/>`__ and `Ninja
|
* `Meson 1.0 <http://mesonbuild.com/>`__ and `Ninja
|
||||||
<https://ninja-build.org/>`__
|
<https://ninja-build.org/>`__
|
||||||
* pkg-config
|
* pkg-config
|
||||||
|
@ -102,10 +102,10 @@ version_cxx = vcs_tag(input: 'src/GitVersion.cxx', output: 'GitVersion.cxx')
|
|||||||
compiler = meson.get_compiler('cpp')
|
compiler = meson.get_compiler('cpp')
|
||||||
c_compiler = meson.get_compiler('c')
|
c_compiler = meson.get_compiler('c')
|
||||||
|
|
||||||
if compiler.get_id() == 'gcc' and compiler.version().version_compare('<10')
|
if compiler.get_id() == 'gcc' and compiler.version().version_compare('<12')
|
||||||
warning('Your GCC version is too old. You need at least version 10.')
|
warning('Your GCC version is too old. You need at least version 12.')
|
||||||
elif compiler.get_id() == 'clang' and compiler.version().version_compare('<11')
|
elif compiler.get_id() == 'clang' and compiler.version().version_compare('<14')
|
||||||
warning('Your clang version is too old. You need at least version 11.')
|
warning('Your clang version is too old. You need at least version 14.')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
version_conf = configuration_data()
|
version_conf = configuration_data()
|
||||||
|
@ -662,11 +662,6 @@ MadDecoder::DecodeFirstFrame(Tag *tag) noexcept
|
|||||||
{
|
{
|
||||||
struct xing xing;
|
struct xing xing;
|
||||||
|
|
||||||
#if GCC_CHECK_VERSION(10,0)
|
|
||||||
/* work around bogus -Wuninitialized in GCC 10 */
|
|
||||||
xing.frames = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
const auto action = DecodeNextFrame(false, tag);
|
const auto action = DecodeNextFrame(false, tag);
|
||||||
switch (action) {
|
switch (action) {
|
||||||
|
Reference in New Issue
Block a user