Skip to content

Commit bb893d5

Browse files
authored
Merge pull request #264 from pulp-platform/fischeti/slang-pickler
Add slang bindings and `pickle` command
2 parents f3e0419 + f68b52a commit bb893d5

27 files changed

Lines changed: 1565 additions & 57 deletions

.cargo/config.toml.iis

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[target.x86_64-unknown-linux-gnu]
2+
linker = "/usr/pack/gcc-14.2.0-af/bin/gcc"
3+
rustflags = ["-C", "link-arg=-Wl,-rpath,/usr/pack/gcc-14.2.0-af/lib64"]
4+
5+
[env]
6+
CC = "/usr/pack/gcc-14.2.0-af/bin/gcc"
7+
CXX = "/usr/pack/gcc-14.2.0-af/bin/g++"

.github/workflows/ci.yml

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,17 @@ jobs:
2020
- 1.87.0 # minimum supported version
2121
continue-on-error: ${{ matrix.rust == 'nightly' }}
2222
steps:
23-
- uses: actions/checkout@v3
23+
- uses: actions/checkout@v6
24+
with:
25+
submodules: recursive
2426
- uses: dtolnay/rust-toolchain@stable
2527
with:
2628
toolchain: ${{ matrix.rust}}
2729
components: rustfmt
2830
- name: Build
29-
run: cargo build
31+
run: cargo build --all-features
3032
- name: Cargo Test
31-
run: cargo test --all
33+
run: cargo test --workspace --all-features
3234
- name: Format (fix with `cargo fmt`)
3335
run: cargo fmt -- --check
3436
- name: Run unit-tests
@@ -38,29 +40,33 @@ jobs:
3840
test-windows:
3941
runs-on: windows-latest
4042
steps:
41-
- uses: actions/checkout@v3
43+
- uses: actions/checkout@v6
44+
with:
45+
submodules: recursive
4246
- uses: dtolnay/rust-toolchain@stable
4347
with:
4448
toolchain: stable
4549
- name: Build
46-
run: cargo build
50+
run: cargo build --all-features
4751
- name: Cargo Test
48-
run: cargo test --all
52+
run: cargo test --workspace --all-features
4953
- name: Run unit-tests
5054
run: tests/run_all.sh
5155
shell: bash
5256

5357
test-macos:
5458
runs-on: macos-latest
5559
steps:
56-
- uses: actions/checkout@v3
60+
- uses: actions/checkout@v6
61+
with:
62+
submodules: recursive
5763
- uses: dtolnay/rust-toolchain@stable
5864
with:
5965
toolchain: stable
6066
- name: Build
61-
run: cargo build
67+
run: cargo build --all-features
6268
- name: Cargo Test
63-
run: cargo test --all
69+
run: cargo test --workspace --all-features
6470
- name: Run unit-tests
6571
run: tests/run_all.sh
6672
shell: bash
@@ -69,7 +75,9 @@ jobs:
6975
name: Clippy
7076
runs-on: ubuntu-latest
7177
steps:
72-
- uses: actions/checkout@v3
78+
- uses: actions/checkout@v6
79+
with:
80+
submodules: recursive
7381
- uses: dtolnay/rust-toolchain@stable
7482
with:
7583
toolchain: stable
@@ -80,7 +88,7 @@ jobs:
8088
name: Unused Dependencies
8189
runs-on: ubuntu-latest
8290
steps:
83-
- uses: actions/checkout@v3
91+
- uses: actions/checkout@v6
8492
- uses: dtolnay/rust-toolchain@stable
8593
with:
8694
toolchain: stable

.github/workflows/cli_regression.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,41 @@ jobs:
88
test:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v3
11+
- uses: actions/checkout@v6
12+
with:
13+
submodules: recursive
1214
- uses: dtolnay/rust-toolchain@stable
1315
with:
1416
toolchain: stable
1517
- name: Run CLI Regression
16-
run: cargo test --test cli_regression -- --ignored
18+
run: cargo test --all-features --test cli_regression -- --ignored
1719
env:
1820
BENDER_TEST_GOLDEN_BRANCH: ${{ github.base_ref }}
1921

2022
test-windows:
2123
runs-on: windows-latest
2224
steps:
23-
- uses: actions/checkout@v3
25+
- uses: actions/checkout@v6
26+
with:
27+
submodules: recursive
2428
- uses: dtolnay/rust-toolchain@stable
2529
with:
2630
toolchain: stable
2731
- name: Run CLI Regression
28-
run: cargo test --test cli_regression -- --ignored
32+
run: cargo test --all-features --test cli_regression -- --ignored
2933
env:
3034
BENDER_TEST_GOLDEN_BRANCH: ${{ github.base_ref }}
3135

3236
test-macos:
3337
runs-on: macos-latest
3438
steps:
35-
- uses: actions/checkout@v3
39+
- uses: actions/checkout@v6
40+
with:
41+
submodules: recursive
3642
- uses: dtolnay/rust-toolchain@stable
3743
with:
3844
toolchain: stable
3945
- name: Run CLI Regression
40-
run: cargo test --test cli_regression -- --ignored
46+
run: cargo test --all-features --test cli_regression -- --ignored
4147
env:
4248
BENDER_TEST_GOLDEN_BRANCH: ${{ github.base_ref }}

.github/workflows/release.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
-v "$GITHUB_WORKSPACE/target/$platform/$tgtname:/source/target" \
7777
--platform $full_platform \
7878
$tgtname-$platform \
79-
cargo build --release;
79+
cargo build --release --all-features;
8080
shell: bash
8181
- name: OS Create Package
8282
run: |
@@ -121,7 +121,7 @@ jobs:
121121
-v "$GITHUB_WORKSPACE/target/$platform/$tgtname:/source/target" \
122122
--platform $full_platform \
123123
$tgtname-$platform \
124-
cargo build --release;
124+
cargo build --release --all-features;
125125
shell: bash
126126
- name: OS Create Package
127127
run: |
@@ -170,7 +170,7 @@ jobs:
170170
-v "$GITHUB_WORKSPACE/target/amd64:/source/target" \
171171
--platform linux/amd64 \
172172
manylinux-amd64 \
173-
cargo build --release;
173+
cargo build --release --all-features;
174174
- name: GNU Create Package
175175
run: .github/scripts/package.sh amd64
176176
shell: bash
@@ -215,7 +215,7 @@ jobs:
215215
-v "$GITHUB_WORKSPACE/target/arm64:/source/target" \
216216
--platform linux/arm64 \
217217
manylinux-arm64 \
218-
cargo build --release;
218+
cargo build --release --all-features;
219219
- name: GNU Create Package
220220
run: .github/scripts/package.sh arm64
221221
shell: bash
@@ -240,7 +240,7 @@ jobs:
240240
rustup target add aarch64-apple-darwin
241241
cargo install universal2
242242
- name: MacOS Build
243-
run: cargo-universal2 --release
243+
run: cargo-universal2 --release --all-features
244244
- name: Get Artifact Name
245245
run: |
246246
if [[ "$GITHUB_REF" =~ ^refs/tags/v.*$ ]]; then \

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "crates/bender-slang/vendor/slang"]
2+
path = crates/bender-slang/vendor/slang
3+
url = https://github.com/MikePopoloski/slang.git

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

77
## Unreleased
8+
### Added
9+
- Add new `crates/bender-slang` crate that integrates the vendored Slang parser via a Rust/C++ bridge.
10+
- Add new `pickle` command (behind feature `slang`) to parse and re-emit SystemVerilog sources.
811

912
## 0.31.0 - 2026-03-03
1013
### Fixed

Cargo.lock

Lines changed: 125 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)