meson: fix -werror, tests and format
Dependent projects are compiled with -werror and failing because of this
dependency.
For example phosphor-bmc-code-mgmt.
```
../subprojects/stdplus/include/stdplus/net/addr/ip.hpp:550:26: error: space between quotes and suffix is deprecated in C++23 [-Werror=deprecated-literal-operator]
550 | constexpr auto operator"" _ip() noexcept
| ^~
| --
```
test/io_uring.cpp had to be fixed because there was an access to an
optional which had been ```.reset()``` previously.
Tested: Unit Tests Pass
Change-Id: Iae8bff96cf69a82aea8c1964cfd35908946d7f47
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/include/stdplus/net/addr/ip.hpp b/include/stdplus/net/addr/ip.hpp
index dae3c15..711d3d5 100644
--- a/include/stdplus/net/addr/ip.hpp
+++ b/include/stdplus/net/addr/ip.hpp
@@ -533,21 +533,21 @@
{
template <detail::CompileIn4Addr Str>
-constexpr auto operator"" _ip4() noexcept
+constexpr auto operator""_ip4() noexcept
{
static_assert(Str.valid, "stdplus::In4Addr");
return Str.addr;
}
template <detail::CompileIn6Addr Str>
-constexpr auto operator"" _ip6() noexcept
+constexpr auto operator""_ip6() noexcept
{
static_assert(Str.valid, "stdplus::In6Addr");
return Str.addr;
}
template <detail::CompileInAnyAddr Str>
-constexpr auto operator"" _ip() noexcept
+constexpr auto operator""_ip() noexcept
{
static_assert(Str.valid, "stdplus::InAnyAddr");
return Str.v4 ? InAnyAddr(Str.u.addr4) : InAnyAddr(Str.u.addr6);
diff --git a/include/stdplus/net/addr/subnet.hpp b/include/stdplus/net/addr/subnet.hpp
index a28b3f6..b5e5731 100644
--- a/include/stdplus/net/addr/subnet.hpp
+++ b/include/stdplus/net/addr/subnet.hpp
@@ -330,21 +330,21 @@
{
template <detail::CompileSubnet4 Str>
-constexpr auto operator"" _sub4() noexcept
+constexpr auto operator""_sub4() noexcept
{
static_assert(Str.valid, "stdplus::Subnet4");
return Subnet4(Str.addr, Str.pfx);
}
template <detail::CompileSubnet6 Str>
-constexpr auto operator"" _sub6() noexcept
+constexpr auto operator""_sub6() noexcept
{
static_assert(Str.valid, "stdplus::Subnet6");
return Subnet6(Str.addr, Str.pfx);
}
template <detail::CompileSubnetAny Str>
-constexpr auto operator"" _sub() noexcept
+constexpr auto operator""_sub() noexcept
{
static_assert(Str.valid, "stdplus::SubnetAny");
return Str.v4 ? SubnetAny(Str.u.addr4, Str.pfx)
diff --git a/include/stdplus/zstring_view.hpp b/include/stdplus/zstring_view.hpp
index 4be31c3..809c2a5 100644
--- a/include/stdplus/zstring_view.hpp
+++ b/include/stdplus/zstring_view.hpp
@@ -309,7 +309,7 @@
inline namespace zstring_view_literals
{
template <detail::compile_zstring_view Str>
-constexpr auto operator"" _zsv() noexcept
+constexpr auto operator""_zsv() noexcept
{
static_assert(Str.valid, "stdplus::zstring_view");
return Str.getzsv();
diff --git a/meson.build b/meson.build
index 08de909..49d7575 100644
--- a/meson.build
+++ b/meson.build
@@ -5,6 +5,7 @@
meson_version: '>=1.1.1',
default_options: [
'warning_level=3',
+ 'werror=true',
'cpp_std=c++23',
'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
'examples=' + (meson.is_subproject() ? 'false' : 'true'),
diff --git a/test/fd/fmt.cpp b/test/fd/fmt.cpp
index bdac7a4..cf4a319 100644
--- a/test/fd/fmt.cpp
+++ b/test/fd/fmt.cpp
@@ -27,7 +27,7 @@
buf.flush();
EXPECT_EQ(6, fd.lseek(0, Whence::Cur));
- buf.append(FMT_COMPILE("{}"), std::string(2050, 'a'));
+ buf.append("{}", std::string(2050, 'a'));
EXPECT_EQ(6, fd.lseek(0, Whence::Cur));
buf.append("{}", std::string(2050, 'a'));
EXPECT_EQ(4106, fd.lseek(0, Whence::Cur));
diff --git a/test/io_uring.cpp b/test/io_uring.cpp
index 7a646e2..54b9cef 100644
--- a/test/io_uring.cpp
+++ b/test/io_uring.cpp
@@ -264,9 +264,11 @@
testFdWrite(*fh, IOSQE_FIXED_FILE);
// Without registration we should only be able to write to the regular fd
+ int old_fd = *fh;
fh.reset();
testFdWrite(STDERR_FILENO, 0);
- testFdWrite(*fh, IOSQE_FIXED_FILE, -EBADF);
+ testFdWrite(STDOUT_FILENO, IOSQE_FIXED_FILE, -EBADF);
+ testFdWrite(old_fd, IOSQE_FIXED_FILE, -EBADF);
std::vector<IoUring::FileHandle> fhs;
EXPECT_LT(ring.getFiles().size(), 9);