|
1 | 1 | Title : P4~16~ Language Specification
|
2 |
| -Title Note: version 1.2.0 |
| 2 | +Title Note: version 1.2.1-rc |
3 | 3 | Title Footer: &date;
|
4 | 4 | Author: The P4 Language Consortium
|
5 | 5 | Heading depth: 5
|
@@ -2839,7 +2839,7 @@ important what the type variable binds to (during type unification the
|
2839 | 2839 | don't care type can unify with any other type). An example is given
|
2840 | 2840 | Section [#sec-arch-desc-example].
|
2841 | 2841 |
|
2842 |
| -## Default values { #default-values } |
| 2842 | +## Default values { #sec-default-values } |
2843 | 2843 |
|
2844 | 2844 | Some P4 types define a "default value," which can be used to
|
2845 | 2845 | automatically initialize values of that type. The default values are
|
@@ -4579,7 +4579,7 @@ values will be.
|
4579 | 4579 | ## Initializing with default values
|
4580 | 4580 |
|
4581 | 4581 | A left-value can be initialized automatically with a default value of the
|
4582 |
| -suitable type using the syntax `...` (see Section [#default-values]). A value |
| 4582 | +suitable type using the syntax `...` (see Section [#sec-default-values]). A value |
4583 | 4583 | of type `struct`, `header`, or `tuple` can also be initialized using a mix of
|
4584 | 4584 | explicit values and default values by using the notation `...` in a list
|
4585 | 4585 | expression initializer; in this case all fields not explicitly
|
@@ -7767,22 +7767,51 @@ The P4 compiler should provide:
|
7767 | 7767 | | | | tuples, `@deprecated` annotation, free-form annotations, `int` type |
|
7768 | 7768 | | | | `table.apply().miss`, `string` type. |
|
7769 | 7769 | |-----|-----|-----|
|
7770 |
| -| 1.2.1 | TBD, 2020 | | |
| 7770 | +| 1.2.1-rc | June 1, 2020 | Added structure-value expressions, default values, concatenation, structured | |
| 7771 | +| | | | annotations, generalized typing rules for masks, restricted typing rule for | |
| 7772 | +| | | | shifts with infinite-precistion operands, clarified initialization semantics, | |
| 7773 | +| | | | fixed several small issues in the grammar | |
7771 | 7774 | |-----|-----|-----|
|
7772 | 7775 |
|
7773 | 7776 | ## Summary of changes made in version 1.2.1
|
7774 | 7777 |
|
| 7778 | +* Added structure-value expressions (Section |
| 7779 | + [#sec-structure-expressions]). |
| 7780 | + |
| 7781 | +* Added support for default values (Section [#sec-default-values]). |
| 7782 | + |
| 7783 | +* Added support for concatenating signed strings (Section |
| 7784 | + [#sec-concatenation]). |
| 7785 | + |
| 7786 | +* Added key-value and list-structured annotations (Section |
| 7787 | + [#annotations]). |
| 7788 | + |
7775 | 7789 | * Added `@pure` and `@noSideEffects` annotations (Section
|
7776 | 7790 | [#sec-extern-annotations]).
|
7777 | 7791 |
|
7778 |
| -## Summary of changes made in version 1.2.1 |
7779 |
| - |
7780 | 7792 | * Added `@noWarn` annotation (Section [#sec-nowarn-anno]).
|
7781 |
| -* Added structure-valued expressions (Section [#sec-structure-expressions]). |
7782 |
| -* Added structured annotations (Section [#sec-annotations]). |
7783 |
| -* Allow empty statements in parsers (Section [#sec-parser-state-stmt]). |
7784 |
| -* Fixed grammar for right shifts (Section [#sec-grammar]). |
7785 |
| -* Allow concatenation of signed strings (Section [#sec-concatenation]). |
| 7793 | + |
| 7794 | +* Generalized typing for masks to allow serializable `enum`s (Section |
| 7795 | + [#sec-cubes]). |
| 7796 | + |
| 7797 | +* Restricted the right operands of bit shifts involving |
| 7798 | + infinite-precision integers to be constant and positive (Section |
| 7799 | + [#sec-varint-ops]). |
| 7800 | + |
| 7801 | +* Clarified copy-out behavior for `return` (Section |
| 7802 | + [#sec-return-stmt]) and `exit` (Section [#sec-exit-stmt]) |
| 7803 | + statements. |
| 7804 | + |
| 7805 | +* Clarified semantics of invalid header stacks (Section |
| 7806 | + [#sec-uninitialized-values-and-writing-invalid-headers ]). |
| 7807 | + |
| 7808 | +* Clarified initialization semantics (Section [#sec-lvalues] and |
| 7809 | + [#sec-calling-convention]), especially for headers and local |
| 7810 | + variables. |
| 7811 | + |
| 7812 | +* Fixed grammar to clarify parsing of right shift operator (`>>`), |
| 7813 | + allow empty statements in parser (Section [#sec-parser-state-stmt]), |
| 7814 | + and eliminate annotations on const entries (Section [#sec-entries]). |
7786 | 7815 |
|
7787 | 7816 | ## Summary of changes made in version 1.2.0
|
7788 | 7817 |
|
|
0 commit comments