Skip to content

Commit

Permalink
Merge branch 'main' into vineet-work
Browse files Browse the repository at this point in the history
  • Loading branch information
Vineet1101 authored Feb 3, 2025
2 parents cd298d3 + a80e112 commit 19e6f57
Show file tree
Hide file tree
Showing 8 changed files with 114 additions and 26 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
build-and-deploy:
runs-on: ubuntu-latest
env:
DOXYGEN_VERSION: 1.13.0
DOXYGEN_VERSION: 1.13.2
DOXYGEN_AWESOME_VERSION: 2.3.4
PR_PATH: pr-preview/${{ github.event.number }}
DOMAIN: p4lang.github.io
Expand Down
83 changes: 83 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,89 @@ We follow a monthly release cadence. Our versioning scheme is as follows:
> @note
> The commit history prior to the release [1.2.2.1](https://github.com/p4lang/p4c/pull/3085) is not included here but is available in the [commit history](https://github.com/p4lang/p4c/commits/main/).
## Release v1.2.5.3 [[view](https://github.com/p4lang/p4c/releases/tag/v1.2.5.3)]

### What's Changed 🎉

### Changes to the Compiler Core
- Switch to Abseil symbolization / stack tracing routines [[view](https://github.com/p4lang/p4c/pull/5077)] (Anton Korobeynikov).
- Add `P4::warningCount()` and `P4::infoCount()` [[view](https://github.com/p4lang/p4c/pull/5098)] (Vladimír Štill).
- Move all config handling into a single `config.h` file [[view](https://github.com/p4lang/p4c/pull/5102)] (Anton Korobeynikov).
- Fix duplication action name check and `LocalizeAllActions` [[view](https://github.com/p4lang/p4c/pull/4975)] (Andy Fingerhut).
- Fix `EnumeratorHandle` compilation [[view](https://github.com/p4lang/p4c/pull/5109)] (Bili Dong).

### Changes to the TC Back End
- Small fixes for P4TC [[view](https://github.com/p4lang/p4c/pull/5097)] (vbnogueira).

### Changes to the Tofino Back End
- Fix class reference in Tofino 2 driver [[view](https://github.com/p4lang/p4c/pull/5103)] (Fabian Ruffy).

### Other Changes
- Remove occurrences of "confidential" and "proprietary" [[view](https://github.com/p4lang/p4c/pull/5112)] (Andy Fingerhut).
- Update changelogs for v1.2.5.1 & v1.2.5.2 [[view](https://github.com/p4lang/p4c/pull/5117)] (Adarsh Rawat).
- Bump Doxygen v1.13.0 -> v1.13.2 [[view](https://github.com/p4lang/p4c/pull/5116)] (Adarsh Rawat).
- Automated Release v1.2.5.3 [[view](https://github.com/p4lang/p4c/pull/5118)] (GitHub Actions).

## Release v1.2.5.2 [[view](https://github.com/p4lang/p4c/releases/tag/v1.2.5.2)]

### Changes to the Compiler Core
- Fix `FlattenLogMsg` not properly working on nested structures [[view](https://github.com/p4lang/p4c/pull/5036)] (Jiri Havranek).
- Add checks to annotation getters [[view](https://github.com/p4lang/p4c/pull/5052)] (Fabian Ruffy).
- Mark RTTI methods as `const` / `pure` to enable compiler optimizations [[view](https://github.com/p4lang/p4c/pull/5049)] (Anton Korobeynikov).
- Ignore typeless structs in unstructured annotations [[view](https://github.com/p4lang/p4c/pull/5058)] (Chris Dodd).
- Teach function inliner to inline into `if` conditions [[view](https://github.com/p4lang/p4c/pull/5073)] (Anton Korobeynikov).

### Changes to the TC Back End
- Introduce the SKB metadata extern [[view](https://github.com/p4lang/p4c/pull/4916)] (vbnogueira).

### Changes to the DPDK Back End
- Added support for 128-bit constants usage in DPDK backend [[view](https://github.com/p4lang/p4c/pull/5074)] (Maheswari Subramanian).

### Changes to the Tofino Back End
- Fix incorrect annotation parsing in Tofino [[view](https://github.com/p4lang/p4c/pull/5051)] (Fabian Ruffy).
- Remove unnecessary file lists from Tofino CMake [[view](https://github.com/p4lang/p4c/pull/5039)] (Fabian Ruffy).
- Add a flag to enable `bf-asm` for Open P4Studio [[view](https://github.com/p4lang/p4c/pull/5056)] (Prathima Kotikalapudi).
- Clean up Tofino dynamic hash library [[view](https://github.com/p4lang/p4c/pull/5059)] (Fabian Ruffy).
- Fix missing indentation in `bfasm`-related commands [[view](https://github.com/p4lang/p4c/pull/5069)] (Fabian Ruffy).
- Remove `dynhash` library variable from Tofino library dependencies [[view](https://github.com/p4lang/p4c/pull/5072)] (Fabian Ruffy).
- Add a `bf-asm` command line option alongside environment variables [[view](https://github.com/p4lang/p4c/pull/5070)] (Fabian Ruffy).

### Other Changes
- Remove empty `v1.def` [[view](https://github.com/p4lang/p4c/pull/5029)] (Fabian Ruffy).
- Update documentation: Changelogs for v1.2.5.0 [[view](https://github.com/p4lang/p4c/pull/5045)] (Adarsh Rawat).
- Upgrade to Bazel 7.4.1 [[view](https://github.com/p4lang/p4c/pull/5071)] (John Cater).
- Remove obsolete implicit attribute `_cc_toolchain` [[view](https://github.com/p4lang/p4c/pull/5062)] (John Cater).
- Clean up `clang-format` and add a `.clangd` configuration [[view](https://github.com/p4lang/p4c/pull/5075)] (Fabian Ruffy).
- Remove unused test files from `testdata` [[view](https://github.com/p4lang/p4c/pull/5079)] (Andy Fingerhut).
- Bump Doxygen v1.12.0 -> v1.13.0 [[view](https://github.com/p4lang/p4c/pull/5080)] (Adarsh Rawat).
- Automated Release v1.2.5.2 [[view](https://github.com/p4lang/p4c/pull/5081)] (GitHub Actions).

## Release v1.2.5.1 [[view](https://github.com/p4lang/p4c/releases/tag/v1.2.5.1)]

### Breaking Changes 🛠
- Use type-safe discriminated union for `Annotation` [[view](https://github.com/p4lang/p4c/pull/5018)] (Anton Korobeynikov).

### Changes to the Compiler Core
- Remove some trivial memory leaks in codebase [[view](https://github.com/p4lang/p4c/pull/5012)] (Anton Korobeynikov).
- Fix `modifyAllMatching` visitor helper [[view](https://github.com/p4lang/p4c/pull/5020)] (Vladimír Štill).
- Inline some IR methods and constructors [[view](https://github.com/p4lang/p4c/pull/5030)] (Anton Korobeynikov).
- Remove unnecessary PIE workaround [[view](https://github.com/p4lang/p4c/pull/5044)] (Anton Korobeynikov).
- Add typed version of `isInContext()` and use it instead of `findContext()` [[view](https://github.com/p4lang/p4c/pull/5048)] (Anton Korobeynikov).

### Changes to the TC Back End
- Generate JSON actions and keys fields array even when empty [[view](https://github.com/p4lang/p4c/pull/5022)] (vbnogueira).

### Changes to the Tofino Back End
- Minor fix to Tofino CMake file [[view](https://github.com/p4lang/p4c/pull/5016)] (Han Wang).
- More Tofino include fixes [[view](https://github.com/p4lang/p4c/pull/5006)] (Fabian Ruffy).
- Fix multiple Tofino warnings [[view](https://github.com/p4lang/p4c/pull/5007)] (Fabian Ruffy).
- Port Tofino dynamic hash to C++ [[view](https://github.com/p4lang/p4c/pull/5043)] (Anton Korobeynikov).

### Other Changes
- Add Tofino to release workflow [[view](https://github.com/p4lang/p4c/pull/5017)] (Fabian Ruffy).
- Fix Mac dependency installation [[view](https://github.com/p4lang/p4c/pull/5028)] (Fabian Ruffy).
- Automated Release v1.2.5.1 [[view](https://github.com/p4lang/p4c/pull/5040)] (GitHub Actions).

## Release v1.2.5.0 [[view](https://github.com/p4lang/p4c/releases/tag/v1.2.5.1)]

### What's Changed 🎉
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ use them, but YMMV.
- Python 3 for scripting and running tests
- Optional: Documentation generation requires Doxygen (1.13.0) and Graphviz (2.38.0 or higher).
- Optional: Documentation generation requires Doxygen (1.13.2) and Graphviz (2.38.0 or higher).
Backends may have additional dependencies. The dependencies for the backends
included with `P4C` are documented here:
Expand All @@ -311,14 +311,14 @@ pip3 install --user -r requirements.txt
**For documentation building:**

**Tools**
- Download the Doxygen 1.13.0 binary
- Download the Doxygen 1.13.2 binary
```bash
wget https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/doxygen-1.13.0.linux.bin.tar.gz
wget https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/doxygen-1.13.2.linux.bin.tar.gz
```
- Extract and install Doxygen
```bash
tar xzvf doxygen-1.13.0.linux.bin.tar.gz
cd doxygen-1.13.0
tar xzvf doxygen-1.13.2.linux.bin.tar.gz
cd doxygen-1.13.2
sudo make install
cd ..
```
Expand Down Expand Up @@ -362,14 +362,14 @@ sudo pip3 install -r requirements.txt
**For documentation building:**

**Tools**
- Download the Doxygen 1.13.0 binary
- Download the Doxygen 1.13.2 binary
```bash
wget https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/doxygen-1.13.0.linux.bin.tar.gz
wget https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/doxygen-1.13.2.linux.bin.tar.gz
```
- Extract and install Doxygen
```bash
tar xzvf doxygen-1.13.0.linux.bin.tar.gz
cd doxygen-1.13.0
tar xzvf doxygen-1.13.2.linux.bin.tar.gz
cd doxygen-1.13.2
sudo make install
cd ..
```
Expand Down Expand Up @@ -421,7 +421,7 @@ Installing on macOS:
```

**Optional documentation building tools:**
- Download and install the Doxygen 1.13.0 DMG file from [here](https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/Doxygen-1.13.0.dmg).
- Download and install the Doxygen 1.13.2 DMG file from [here](https://github.com/doxygen/doxygen/releases/download/Release_1_13_0/Doxygen-1.13.2.dmg).
- Install Graphviz
```
brew install graphviz
Expand Down
2 changes: 1 addition & 1 deletion Version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.2.5.2
1.2.5.3
25 changes: 15 additions & 10 deletions docs/doxygen/doxygen.cfg
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Doxyfile 1.13.0
# Doxyfile 1.13.2

# This file describes the settings to be used by the documentation system
# Doxygen (www.doxygen.org) for a project.
Expand Down Expand Up @@ -2812,24 +2812,29 @@ DIR_GRAPH_MAX_DEPTH = 1
# generated by dot. For an explanation of the image formats see the section
# output formats in the documentation of the dot tool (Graphviz (see:
# https://www.graphviz.org/)).
# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
# to make the SVG files visible in IE 9+ (other browsers do not have this
# requirement).
#
# Note the formats svg:cairo and svg:cairo:cairo cannot be used in combination
# with INTERACTIVE_SVG (the INTERACTIVE_SVG will be set to NO).
# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
# png:gdiplus:gdiplus.
# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus,
# png:gdiplus:gdiplus, svg:cairo, svg:cairo:cairo, svg:svg, svg:svg:core,
# gif:cairo, gif:cairo:gd, gif:cairo:gdiplus, gif:gdiplus, gif:gdiplus:gdiplus,
# gif:gd, gif:gd:gd, jpg:cairo, jpg:cairo:gd, jpg:cairo:gdiplus, jpg:gd,
# jpg:gd:gd, jpg:gdiplus and jpg:gdiplus:gdiplus.
# The default value is: png.
# This tag requires that the tag HAVE_DOT is set to YES.

DOT_IMAGE_FORMAT = svg

# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
# enable generation of interactive SVG images that allow zooming and panning.
# If DOT_IMAGE_FORMAT is set to svg or svg:svg or svg:svg:core, then this option
# can be set to YES to enable generation of interactive SVG images that allow
# zooming and panning.
#
# Note that this requires a modern browser other than Internet Explorer. Tested
# and working are Firefox, Chrome, Safari, and Opera.
# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
# the SVG files visible. Older versions of IE do not have SVG support.
#
# Note This option will be automatically disabled when DOT_IMAGE_FORMAT is set
# to svg:cairo or svg:cairo:cairo.
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.

Expand Down
2 changes: 1 addition & 1 deletion docs/doxygen/p4c_footer.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!-- HTML footer for doxygen 1.13.0-->
<!-- HTML footer for doxygen 1.13.2-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
Expand Down
2 changes: 1 addition & 1 deletion docs/doxygen/p4c_header.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!-- HTML header for doxygen 1.13.0-->
<!-- HTML header for doxygen 1.13.2-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
<head>
Expand Down
4 changes: 2 additions & 2 deletions docs/doxygen/p4c_layout.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.13.0 -->
<doxygenlayout version="2.0">
<!-- Generated by doxygen 1.13.2 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
Expand Down

0 comments on commit 19e6f57

Please sign in to comment.