Arduino can be built with C20/C++20 or C17/C++17 by switching to the latest gcc-arm-none-eabi. Below shows 2 different ways one using arduino-cli and the other using a Makefile included in this repo.
ESP32-C2 is also supported by Arduino-ESP32 but requires rebuilding the static libraries. This is not trivial and requires a good understanding of the ESP-IDF build system. For more information, see ...