[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <175796317609.265653.2867794592544924823.b4-ty@kernel.dk>
Date: Mon, 15 Sep 2025 13:06:16 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Ammar Faizi <ammarfaizi2@...weeb.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
io-uring Mailing List <io-uring@...r.kernel.org>,
Alviro Iskandar Setiawan <alviro.iskandar@...weeb.org>,
Bart Van Assche <bvanassche@....org>, dr.xiaosa@...il.com
Subject: Re: [PATCH liburing] liburing.h: Support C++20 module export
feature
On Sat, 13 Sep 2025 23:25:40 +0700, Ammar Faizi wrote:
> Having "static inline" functions in liburing header file results in
> compilation errors when using the new C++20 module export feature:
>
> In file included from src/work.cpp:3:
> ./include/liburing.h:343:20: error: \
> ‘void io_uring_cq_advance(io_uring*, unsigned int)’ \
> exposes TU-local entity ‘void io_uring_smp_store_release(T*, T) [with T = unsigned int]’
> 343 | IOURINGINLINE void io_uring_cq_advance(struct io_uring *ring, unsigned nr)
> | ^~~~~~~~~~~~~~~~~~~
> In file included from ./include/liburing.h:20:
> ./include/liburing/barrier.h:42:20: note: \
> ‘void io_uring_smp_store_release(T*, T) [with T = unsigned int]’ is a \
> specialization of TU-local template \
> ‘template<class T> void io_uring_smp_store_release(T*, T)’
> 42 | static inline void io_uring_smp_store_release(T *p, T v)
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> ./include/liburing/barrier.h:42:20: note: \
> ‘template<class T> void io_uring_smp_store_release(T*, T)’ declared with internal linkage
>
> [...]
Applied, thanks!
[1/1] liburing.h: Support C++20 module export feature
commit: 5503c2b545709e1cf8484670aa7088a827f4818d
Best regards,
--
Jens Axboe
Powered by blists - more mailing lists