Hi,

The L4Re Microkernel ("Fiasco") is compliant with C++17 and the standard is enforced through the build system (-std=c++17). I checked updating this to C++20 (src/Makeconf) and tested with GCC-13.2. Since we use arithmetic operations between different enum types at this time, which C++20 deprecates, there are a lot of warnings. Disabling that warning (-Wno-deprecated-enum-enum-conversion) creates a warning-free build for amd64 which works for the one use-case I tried. So I would say most of our code should be compatible with C++20 with the exception of this one deprecation.

The L4Re Userland uses whatever the compiler default is (unless an individual package forces a particular standard). Since the oldest supported compiler at this time is GCC-9 (which defaults to C++17) and the latest compilers (GCC/clang) default to C++17 we take care that all our code is compliant with C++14 and C++17 for the userland.

I hope that answers your question.

Best regards,

- Marcus


On 2023-12-29 17:06, teclis High Elf wrote:
Hi,

There are a lot of C++ versions. Is Fiasco L4Re compliant with the
current C++20 standard?

regards,
_______________________________________________
l4-hackers mailing list -- l4-hackers@os.inf.tu-dresden.de
To unsubscribe send an email to l4-hackers-le...@os.inf.tu-dresden.de
_______________________________________________
l4-hackers mailing list -- l4-hackers@os.inf.tu-dresden.de
To unsubscribe send an email to l4-hackers-le...@os.inf.tu-dresden.de

Reply via email to