Kyle Cripps
Kyle Cripps
It may be easier for some passes to process action-locals that are actually action-local variables instead of control-local variables in the IR. Also note that we already do this in...
Adds a modified version of `loc_t` from the midend def_use pass to the frontend one. Please see discussions in #4500, #4507, #4548 for more context. I did not add any...
See https://github.com/p4lang/p4c/pull/4810 and related discussions for context. Consider an `IR::SwitchStatement` that has two unique `IR::SwitchCase`s (let's call them "case 1 and 2"), that each point to the same `IR::BlockStatement*`. When...
When the user supplies a token which is not a declared type, where a declared type is expected, the parser produces various types of syntax errors, many of which are...
built on top of https://github.com/p4lang/p4c/pull/4797 Title and discussion in https://github.com/p4lang/p4c/pull/4797 are self-explanatory. This still does not fully fix the problem described in https://github.com/p4lang/p4c/pull/4797 (but it is yet another incremental improvement)....
Currently the compiler does not implicitly calculate priorities that are not explicitly provided when the entries are `const`, and reports an error message when `const entries` have explicit priorities: ```...
The following P4 program: ``` #include typedef bit b1; enum b1 e { value = 1 } typedef bool t; struct s { t f1; t f2; } header h_t...
``` #include enum bit e { e0 = 0, e1 = 1, e2 = 2, e3 = 3 } const bit c = e.e0; extern void foo(inout bit a); control...
~~This reverts a change that was introduced by #4366, and is in fact redundant for the purpose of #4366 (it was originally necessary, but later became redundant after updates were...
Fixes UB introduced by #4902