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