Fabian Ruffy
Fabian Ruffy
Our CMake setup is rather slow. The slowness comes from the test files we generate unconditionally with the `p4c_add_tests` every time time we run `cmake`. It would be nice to...
C++20 is now supported in most major distributions and compilers and there are several features that are useful for us to have. Let's switch to C++20.
Fixes #4404. The closest approximation of the Google style I could find is defined here: https://github.com/googleapis/google-cloud-cpp/blob/main/.clang-tidy#L104 We deviate quite a bit. For example, we use `camelCase` in most places instead...
To have more control over linking and setup of the Boehm-Demers-Weiser garbage collector P4C uses we add it as a submodule. For compatibility users can still choose to link with...
Currently, P4C calls into [cc](https://github.com/p4lang/p4c/blob/main/frontends/common/parser_options.cpp#L410) to perform preprocessing on P4 programs. This can cause issues in environments which do not have this binary available or are restricted. It might be...
IR nodes can not be part of sets or maps because they do not implement `operator
> The problem is in DPDK::PrependPDotToActionArgs (line ~1318) where it is creating a ListExpression rather than a StructExpression to initialize a struct. The typechecker wants this to be a StructExpression,...
Currently CMake breaks if you do not have certain dependencies (flex, bison, boost, etc) installed. It would be nice to run our formatters independently.
This is something that always throws of first-time users of the compiler. In particular when they run `ctest` they see a bunch of failing tests because runtime dependencies of these...
Do not force users to install more than necessary if they only want to use one particular part of the compiler.