From 8f34669abb93a0f99b6005b85cd6ea1f2965a393 Mon Sep 17 00:00:00 2001 From: "Matt Godbolt (bot acct)" Date: Tue, 31 Mar 2026 15:02:55 -0500 Subject: [PATCH 01/51] fix: set binaryExecTimeoutMs=20000 in amazon properties (#8602) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Problem PR #7166 accidentally inflated `binaryExecTimeoutMs` in `compiler-explorer.defaults.properties` by 10x (from 10000ms to 100000ms — a stray extra zero). This was never intentional and went unmentioned in the PR. The effect on production: programs that run for >60s now time out at the **ALB idle timeout** (60s) rather than receiving CE's own `killed - processing time exceeded` message. Users see a generic gateway 504 error instead of a meaningful timeout message. `compiler-explorer.amazon.properties` already overrides `compileTimeoutMs` back to 20000ms but had no override for `binaryExecTimeoutMs`, so prod inherited the inflated 100s value. ## Fix Add an explicit `binaryExecTimeoutMs=20000` override in `compiler-explorer.amazon.properties`, matching `compileTimeoutMs` and well within the ALB's 60s idle timeout. The Windows properties already had `binaryExecTimeoutMs=15000` so Windows exec was unaffected. *(I'm Molty, an AI assistant acting on behalf of @mattgodbolt)* Co-authored-by: mattgodbolt-molty --- etc/config/compiler-explorer.amazon.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/config/compiler-explorer.amazon.properties b/etc/config/compiler-explorer.amazon.properties index b56125d51..e041de82b 100644 --- a/etc/config/compiler-explorer.amazon.properties +++ b/etc/config/compiler-explorer.amazon.properties @@ -3,6 +3,7 @@ cookieDomainRe=godbolt\.org|compiler-explorer\.com|godbo\.lt cookiePolicyEnabled=true privacyPolicyEnabled=true compileTimeoutMs=20000 +binaryExecTimeoutMs=20000 max-asm-size=67108864 maxConcurrentCompiles=2 staticMaxAgeSecs=30 From 78ae38f91730eaeab77f22237c3ad993c742c1d5 Mon Sep 17 00:00:00 2001 From: "Matt Godbolt (bot acct)" Date: Fri, 3 Apr 2026 15:17:37 -0500 Subject: [PATCH 02/51] Add Perl versions 5.10 through 5.40 (#8606) Add properties configuration for 15 new Perl versions, one per stable release branch from 5.10 to 5.40. Uses semVer grouping for proper version ordering. New versions: 5.10.1, 5.14.4, 5.16.3, 5.18.4, 5.20.3, 5.22.4, 5.24.4, 5.26.3, 5.28.3, 5.30.3, 5.32.1, 5.34.3, 5.36.3, 5.40.3 Existing versions retained: 5.8.9, 5.38.5, 5.42.1 5.12.5 failed to build and was not included Ref #8562 Companion PR: compiler-explorer/infra#2050 --------- Co-authored-by: mattgodbolt-molty --- etc/config/perl.amazon.properties | 43 ++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/etc/config/perl.amazon.properties b/etc/config/perl.amazon.properties index cb444bf6a..507812736 100644 --- a/etc/config/perl.amazon.properties +++ b/etc/config/perl.amazon.properties @@ -5,17 +5,46 @@ supportsBinary=false compilerType=perl versionFlag=-v -group.perl.compilers=perl589:perl5385:perl5421 +group.perl.compilers=perl5421:perl5403:perl5385:perl5363:perl5343:perl5321:perl5303:perl5283:perl5263:perl5244:perl5224:perl5203:perl5184:perl5163:perl5144:perl5101:perl589 group.perl.isSemVer=true -compiler.perl589.exe=/opt/compiler-explorer/perl-5.8.9/bin/perl +group.perl.baseName=Perl +group.perl.groupName=Perl +group.perl.compilerType=perl + compiler.perl589.semver=5.8.9 -compiler.perl589.name=Perl 5.8.9 -compiler.perl5385.exe=/opt/compiler-explorer/perl-5.38.5/bin/perl +compiler.perl589.exe=/opt/compiler-explorer/perl-5.8.9/bin/perl +compiler.perl5101.semver=5.10.1 +compiler.perl5101.exe=/opt/compiler-explorer/perl-5.10.1/bin/perl +compiler.perl5144.semver=5.14.4 +compiler.perl5144.exe=/opt/compiler-explorer/perl-5.14.4/bin/perl +compiler.perl5163.semver=5.16.3 +compiler.perl5163.exe=/opt/compiler-explorer/perl-5.16.3/bin/perl +compiler.perl5184.semver=5.18.4 +compiler.perl5184.exe=/opt/compiler-explorer/perl-5.18.4/bin/perl +compiler.perl5203.semver=5.20.3 +compiler.perl5203.exe=/opt/compiler-explorer/perl-5.20.3/bin/perl +compiler.perl5224.semver=5.22.4 +compiler.perl5224.exe=/opt/compiler-explorer/perl-5.22.4/bin/perl +compiler.perl5244.semver=5.24.4 +compiler.perl5244.exe=/opt/compiler-explorer/perl-5.24.4/bin/perl +compiler.perl5263.semver=5.26.3 +compiler.perl5263.exe=/opt/compiler-explorer/perl-5.26.3/bin/perl +compiler.perl5283.semver=5.28.3 +compiler.perl5283.exe=/opt/compiler-explorer/perl-5.28.3/bin/perl +compiler.perl5303.semver=5.30.3 +compiler.perl5303.exe=/opt/compiler-explorer/perl-5.30.3/bin/perl +compiler.perl5321.semver=5.32.1 +compiler.perl5321.exe=/opt/compiler-explorer/perl-5.32.1/bin/perl +compiler.perl5343.semver=5.34.3 +compiler.perl5343.exe=/opt/compiler-explorer/perl-5.34.3/bin/perl +compiler.perl5363.semver=5.36.3 +compiler.perl5363.exe=/opt/compiler-explorer/perl-5.36.3/bin/perl compiler.perl5385.semver=5.38.5 -compiler.perl5385.name=Perl 5.38.5 -compiler.perl5421.exe=/opt/compiler-explorer/perl-5.42.1/bin/perl +compiler.perl5385.exe=/opt/compiler-explorer/perl-5.38.5/bin/perl +compiler.perl5403.semver=5.40.3 +compiler.perl5403.exe=/opt/compiler-explorer/perl-5.40.3/bin/perl compiler.perl5421.semver=5.42.1 -compiler.perl5421.name=Perl 5.42.1 +compiler.perl5421.exe=/opt/compiler-explorer/perl-5.42.1/bin/perl interpreted=true supportsExecute=true From 6171cec21f2c4287cc481b4f85f17f4ff866fb9d Mon Sep 17 00:00:00 2001 From: Partouf Date: Fri, 3 Apr 2026 22:31:09 +0200 Subject: [PATCH 03/51] add new qt --- etc/config/c++.amazonwin.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/etc/config/c++.amazonwin.properties b/etc/config/c++.amazonwin.properties index 9260c9367..eb9e69ed2 100644 --- a/etc/config/c++.amazonwin.properties +++ b/etc/config/c++.amazonwin.properties @@ -1554,7 +1554,7 @@ libs.pugixml.versions.1114.version=1.11.4 libs.qt.name=Qt libs.qt.url=https://www.qt.io libs.qt.packagedheaders=true -libs.qt.versions=642:652:660:670:680:690:6100 +libs.qt.versions=642:652:660:670:680:690:6100:6110 libs.qt.liblink=Qt6Cored libs.qt.versions.642.version=6.4.2 libs.qt.versions.652.version=6.5.2 @@ -1563,6 +1563,7 @@ libs.qt.versions.670.version=6.7.0 libs.qt.versions.680.version=6.8.0 libs.qt.versions.690.version=6.9.0 libs.qt.versions.6100.version=6.10.0 +libs.qt.versions.6110.version=6.11.0 libs.raberu.name=Raberu libs.raberu.url=https://github.com/jfalcou/raberu From fc188ada84aef9e61948e946a1b33a1c09b55bd1 Mon Sep 17 00:00:00 2001 From: Tony Cook Date: Sun, 5 Apr 2026 00:46:55 +1100 Subject: [PATCH 04/51] Perl 5.42.2 released (#8604) Requires https://github.com/compiler-explorer/infra/pull/2047 Co-authored-by: Matt Godbolt --- etc/config/c++.amazon.properties | 17 +++++++++-------- etc/config/c.amazon.properties | 17 +++++++++-------- etc/config/perl.amazon.properties | 4 +++- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index 0be3ea9a2..d84463ea8 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -6248,23 +6248,24 @@ libs.pegtl.versions.280.version=2.8.0 libs.pegtl.versions.280.path=/opt/compiler-explorer/libs/PEGTL/2.8.0/include libs.perl.name=Perl +libs.perl.description=Embedding or extending perl libs.perl.url=https://www.perl.org/ -libs.perl.versions=589:5385:5421 +libs.perl.versions=589:5385:5422 libs.perl.versions.589.version=5.8.9 libs.perl.versions.589.path=/opt/compiler-explorer/perl-5.8.9/lib/5.8.9/x86_64-linux-thread-multi/CORE -libs.perl.versions.589.options= -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +libs.perl.versions.589.options=-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 libs.perl.versions.589.libpath=/opt/compiler-explorer/perl-5.8.9/lib/5.8.9/x86_64-linux-thread-multi/CORE libs.perl.versions.589.liblink=perl-5.8.9 libs.perl.versions.5385.version=5.38.5 libs.perl.versions.5385.path=/opt/compiler-explorer/perl-5.38.5/lib/5.38.5/x86_64-linux-thread-multi/CORE -libs.perl.versions.5385.options= -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +libs.perl.versions.5385.options=-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 libs.perl.versions.5385.libpath=/opt/compiler-explorer/perl-5.38.5/lib/5.38.5/x86_64-linux-thread-multi/CORE libs.perl.versions.5385.liblink=perl-5.38.5 -libs.perl.versions.5421.version=5.42.1 -libs.perl.versions.5421.path=/opt/compiler-explorer/perl-5.42.1/lib/5.42.1/x86_64-linux-thread-multi/CORE -libs.perl.versions.5421.options= -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -libs.perl.versions.5421.libpath=/opt/compiler-explorer/perl-5.42.1/lib/5.42.1/x86_64-linux-thread-multi/CORE -libs.perl.versions.5421.liblink=perl-5.42.1 +libs.perl.versions.5422.version=5.42.2 +libs.perl.versions.5422.path=/opt/compiler-explorer/perl-5.42.2/lib/5.42.2/x86_64-linux-thread-multi/CORE +libs.perl.versions.5422.options=-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +libs.perl.versions.5422.libpath=/opt/compiler-explorer/perl-5.42.2/lib/5.42.2/x86_64-linux-thread-multi/CORE +libs.perl.versions.5422.liblink=perl-5.42.2 libs.pipes.name=Pipes libs.pipes.versions=trunk diff --git a/etc/config/c.amazon.properties b/etc/config/c.amazon.properties index c89603c1d..a0a6398a5 100644 --- a/etc/config/c.amazon.properties +++ b/etc/config/c.amazon.properties @@ -4437,23 +4437,24 @@ libs.openssl.versions.111g.path=/opt/compiler-explorer/libs/openssl/openssl_1_1_ libs.openssl.versions.111g.libpath=/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86_64/opt/lib:/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86/opt/lib libs.perl.name=Perl +libs.perl.description=Embedding or extending perl libs.perl.url=https://www.perl.org/ -libs.perl.versions=589:5385:5421 +libs.perl.versions=589:5385:5422 libs.perl.versions.589.version=5.8.9 libs.perl.versions.589.path=/opt/compiler-explorer/perl-5.8.9/lib/5.8.9/x86_64-linux-thread-multi/CORE -libs.perl.versions.589.options= -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +libs.perl.versions.589.options=-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 libs.perl.versions.589.libpath=/opt/compiler-explorer/perl-5.8.9/lib/5.8.9/x86_64-linux-thread-multi/CORE libs.perl.versions.589.liblink=perl-5.8.9 libs.perl.versions.5385.version=5.38.5 libs.perl.versions.5385.path=/opt/compiler-explorer/perl-5.38.5/lib/5.38.5/x86_64-linux-thread-multi/CORE -libs.perl.versions.5385.options= -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +libs.perl.versions.5385.options=-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 libs.perl.versions.5385.libpath=/opt/compiler-explorer/perl-5.38.5/lib/5.38.5/x86_64-linux-thread-multi/CORE libs.perl.versions.5385.liblink=perl-5.38.5 -libs.perl.versions.5421.version=5.42.1 -libs.perl.versions.5421.path=/opt/compiler-explorer/perl-5.42.1/lib/5.42.1/x86_64-linux-thread-multi/CORE -libs.perl.versions.5421.options= -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -libs.perl.versions.5421.libpath=/opt/compiler-explorer/perl-5.42.1/lib/5.42.1/x86_64-linux-thread-multi/CORE -libs.perl.versions.5421.liblink=perl-5.42.1 +libs.perl.versions.5422.version=5.42.2 +libs.perl.versions.5422.path=/opt/compiler-explorer/perl-5.42.2/lib/5.42.2/x86_64-linux-thread-multi/CORE +libs.perl.versions.5422.options=-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +libs.perl.versions.5422.libpath=/opt/compiler-explorer/perl-5.42.2/lib/5.42.2/x86_64-linux-thread-multi/CORE +libs.perl.versions.5422.liblink=perl-5.42.2 libs.ppdt.name=PPDT libs.ppdt.description=Preprocessor date and time parsing diff --git a/etc/config/perl.amazon.properties b/etc/config/perl.amazon.properties index 507812736..44d73b8cb 100644 --- a/etc/config/perl.amazon.properties +++ b/etc/config/perl.amazon.properties @@ -5,7 +5,7 @@ supportsBinary=false compilerType=perl versionFlag=-v -group.perl.compilers=perl5421:perl5403:perl5385:perl5363:perl5343:perl5321:perl5303:perl5283:perl5263:perl5244:perl5224:perl5203:perl5184:perl5163:perl5144:perl5101:perl589 +group.perl.compilers=perl5422:perl5421:perl5403:perl5385:perl5363:perl5343:perl5321:perl5303:perl5283:perl5263:perl5244:perl5224:perl5203:perl5184:perl5163:perl5144:perl5101:perl589 group.perl.isSemVer=true group.perl.baseName=Perl group.perl.groupName=Perl @@ -45,6 +45,8 @@ compiler.perl5403.semver=5.40.3 compiler.perl5403.exe=/opt/compiler-explorer/perl-5.40.3/bin/perl compiler.perl5421.semver=5.42.1 compiler.perl5421.exe=/opt/compiler-explorer/perl-5.42.1/bin/perl +compiler.perl5422.semver=5.42.2 +compiler.perl5422.exe=/opt/compiler-explorer/perl-5.42.2/bin/perl interpreted=true supportsExecute=true From 3e6eddff2e208527ec4668abb6dfa963420e5dec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 06:22:12 -0500 Subject: [PATCH 05/51] Bump vite from 8.0.3 to 8.0.5 (#8611) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.0.3 to 8.0.5.
Release notes

Sourced from vite's releases.

v8.0.5

Please refer to CHANGELOG.md for details.

v8.0.4

Please refer to CHANGELOG.md for details.

Changelog

Sourced from vite's changelog.

8.0.5 (2026-04-06)

Bug Fixes

  • apply server.fs check to env transport (#22159) (f02d9fd)
  • avoid path traversal with optimize deps sourcemap handler (#22161) (79f002f)
  • check server.fs after stripping query as well (#22160) (a9a3df2)
  • disallow referencing files outside the package from sourcemap (#22158) (f05f501)

8.0.4 (2026-04-06)

Features

  • allow esbuild 0.28 as peer deps (#22155) (b0da973)
  • hmr: truncate list of files on hmr update (#21535) (d00e806)
  • optimizer: log when dependency scanning or bundling takes over 1s (#21797) (f61a1ab)

Bug Fixes

  • hasBothRollupOptionsAndRolldownOptions should return false for proxy case (#22043) (99897d2)
  • add types for vite/modulepreload-polyfill (#22126) (17330d2)
  • deps: update all non-major dependencies (#22073) (6daa10f)
  • deps: update all non-major dependencies (#22143) (22b0166)
  • resolve: resolve tsconfig paths starting with # (#22038) (3460fc5)
  • ssr: use browser platform for webworker SSR builds (fix #21969) (#21963) (364c227)

Documentation

Miscellaneous Chores

Code Refactoring

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=8.0.3&new-version=8.0.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/compiler-explorer/compiler-explorer/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07869159a..ac0e9e04a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16441,9 +16441,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz", - "integrity": "sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.5.tgz", + "integrity": "sha512-nmu43Qvq9UopTRfMx2jOYW5l16pb3iDC1JH6yMuPkpVbzK0k+L7dfsEDH4jRgYFmsg0sTAqkojoZgzLMlwHsCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -16468,7 +16468,7 @@ "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.1.0", - "esbuild": "^0.27.0", + "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", From 826c867fdedb026d8516a433c3b10f1b67dbbea6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 06:41:53 -0500 Subject: [PATCH 06/51] [bot] Update browsers list (#8603) Automatic run of `npm run-update-browerslist` which needs to be done periodically to keep in-date. See [here](https://github.com/browserslist/browserslist#browsers-data-updating) for more details. Co-authored-by: Compiler Explorer Bot --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index ac0e9e04a..e742a4e0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6884,9 +6884,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.11", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.11.tgz", - "integrity": "sha512-DAKrHphkJyiGuau/cFieRYhcTFeK/lBuD++C7cZ6KZHbMhBrisoi+EvhQ5RZrIfV5qwsW8kgQ07JIC+MDJRAhg==", + "version": "2.10.13", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.13.tgz", + "integrity": "sha512-BL2sTuHOdy0YT1lYieUxTw/QMtPBC3pmlJC6xk8BBYVv6vcw3SGdKemQ+Xsx9ik2F/lYDO9tqsFQH1r9PFuHKw==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -7279,9 +7279,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001781", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", - "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", + "version": "1.0.30001782", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001782.tgz", + "integrity": "sha512-dZcaJLJeDMh4rELYFw1tvSn1bhZWYFOt468FcbHHxx/Z/dFidd1I6ciyFdi3iwfQCyOjqo9upF6lGQYtMiJWxw==", "funding": [ { "type": "opencollective", From 269753955fc5b703593613fec9aa79fea8a0b3e4 Mon Sep 17 00:00:00 2001 From: Hayden Gray <35206453+A1029384756@users.noreply.github.com> Date: Tue, 7 Apr 2026 07:42:27 -0400 Subject: [PATCH 07/51] [odin] add odin dev-2026-04 (#8605) --- etc/config/odin.amazon.properties | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/etc/config/odin.amazon.properties b/etc/config/odin.amazon.properties index 943b02e35..488a3ac5b 100644 --- a/etc/config/odin.amazon.properties +++ b/etc/config/odin.amazon.properties @@ -1,13 +1,13 @@ compilers=&odin compilerType=odin -defaultCompiler=odin202603 +defaultCompiler=odin202604 supportsBinary=true supportsExecute=true objdumper=/opt/compiler-explorer/gcc-14.2.0/bin/objdump clangPath=/opt/compiler-explorer/clang-19.1.0/bin/clang -group.odin.compilers=odin202411:odin202501:odin202512a:odin202601:odin202602:odin202603 +group.odin.compilers=odin202411:odin202501:odin202512a:odin202601:odin202602:odin202603:odin202604 group.odin.isSemVer=false group.odin.baseName=odin @@ -28,3 +28,6 @@ compiler.odin202602.name=Odin (2026-02) compiler.odin202603.exe=/opt/compiler-explorer/odin-dev-2026-03/odin compiler.odin202603.name=Odin (2026-03) + +compiler.odin202604.exe=/opt/compiler-explorer/odin-dev-2026-04/odin +compiler.odin202604.name=Odin (2026-04) From c358d9922313a924b6b379f4212d2e3375e562d7 Mon Sep 17 00:00:00 2001 From: narpfel Date: Tue, 7 Apr 2026 13:43:03 +0200 Subject: [PATCH 08/51] Add NASM 3.00 and 3.01 (#8610) Infra PR: https://github.com/compiler-explorer/infra/pull/2052 Resolves #8609. --- etc/config/assembly.amazon.properties | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/etc/config/assembly.amazon.properties b/etc/config/assembly.amazon.properties index ccbb85e4b..5fe75e55c 100644 --- a/etc/config/assembly.amazon.properties +++ b/etc/config/assembly.amazon.properties @@ -4,9 +4,9 @@ objdumper=/opt/compiler-explorer/gcc-12.1.0/bin/objdump supportsBinary=true supportsExecute=true demangler= -defaultCompiler=nasm21601 +defaultCompiler=nasm301 -group.nasm.compilers=nasm21202:nasm21302:nasm21303:nasm21402:nasm21601 +group.nasm.compilers=nasm21202:nasm21302:nasm21303:nasm21402:nasm21601:nasm300:nasm301 group.nasm.versionFlag=-v group.nasm.options= group.nasm.isSemVer=true @@ -23,6 +23,10 @@ compiler.nasm21402.semver=2.14.02 compiler.nasm21402.exe=/opt/compiler-explorer/nasm-2.14.02/bin/nasm compiler.nasm21601.semver=2.16.01 compiler.nasm21601.exe=/opt/compiler-explorer/nasm-2.16.01/bin/nasm +compiler.nasm300.semver=3.00 +compiler.nasm300.exe=/opt/compiler-explorer/nasm-3.00/bin/nasm +compiler.nasm301.semver=3.01 +compiler.nasm301.exe=/opt/compiler-explorer/nasm-3.01/bin/nasm group.gnuas.compilers=gnuas72:gnuas73:gnuas92:gnuas103:gnuas112:gnuas121:gnuas142:gnuas151:gnuassnapshot From ca3ced7fade60125358cf1884759fe6871886ec9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 06:43:55 -0500 Subject: [PATCH 09/51] Bump lodash from 4.17.23 to 4.18.1 (#8612) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
Release notes

Sourced from lodash's releases.

4.18.1

Bugs

Fixes a ReferenceError issue in lodash lodash-es lodash-amd and lodash.template when using the template and fromPairs functions from the modular builds. See lodash/lodash#6167

These defects were related to how lodash distributions are built from the main branch using https://github.com/lodash-archive/lodash-cli. When internal dependencies change inside lodash functions, equivalent updates need to be made to a mapping in the lodash-cli. (hey, it was ahead of its time once upon a time!). We know this, but we missed it in the last release. It's the kind of thing that passes in CI, but fails bc the build is not the same thing you tested.

There is no diff on main for this, but you can see the diffs for each of the npm packages on their respective branches:

4.18.0

v4.18.0

Full Changelog: https://github.com/lodash/lodash/compare/4.17.23...4.18.0

Security

_.unset / _.omit: Fixed prototype pollution via constructor/prototype path traversal (GHSA-f23m-r3pf-42rh, fe8d32e). Previously, array-wrapped path segments and primitive roots could bypass the existing guards, allowing deletion of properties from built-in prototypes. Now constructor and prototype are blocked unconditionally as non-terminal path keys, matching baseSet. Calls that previously returned true and deleted the property now return false and leave the target untouched.

_.template: Fixed code injection via imports keys (GHSA-r5fr-rjxr-66jc, CVE-2026-4800, 879aaa9). Fixes an incomplete patch for CVE-2021-23337. The variable option was validated against reForbiddenIdentifierChars but importsKeys was left unguarded, allowing code injection via the same Function() constructor sink. imports keys containing forbidden identifier characters now throw "Invalid imports option passed into _.template".

Docs

  • Add security notice for _.template in threat model and API docs (#6099)
  • Document lower > upper behavior in _.random (#6115)
  • Fix quotes in _.compact jsdoc (#6090)

lodash.* modular packages

Diff

We have also regenerated and published a select number of the lodash.* modular packages.

These modular packages had fallen out of sync significantly from the minor/patch updates to lodash. Specifically, we have brought the following packages up to parity w/ the latest lodash release because they have had CVEs on them in the past:

Commits
  • cb0b9b9 release(patch): bump main to 4.18.1 (#6177)
  • 75535f5 chore: prune stale advisory refs (#6170)
  • 62e91bc docs: remove n_ Node.js < 6 REPL note from README (#6165)
  • 59be2de release(minor): bump to 4.18.0 (#6161)
  • af63457 fix: broken tests for _.template 879aaa9
  • 1073a76 fix: linting issues
  • 879aaa9 fix: validate imports keys in _.template
  • fe8d32e fix: block prototype pollution in baseUnset via constructor/prototype traversal
  • 18ba0a3 refactor(fromPairs): use baseAssignValue for consistent assignment (#6153)
  • b819080 ci: add dist sync validation workflow (#6137)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lodash&package-manager=npm_and_yarn&previous-version=4.17.23&new-version=4.18.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/compiler-explorer/compiler-explorer/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e742a4e0e..34980f23b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11820,9 +11820,9 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "dev": true, "license": "MIT" }, From e2ee3f42fe7bf1041fb236355d22a9d6fc87a2c4 Mon Sep 17 00:00:00 2001 From: RunjiaChen <142142406+RunjiaChen@users.noreply.github.com> Date: Tue, 7 Apr 2026 13:56:28 +0200 Subject: [PATCH 10/51] Add clang-tidy as a default tool for CUDA C++ (#8597) Updates etc/config/cuda.defaults.properties to include clangtidydefault in the tools list. This change officially enables the clang-tidy tool within the UI dropdown for developers compiling CUDA code, mirroring its availability in C and C++. --- etc/config/cuda.defaults.properties | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/etc/config/cuda.defaults.properties b/etc/config/cuda.defaults.properties index 4a6e89fa4..e624538b6 100644 --- a/etc/config/cuda.defaults.properties +++ b/etc/config/cuda.defaults.properties @@ -42,3 +42,11 @@ compiler.hiptrunkdef.alias=hiptrunk #group.nvcc121.instructionSet=ptx #instructionSet=ptx #supportsAsmDocs=true + +tools=clangtidydefault + +tools.clangtidydefault.exe=/usr/bin/clang-tidy +tools.clangtidydefault.name=clang-tidy (default) +tools.clangtidydefault.type=independent +tools.clangtidydefault.class=clang-tidy-tool +tools.clangtidydefault.stdinHint=disabled From b1be01ebfff85d2a84df3c8fbb58c1eaa793784c Mon Sep 17 00:00:00 2001 From: narpfel Date: Wed, 8 Apr 2026 11:00:32 +0200 Subject: [PATCH 11/51] [opt-pipeline]: Reorder error conditions (#8615) --- lib/base-compiler.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/base-compiler.ts b/lib/base-compiler.ts index b9bd53bc4..d71954aae 100644 --- a/lib/base-compiler.ts +++ b/lib/base-compiler.ts @@ -1554,9 +1554,9 @@ export class BaseCompiler { const output = await this.runCompiler(this.compiler.exe, newOptions, this.filename(inputFilename), execOptions); const compileEnd = performance.now(); - if (output.code) { + if (output.truncated) { return { - error: `Invocation failed: ${utils.resultLinesToText(output.stderr)}${utils.resultLinesToText(output.stdout)}}`, + error: 'Exceeded max output limit', results: {}, compileTime: output.execTime || compileEnd - compileStart, }; @@ -1570,9 +1570,9 @@ export class BaseCompiler { }; } - if (output.truncated) { + if (output.code) { return { - error: 'Exceeded max output limit', + error: `Invocation failed: ${utils.resultLinesToText(output.stderr)}${utils.resultLinesToText(output.stdout)}}`, results: {}, compileTime: output.execTime || compileEnd - compileStart, }; From f38834bb59134d3ed79120b8c4e00c41e9fe70a8 Mon Sep 17 00:00:00 2001 From: Patrick Quist Date: Wed, 8 Apr 2026 11:01:31 +0200 Subject: [PATCH 12/51] Add CE Library Wizard documentation (#8581) --- docs/AddingALibrary.md | 55 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/docs/AddingALibrary.md b/docs/AddingALibrary.md index 67f4d3e59..9febe7f47 100644 --- a/docs/AddingALibrary.md +++ b/docs/AddingALibrary.md @@ -6,6 +6,61 @@ and then how to submit PRs to get it into the main CE site. Note that most libraries are Header-only. This is the easiest form of library to support. If the library needs to be built, there are some caveats, best practices and good to knows. Consult the bottom of this page for details. +## CE Library Wizard (recommended) + +The easiest way to add a library to Compiler Explorer is to use the +[CE Library Wizard](https://github.com/compiler-explorer/ce-library-wizard), a CLI tool that automates the entire +process — including forking repos, updating configuration files, and creating pull requests. It supports C, C++, Rust, +Fortran, and Go. + +*Note: the wizard currently only runs on Linux and requires Git, the +[GitHub CLI](https://cli.github.com/), and CMake (for libraries that use CMake).* + +```bash +git clone https://github.com/compiler-explorer/ce-library-wizard.git +cd ce-library-wizard +./run.sh +``` + +This launches an interactive mode that guides you through the process. You can also use command-line flags directly: + +```bash +# C++ library (auto-detects type) +./run.sh --lang=c++ --lib=https://github.com/fmtlib/fmt --ver=10.2.1 + +# Header-only C++ library +./run.sh --lang=c++ --lib=https://github.com/bobluppes/graaf --ver=v1.1.1 --type=header-only + +# Rust crate +./run.sh --lang=rust --lib=serde --ver=1.0.195 + +# C library +./run.sh --lang=c --lib=https://github.com/libuv/libuv --ver=1.46.0 + +# Fortran library (requires fpm.toml) +./run.sh --lang=fortran --lib=https://github.com/jacobwilliams/json-fortran --ver=8.5.0 + +# Go module +./run.sh --lang=go --lib=github.com/google/uuid --ver=v1.6.0 + +# Multiple versions at once +./run.sh --lang=c++ --lib=https://github.com/nlohmann/json --ver=3.11.1,3.11.2,3.11.3 + +# Bulk-add top 100 Rust crates +./run.sh --top-rust-crates +``` + +Useful options include `--verify` to preview changes, `--dry-run` to skip committing, `--install-test` to validate +installation (C/C++), `--build-test=yes` to test building, and `--type=TYPE` to skip auto-detection (C/C++). + +For full documentation, see the +[CE Library Wizard repository](https://github.com/compiler-explorer/ce-library-wizard). + +## Manual configuration + +The rest of this document describes how to add libraries manually, which is useful for understanding how the +configuration works or for cases the wizard doesn't cover. + If you're specifically looking for adding a Rust crate to CE, go here https://github.com/compiler-explorer/infra/blob/main/docs/adding_rust_crates.md From 2fba07e77d1bb2e857dbdb976ae4717c32c3cd8c Mon Sep 17 00:00:00 2001 From: Matt Godbolt Date: Wed, 8 Apr 2026 20:18:43 -0500 Subject: [PATCH 13/51] Latest sponsors! --- etc/config/sponsors.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/config/sponsors.yaml b/etc/config/sponsors.yaml index d81178c47..968696608 100644 --- a/etc/config/sponsors.yaml +++ b/etc/config/sponsors.yaml @@ -542,3 +542,5 @@ levels: - Christopher Oelsner - Luis Felipe Gomes - Brian Tabone + - Alex Besogonov + - fourish tolod From 9074d09d69263f6dbfbb1c86ad1ce445e5333cda Mon Sep 17 00:00:00 2001 From: kevinjeon-g <136382173+kevinjeon-g@users.noreply.github.com> Date: Thu, 9 Apr 2026 10:25:38 -0400 Subject: [PATCH 14/51] Keep InlineInfo lines for dex2oat (#8614) We currently retain only StackMap, but InlineInfo is also useful. --- lib/compilers/dex2oat.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/compilers/dex2oat.ts b/lib/compilers/dex2oat.ts index 63ccce6ea..435100f00 100644 --- a/lib/compilers/dex2oat.ts +++ b/lib/compilers/dex2oat.ts @@ -78,7 +78,7 @@ export class Dex2OatCompiler extends BaseCompiler { methodRegex: RegExp; methodSizeRegex: RegExp; insnRegex: RegExp; - stackMapRegex: RegExp; + extraInfoRegex: RegExp; offsetRegex: RegExp; insnSetArgRegex: RegExp; @@ -123,7 +123,7 @@ export class Dex2OatCompiler extends BaseCompiler { this.methodSizeRegex = /^\s+CODE:\s+\(code_offset=(0x\w+)\s+size=(\d+).*$/; this.insnRegex = /^\s+(0x\w+):\s+\w+\s+(.*)$/; - this.stackMapRegex = /^\s+(StackMap\[\d+\])\s+\((.*)\).*$/; + this.extraInfoRegex = /^\s+((StackMap|InlineInfo)\[\d+\])\s+\((.*)\).*$/; // Similar to insnRegex above, but this applies after oatdump output has // been cleaned up. @@ -756,9 +756,9 @@ export class Dex2OatCompiler extends BaseCompiler { // instructions are stored in classes.cfg's disassembly step. absoluteToRelativeOffsets[Number.parseInt(match![1], 16)] = Number.parseInt(match![1], 16) - currentCodeOffset; - } else if (inCode && this.stackMapRegex.test(l)) { - match = l.match(this.stackMapRegex); - methodsToInstructions[currentMethod].push(' ' + match![1] + ' ' + match![2]); + } else if (inCode && this.extraInfoRegex.test(l)) { + match = l.match(this.extraInfoRegex); + methodsToInstructions[currentMethod].push(' ' + match![2] + ' ' + match![3]); } } From d81e69dc87a9dd7a4c1f9a90abcdb20d1166352c Mon Sep 17 00:00:00 2001 From: narpfel Date: Wed, 15 Apr 2026 03:42:40 +0200 Subject: [PATCH 15/51] Add Cranelift backend option for Rust (#8624) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves #5716. Cranelift currently does not support `--emit=asm`, so this PR mimics the behaviour of the wasmtime WASM compiler (which also uses Cranelift as its backend): It unconditionally checks “Compile to binary object”. (See also https://github.com/compiler-explorer/compiler-explorer/issues/5716#issuecomment-2671167020.) --- etc/config/rust.amazon.properties | 15 ++++++++- lib/compilers/_all.ts | 1 + lib/compilers/rustc-cg-cranelift.ts | 50 +++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 lib/compilers/rustc-cg-cranelift.ts diff --git a/etc/config/rust.amazon.properties b/etc/config/rust.amazon.properties index d22329cc1..039af7ca0 100644 --- a/etc/config/rust.amazon.properties +++ b/etc/config/rust.amazon.properties @@ -1,4 +1,4 @@ -compilers=&rust:&rustgcc:&mrustc:&rustccggcc +compilers=&rust:&rustgcc:&mrustc:&rustccggcc:&rustccgcranelift objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump linker=/opt/compiler-explorer/gcc-15.2.0/bin/gcc aarch64linker=/opt/compiler-explorer/arm64/gcc-14.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc @@ -313,6 +313,19 @@ compiler.rustbpfgtrunk.demangler=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknow compiler.rustbpfgtrunk.semver=(trunk) compiler.rustbpfgtrunk.isNightly=true +# Rustc CG Cranelift (Cranelift backend for rustc compiler) +group.rustccgcranelift.compilers=rustccgcranelift-nightly +group.rustccgcranelift.compilerType=rustc-cg-cranelift +group.rustccgcranelift.supportsBinary=true +group.rustccgcranelift.supportsBinaryObject=true +group.rustccgcranelift.options=-Zcodegen-backend=cranelift +group.rustccgcranelift.unwiseOptions=-Ctarget-cpu=native|target-cpu=native +compiler.rustccgcranelift-nightly.exe=/opt/compiler-explorer/rust-nightly/bin/rustc +compiler.rustccgcranelift-nightly.name=rustc-cg-cranelift (nightly) +compiler.rustccgcranelift-nightly.semver=nightly +compiler.rustccgcranelift-nightly.isNightly=true +compiler.rustccgcranelift-nightly.libPath=${exePath}/../lib/rustlib/x86_64-unknown-linux-gnu/lib + # Rustc CG GCC (GCC backend for rustc compiler) group.rustccggcc.compilers=rustccggcc-master group.rustccggcc.compilerType=rustc-cg-gcc diff --git a/lib/compilers/_all.ts b/lib/compilers/_all.ts index c92037196..6878a97b7 100644 --- a/lib/compilers/_all.ts +++ b/lib/compilers/_all.ts @@ -143,6 +143,7 @@ export {ResolcCompiler} from './resolc.js'; export {RGACompiler} from './rga.js'; export {RubyCompiler} from './ruby.js'; export {RustCompiler} from './rust.js'; +export {RustcCgCraneliftCompiler} from './rustc-cg-cranelift.js'; export {RustcCgGCCCompiler} from './rustc-cg-gcc.js'; export {SailCompiler} from './sail.js'; export {ScalaCompiler} from './scala.js'; diff --git a/lib/compilers/rustc-cg-cranelift.ts b/lib/compilers/rustc-cg-cranelift.ts new file mode 100644 index 000000000..0dff54ddb --- /dev/null +++ b/lib/compilers/rustc-cg-cranelift.ts @@ -0,0 +1,50 @@ +// Copyright (c) 2026, Compiler Explorer Authors +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js'; +import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js'; +import {CompilationEnvironment} from '../compilation-env.js'; +import {RustCompiler} from './rust.js'; + +export class RustcCgCraneliftCompiler extends RustCompiler { + static override get key() { + return 'rustc-cg-cranelift'; + } + + constructor(info: PreliminaryCompilerInfo, env: CompilationEnvironment) { + super(info, env); + this.compiler.supportsIrView = false; + this.compiler.supportsOptOutput = false; + this.compiler.optPipeline = undefined; + } + + override optionsForFilter( + filters: ParseFiltersAndOutputOptions, + outputFilename: string, + userOptions?: string[], + ): string[] { + filters.binaryObject = true; + return super.optionsForFilter(filters, outputFilename, userOptions); + } +} From 9e49712dc6a90e98c0a701452ac22a0ec2a5f81f Mon Sep 17 00:00:00 2001 From: Jamie <2119834+jamieQ@users.noreply.github.com> Date: Tue, 14 Apr 2026 20:43:43 -0500 Subject: [PATCH 16/51] [swift]: add 6.3 and 6.2.4 compilers (#8598) Adds support for the 6.3 and 6.2.4 swift compilers. Depends on: https://github.com/compiler-explorer/infra/pull/2045, https://github.com/compiler-explorer/infra/pull/2054 --- etc/config/swift.amazon.properties | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/etc/config/swift.amazon.properties b/etc/config/swift.amazon.properties index dd0836226..e2cb87e59 100644 --- a/etc/config/swift.amazon.properties +++ b/etc/config/swift.amazon.properties @@ -1,6 +1,6 @@ compilers=&swift:&arm-swift -demangler=/opt/compiler-explorer/swift-6.2/usr/bin/swift-demangle -defaultCompiler=swift62 +demangler=/opt/compiler-explorer/swift-6.3/usr/bin/swift-demangle +defaultCompiler=swift63 objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump ################################# @@ -8,13 +8,13 @@ objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump ################################# # swift (x86_64) -group.swift.compilers=swift62:swift61:swift603:swift510:swift59:swift58:swift57:swift56:swift55:swift54:swift53:swift52:swift51:swift50:swift42:swift412:swift411:swift41:swift403:swift402:swift311:swiftdevsnapshot:swiftnightly +group.swift.compilers=swift63:swift624:swift62:swift61:swift603:swift510:swift59:swift58:swift57:swift56:swift55:swift54:swift53:swift52:swift51:swift50:swift42:swift412:swift411:swift41:swift403:swift402:swift311:swiftdevsnapshot:swiftnightly group.swift.isSemVer=true group.swift.groupName=swift (x86-64) group.swift.baseName=x86-64 swiftc # arm-swift (aarch64) -group.arm-swift.compilers=arm-swift62:arm-swift61:arm-swift603 +group.arm-swift.compilers=arm-swift63:arm-swift624:arm-swift62:arm-swift61:arm-swift603 group.arm-swift.isSemVer=true group.arm-swift.groupName=swift (aarch64) group.arm-swift.baseName=aarch64 swiftc @@ -38,6 +38,12 @@ compiler.swiftdevsnapshot.semver=devsnapshot # 6.x (x86) +compiler.swift63.exe=/opt/compiler-explorer/swift-6.3/usr/bin/swiftc +compiler.swift63.semver=6.3 + +compiler.swift624.exe=/opt/compiler-explorer/swift-6.2.4/usr/bin/swiftc +compiler.swift624.semver=6.2.4 + compiler.swift62.exe=/opt/compiler-explorer/swift-6.2/usr/bin/swiftc compiler.swift62.semver=6.2 @@ -49,6 +55,14 @@ compiler.swift603.semver=6.0.3 # 6.x (arm) +compiler.arm-swift63.exe=/opt/compiler-explorer/swift-6.3/usr/bin/swiftc +compiler.arm-swift63.semver=6.3 +compiler.arm-swift63.options=-target aarch64-swift-linux-musl -sdk /opt/compiler-explorer/swift-6.3-static-sdk/swift-linux-musl/musl-1.2.5.sdk/aarch64 -resource-dir /opt/compiler-explorer/swift-6.3-static-sdk/swift-linux-musl/musl-1.2.5.sdk/aarch64/usr/lib/swift_static + +compiler.arm-swift624.exe=/opt/compiler-explorer/swift-6.2.4/usr/bin/swiftc +compiler.arm-swift624.semver=6.2.4 +compiler.arm-swift624.options=-target aarch64-swift-linux-musl -sdk /opt/compiler-explorer/swift-6.2.4-static-sdk/swift-linux-musl/musl-1.2.5.sdk/aarch64 -resource-dir /opt/compiler-explorer/swift-6.2.4-static-sdk/swift-linux-musl/musl-1.2.5.sdk/aarch64/usr/lib/swift_static + compiler.arm-swift62.exe=/opt/compiler-explorer/swift-6.2/usr/bin/swiftc compiler.arm-swift62.semver=6.2 compiler.arm-swift62.options=-target aarch64-swift-linux-musl -sdk /opt/compiler-explorer/swift-6.2-static-sdk/swift-linux-musl/musl-1.2.5.sdk/aarch64 -resource-dir /opt/compiler-explorer/swift-6.2-static-sdk/swift-linux-musl/musl-1.2.5.sdk/aarch64/usr/lib/swift_static From 00d3cd6d785fb62ccd826619639b1b4aa7fa8ebb Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Wed, 15 Apr 2026 03:44:17 +0200 Subject: [PATCH 17/51] [Spice] Add version 0.25.1 (#8613) Infra PR: https://github.com/compiler-explorer/infra/pull/2055 --- etc/config/spice.amazon.properties | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/etc/config/spice.amazon.properties b/etc/config/spice.amazon.properties index f14da79bc..72aebbd8e 100644 --- a/etc/config/spice.amazon.properties +++ b/etc/config/spice.amazon.properties @@ -1,7 +1,7 @@ compilers=&spice -defaultCompiler=spice02500 +defaultCompiler=spice02501 -group.spice.compilers=spice01902:spice01903:spice01904:spice01905:spice01906:spice02000:spice02001:spice02002:spice02003:spice02004:spice02005:spice02006:spice02100:spice02101:spice02200:spice02201:spice02202:spice02203:spice02204:spice02205:spice02300:spice02400:spice02401:spice02402:spice02403:spice02404:spice02500 +group.spice.compilers=spice01902:spice01903:spice01904:spice01905:spice01906:spice02000:spice02001:spice02002:spice02003:spice02004:spice02005:spice02006:spice02100:spice02101:spice02200:spice02201:spice02202:spice02203:spice02204:spice02205:spice02300:spice02400:spice02401:spice02402:spice02403:spice02404:spice02500:spice02501 group.spice.demangler=/opt/compiler-explorer/gcc-15.2.0/bin/c++filt group.spice.objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump group.spice.isSemVer=true @@ -13,7 +13,7 @@ group.spice.licenseName=The MIT License group.spice.licensePreamble=Copyright (c) 2021-2026 Marc Auberer # spice needs to be able to find clang for linking -group.spice.extraPath=/opt/compiler-explorer/clang-21.1.0/bin +group.spice.extraPath=/opt/compiler-explorer/clang-22.1.0/bin compiler.spice01902.exe=/opt/compiler-explorer/spice-0.19.2/spice compiler.spice01902.semver=0.19.2 @@ -69,6 +69,8 @@ compiler.spice02404.exe=/opt/compiler-explorer/spice-0.24.4/spice compiler.spice02404.semver=0.24.4 compiler.spice02500.exe=/opt/compiler-explorer/spice-0.25.0/spice compiler.spice02500.semver=0.25.0 +compiler.spice02501.exe=/opt/compiler-explorer/spice-0.25.1/spice +compiler.spice02501.semver=0.25.1 ################################# ################################# From bbdc84a5c3d53c98431c089e4c3cc6f6a768ec6c Mon Sep 17 00:00:00 2001 From: Wyatt Childers Date: Tue, 14 Apr 2026 21:45:03 -0400 Subject: [PATCH 18/51] Add experimental consteval-only types compiler (#8616) --- etc/config/c++.amazon.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index d84463ea8..aae1dcde3 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -4701,7 +4701,7 @@ group.edg.compilerType=edg group.edg.compilerCategories=edg-cpfe group.edg.includeFlag=--sys_include= -group.edg-gnu.compilers=edg-6_5-gcc-13:edg-6_6-gcc-13:edg-6_7-gcc-14:edg-6_8-gcc-15:edg-experimental-reflection +group.edg-gnu.compilers=edg-6_5-gcc-13:edg-6_6-gcc-13:edg-6_7-gcc-14:edg-6_8-gcc-15:edg-experimental-reflection:edg-experimental-consteval-types compiler.edg-6_5-gcc-13.exe=/opt/compiler-explorer/edg-6.5-gcc-13-20231120/eccp-scripts/eccp-gcc compiler.edg-6_5-gcc-13.name=EDG 6.5 (GNU mode gcc 13) compiler.edg-6_6-gcc-13.exe=/opt/compiler-explorer/edg-6.6-gcc-13/eccp-scripts/eccp-gcc @@ -4712,6 +4712,8 @@ compiler.edg-6_8-gcc-15.exe=/opt/compiler-explorer/edg-6.8-gcc-15/eccp-scripts/e compiler.edg-6_8-gcc-15.name=EDG 6.8 (GNU mode gcc 15) compiler.edg-experimental-reflection.exe=/opt/compiler-explorer/edg-gcc-experimental-reflection/eccp-scripts/eccp-gcc compiler.edg-experimental-reflection.name=EDG (experimental reflection) +compiler.edg-experimental-consteval-types.exe=/opt/compiler-explorer/edg-gcc-experimental-consteval-types/eccp-scripts/eccp-gcc +compiler.edg-experimental-consteval-types.name=EDG (experimental consteval-only types) group.edg-default.compilers=edg-6_5-default-13:edg-6_6-default-13:edg-6_7-default-14:edg-6_8-default-15 compiler.edg-6_5-default-13.exe=/opt/compiler-explorer/edg-6.5-default-13-20231120/eccp-scripts/eccp-default From 62b25f64b120a09a7b03dbeeb4e1d501b4a9abd6 Mon Sep 17 00:00:00 2001 From: Manu Linares Date: Tue, 14 Apr 2026 22:46:17 -0300 Subject: [PATCH 19/51] Add C3 compilers up to 0.7.11 (#8619) - Add missing versions to group.c3c.compilers https://github.com/compiler-explorer/infra/pull/2061 https://github.com/compiler-explorer/infra/pull/2067 --- etc/config/c3.amazon.properties | 25 ++++++- static/modes/c3-mode.ts | 122 +++++++++++++++++++++++++++----- 2 files changed, 126 insertions(+), 21 deletions(-) diff --git a/etc/config/c3.amazon.properties b/etc/config/c3.amazon.properties index 2daf7c4c2..dcba1883d 100644 --- a/etc/config/c3.amazon.properties +++ b/etc/config/c3.amazon.properties @@ -1,10 +1,10 @@ compilers=&c3c compilerType=c3c -defaultCompiler=c3c074 +defaultCompiler=c3c0711 supportsBinary=false supportsBinaryObject=false supportsExecute=false -group.c3c.compilers=c3c04:c3c050:c3c055:c3c060:c3c061:c3c062:c3c063:c3c064:c3c065:c3c066:c3c067:c3c068:c3c070:c3c071:c3c072:c3c073:c3c074 +group.c3c.compilers=c3c04:c3c050:c3c055:c3c060:c3c061:c3c062:c3c063:c3c064:c3c065:c3c066:c3c067:c3c068:c3c070:c3c071:c3c072:c3c073:c3c074:c3c075:c3c076:c3c077:c3c078:c3c079:c3c0710:c3c0711 group.c3c.isSemVer=true group.c3c.baseName=c3 @@ -59,3 +59,24 @@ compiler.c3c073.exe=/opt/compiler-explorer/c3-0.7.3/c3c compiler.c3c074.semver=0.7.4 compiler.c3c074.exe=/opt/compiler-explorer/c3-0.7.4/c3c + +compiler.c3c075.semver=0.7.5 +compiler.c3c075.exe=/opt/compiler-explorer/c3-0.7.5/c3c + +compiler.c3c076.semver=0.7.6 +compiler.c3c076.exe=/opt/compiler-explorer/c3-0.7.6/c3c + +compiler.c3c077.semver=0.7.7 +compiler.c3c077.exe=/opt/compiler-explorer/c3-0.7.7/c3c + +compiler.c3c078.semver=0.7.8 +compiler.c3c078.exe=/opt/compiler-explorer/c3-0.7.8/c3c + +compiler.c3c079.semver=0.7.9 +compiler.c3c079.exe=/opt/compiler-explorer/c3-0.7.9/c3c + +compiler.c3c0710.semver=0.7.10 +compiler.c3c0710.exe=/opt/compiler-explorer/c3-0.7.10/c3c + +compiler.c3c0711.semver=0.7.11 +compiler.c3c0711.exe=/opt/compiler-explorer/c3-0.7.11/c3c diff --git a/static/modes/c3-mode.ts b/static/modes/c3-mode.ts index 836b7558d..0fa3de81b 100644 --- a/static/modes/c3-mode.ts +++ b/static/modes/c3-mode.ts @@ -5,49 +5,55 @@ function definition(): monaco.languages.IMonarchLanguage { defaultToken: 'invalid', keywords: [ + 'alias', 'assert', 'asm', + 'attrdef', 'bitstruct', 'break', 'case', 'catch', 'const', + 'constdef', 'continue', - 'define', 'default', 'defer', + 'distinct', 'do', 'else', 'enum', 'extern', 'false', 'fault', + 'faultdef', 'for', 'foreach', 'foreach_r', 'fn', - 'tlocal', 'if', 'import', + 'inline', + 'interface', + 'lengthof', 'macro', 'module', 'nextcase', 'null', 'private', 'return', + 'scope', 'static', 'struct', 'switch', + 'tlocal', 'true', 'try', + 'typedef', 'union', 'var', 'while', - 'def', - 'distinct', - 'inline', '$alignof', - '$append', + '$assignable', '$assert', '$case', '$concat', @@ -60,14 +66,18 @@ function definition(): monaco.languages.IMonarchLanguage { '$endforeach', '$endif', '$endswitch', + '$error', '$eval', '$evaltype', '$extnameof', '$exec', + '$feature', '$for', '$foreach', '$if', '$include', + '$is_const', + '$kindof', '$nameof', '$offsetof', '$qnameof', @@ -81,12 +91,31 @@ function definition(): monaco.languages.IMonarchLanguage { '$vaexpr', '$vasplat', '$$abs', + '$$acos', + '$$asin', + '$$atan', + '$$any_make', + '$$atomic_load', + '$$atomic_store', + '$$atomic_fetch_exchange', + '$$atomic_fetch_add', + '$$atomic_fetch_sub', + '$$atomic_fetch_and', + '$$atomic_fetch_nand', + '$$atomic_fetch_or', + '$$atomic_fetch_xor', + '$$atomic_fetch_max', + '$$atomic_fetch_min', + '$$atomic_fetch_inc_wrap', + '$$atomic_fetch_dec_wrap', '$$bitreverse', + '$$breakpoint', '$$bswap', '$$ceil', '$$compare_exchange', '$$copysign', '$$cos', + '$$cosh', '$$clz', '$$ctz', '$$add', @@ -97,18 +126,27 @@ function definition(): monaco.languages.IMonarchLanguage { '$$sub', '$$exp', '$$exp2', + '$$exp10', '$$expect', '$$expect_with_probability', + '$$fence', '$$floor', '$$fma', '$$fmuladd', '$$frameaddress', '$$fshl', '$$fshr', + '$$gather', '$$get_rounding_mode', + '$$int_to_mask', '$$log', - '$$log10', '$$log2', + '$$log10', + '$$matrix_mul', + '$$matrix_transpose', + '$$mask_to_int', + '$$masked_load', + '$$masked_store', '$$max', '$$memcpy', '$$memcpy_inline', @@ -134,22 +172,39 @@ function definition(): monaco.languages.IMonarchLanguage { '$$reduce_or', '$$reduce_xor', '$$reverse', + '$$returnaddress', '$$rint', + '$$rnd', '$$round', '$$roundeven', '$$sat_add', '$$sat_shl', '$$sat_sub', + '$$sat_mul', + '$$scatter', + '$$select', '$$set_rounding_mode', + '$$sprintf', + '$$str_find', + '$$str_hash', + '$$str_lower', + '$$str_pascalcase', + '$$str_replace', + '$$str_upper', + '$$str_snakecase', '$$swizzle', '$$swizzle2', '$$sin', + '$$sinh', '$$sqrt', - '$$stacktrace', '$$syscall', '$$sysclock', + '$$tan', + '$$tanh', '$$trap', '$$trunc', + '$$unaligned_load', + '$$unaligned_store', '$$unreachable', '$$veccomplt', '$$veccomple', @@ -161,6 +216,8 @@ function definition(): monaco.languages.IMonarchLanguage { '$$volatile_store', '$$wasm_memory_size', '$$wasm_memory_grow', + '$$wstr16', + '$$wstr32', '$$DATE', '$$FILE', '$$FILEPATH', @@ -169,18 +226,20 @@ function definition(): monaco.languages.IMonarchLanguage { '$$LINE', '$$LINE_RAW', '$$MODULE', + '$$BENCHMARK_NAMES', + '$$BENCHMARK_FNS', '$$TEST_NAMES', '$$TEST_FNS', '$$TIME', ], typeKeywords: [ - 'anyfault', 'any', 'void', 'bool', 'char', 'double', 'float16', + 'bfloat', 'bfloat16', 'float128', 'int128', @@ -200,6 +259,7 @@ function definition(): monaco.languages.IMonarchLanguage { 'typeid', 'ireg', 'ureg', + 'fault', '$vatype', '$typeof', '$typefrom', @@ -220,6 +280,8 @@ function definition(): monaco.languages.IMonarchLanguage { '%', '??', '!!', + '?:', + '???', '++', '--', '<<', @@ -238,17 +300,33 @@ function definition(): monaco.languages.IMonarchLanguage { '%=', '<<=', '>>=', + '+++=', '+++', '&&&', '|||', + '~', + '::', + '->', + '!!!', + '[<', + '>]', + '=>', ], symbols: /[=> Date: Tue, 14 Apr 2026 20:46:38 -0500 Subject: [PATCH 20/51] Bump cryptography from 46.0.6 to 46.0.7 in /etc/scripts/docenizers (#8617) Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.6 to 46.0.7.
Changelog

Sourced from cryptography's changelog.

46.0.7 - 2026-04-07


* **SECURITY ISSUE**: Fixed an issue where non-contiguous buffers could
be
  passed to APIs that accept Python buffers, which could lead to buffer
  overflow. **CVE-2026-39892**
* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL
3.5.6.

.. _v46-0-6:

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cryptography&package-manager=uv&previous-version=46.0.6&new-version=46.0.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/compiler-explorer/compiler-explorer/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- etc/scripts/docenizers/uv.lock | 88 +++++++++++++++++----------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/etc/scripts/docenizers/uv.lock b/etc/scripts/docenizers/uv.lock index d64152432..8184cecfb 100644 --- a/etc/scripts/docenizers/uv.lock +++ b/etc/scripts/docenizers/uv.lock @@ -171,55 +171,55 @@ requires-dist = [ [[package]] name = "cryptography" -version = "46.0.6" +version = "46.0.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a4/ba/04b1bd4218cbc58dc90ce967106d51582371b898690f3ae0402876cc4f34/cryptography-46.0.6.tar.gz", hash = "sha256:27550628a518c5c6c903d84f637fbecf287f6cb9ced3804838a1295dc1fd0759", size = 750542, upload-time = "2026-03-25T23:34:53.396Z" } +sdist = { url = "https://files.pythonhosted.org/packages/47/93/ac8f3d5ff04d54bc814e961a43ae5b0b146154c89c61b47bb07557679b18/cryptography-46.0.7.tar.gz", hash = "sha256:e4cfd68c5f3e0bfdad0d38e023239b96a2fe84146481852dffbcca442c245aa5", size = 750652, upload-time = "2026-04-08T01:57:54.692Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/23/9285e15e3bc57325b0a72e592921983a701efc1ee8f91c06c5f0235d86d9/cryptography-46.0.6-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:64235194bad039a10bb6d2d930ab3323baaec67e2ce36215fd0952fad0930ca8", size = 7176401, upload-time = "2026-03-25T23:33:22.096Z" }, - { url = "https://files.pythonhosted.org/packages/60/f8/e61f8f13950ab6195b31913b42d39f0f9afc7d93f76710f299b5ec286ae6/cryptography-46.0.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:26031f1e5ca62fcb9d1fcb34b2b60b390d1aacaa15dc8b895a9ed00968b97b30", size = 4275275, upload-time = "2026-03-25T23:33:23.844Z" }, - { url = "https://files.pythonhosted.org/packages/19/69/732a736d12c2631e140be2348b4ad3d226302df63ef64d30dfdb8db7ad1c/cryptography-46.0.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a693028b9cbe51b5a1136232ee8f2bc242e4e19d456ded3fa7c86e43c713b4a", size = 4425320, upload-time = "2026-03-25T23:33:25.703Z" }, - { url = "https://files.pythonhosted.org/packages/d4/12/123be7292674abf76b21ac1fc0e1af50661f0e5b8f0ec8285faac18eb99e/cryptography-46.0.6-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:67177e8a9f421aa2d3a170c3e56eca4e0128883cf52a071a7cbf53297f18b175", size = 4278082, upload-time = "2026-03-25T23:33:27.423Z" }, - { url = "https://files.pythonhosted.org/packages/5b/ba/d5e27f8d68c24951b0a484924a84c7cdaed7502bac9f18601cd357f8b1d2/cryptography-46.0.6-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:d9528b535a6c4f8ff37847144b8986a9a143585f0540fbcb1a98115b543aa463", size = 4926514, upload-time = "2026-03-25T23:33:29.206Z" }, - { url = "https://files.pythonhosted.org/packages/34/71/1ea5a7352ae516d5512d17babe7e1b87d9db5150b21f794b1377eac1edc0/cryptography-46.0.6-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:22259338084d6ae497a19bae5d4c66b7ca1387d3264d1c2c0e72d9e9b6a77b97", size = 4457766, upload-time = "2026-03-25T23:33:30.834Z" }, - { url = "https://files.pythonhosted.org/packages/01/59/562be1e653accee4fdad92c7a2e88fced26b3fdfce144047519bbebc299e/cryptography-46.0.6-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:760997a4b950ff00d418398ad73fbc91aa2894b5c1db7ccb45b4f68b42a63b3c", size = 3986535, upload-time = "2026-03-25T23:33:33.02Z" }, - { url = "https://files.pythonhosted.org/packages/d6/8b/b1ebfeb788bf4624d36e45ed2662b8bd43a05ff62157093c1539c1288a18/cryptography-46.0.6-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3dfa6567f2e9e4c5dceb8ccb5a708158a2a871052fa75c8b78cb0977063f1507", size = 4277618, upload-time = "2026-03-25T23:33:34.567Z" }, - { url = "https://files.pythonhosted.org/packages/dd/52/a005f8eabdb28df57c20f84c44d397a755782d6ff6d455f05baa2785bd91/cryptography-46.0.6-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:cdcd3edcbc5d55757e5f5f3d330dd00007ae463a7e7aa5bf132d1f22a4b62b19", size = 4890802, upload-time = "2026-03-25T23:33:37.034Z" }, - { url = "https://files.pythonhosted.org/packages/ec/4d/8e7d7245c79c617d08724e2efa397737715ca0ec830ecb3c91e547302555/cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:d4e4aadb7fc1f88687f47ca20bb7227981b03afaae69287029da08096853b738", size = 4457425, upload-time = "2026-03-25T23:33:38.904Z" }, - { url = "https://files.pythonhosted.org/packages/1d/5c/f6c3596a1430cec6f949085f0e1a970638d76f81c3ea56d93d564d04c340/cryptography-46.0.6-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2b417edbe8877cda9022dde3a008e2deb50be9c407eef034aeeb3a8b11d9db3c", size = 4405530, upload-time = "2026-03-25T23:33:40.842Z" }, - { url = "https://files.pythonhosted.org/packages/7e/c9/9f9cea13ee2dbde070424e0c4f621c091a91ffcc504ffea5e74f0e1daeff/cryptography-46.0.6-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:380343e0653b1c9d7e1f55b52aaa2dbb2fdf2730088d48c43ca1c7c0abb7cc2f", size = 4667896, upload-time = "2026-03-25T23:33:42.781Z" }, - { url = "https://files.pythonhosted.org/packages/ad/b5/1895bc0821226f129bc74d00eccfc6a5969e2028f8617c09790bf89c185e/cryptography-46.0.6-cp311-abi3-win32.whl", hash = "sha256:bcb87663e1f7b075e48c3be3ecb5f0b46c8fc50b50a97cf264e7f60242dca3f2", size = 3026348, upload-time = "2026-03-25T23:33:45.021Z" }, - { url = "https://files.pythonhosted.org/packages/c3/f8/c9bcbf0d3e6ad288b9d9aa0b1dee04b063d19e8c4f871855a03ab3a297ab/cryptography-46.0.6-cp311-abi3-win_amd64.whl", hash = "sha256:6739d56300662c468fddb0e5e291f9b4d084bead381667b9e654c7dd81705124", size = 3483896, upload-time = "2026-03-25T23:33:46.649Z" }, - { url = "https://files.pythonhosted.org/packages/01/41/3a578f7fd5c70611c0aacba52cd13cb364a5dee895a5c1d467208a9380b0/cryptography-46.0.6-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:2ef9e69886cbb137c2aef9772c2e7138dc581fad4fcbcf13cc181eb5a3ab6275", size = 7117147, upload-time = "2026-03-25T23:33:48.249Z" }, - { url = "https://files.pythonhosted.org/packages/fa/87/887f35a6fca9dde90cad08e0de0c89263a8e59b2d2ff904fd9fcd8025b6f/cryptography-46.0.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7f417f034f91dcec1cb6c5c35b07cdbb2ef262557f701b4ecd803ee8cefed4f4", size = 4266221, upload-time = "2026-03-25T23:33:49.874Z" }, - { url = "https://files.pythonhosted.org/packages/aa/a8/0a90c4f0b0871e0e3d1ed126aed101328a8a57fd9fd17f00fb67e82a51ca/cryptography-46.0.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d24c13369e856b94892a89ddf70b332e0b70ad4a5c43cf3e9cb71d6d7ffa1f7b", size = 4408952, upload-time = "2026-03-25T23:33:52.128Z" }, - { url = "https://files.pythonhosted.org/packages/16/0b/b239701eb946523e4e9f329336e4ff32b1247e109cbab32d1a7b61da8ed7/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:aad75154a7ac9039936d50cf431719a2f8d4ed3d3c277ac03f3339ded1a5e707", size = 4270141, upload-time = "2026-03-25T23:33:54.11Z" }, - { url = "https://files.pythonhosted.org/packages/0f/a8/976acdd4f0f30df7b25605f4b9d3d89295351665c2091d18224f7ad5cdbf/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:3c21d92ed15e9cfc6eb64c1f5a0326db22ca9c2566ca46d845119b45b4400361", size = 4904178, upload-time = "2026-03-25T23:33:55.725Z" }, - { url = "https://files.pythonhosted.org/packages/b1/1b/bf0e01a88efd0e59679b69f42d4afd5bced8700bb5e80617b2d63a3741af/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:4668298aef7cddeaf5c6ecc244c2302a2b8e40f384255505c22875eebb47888b", size = 4441812, upload-time = "2026-03-25T23:33:57.364Z" }, - { url = "https://files.pythonhosted.org/packages/bb/8b/11df86de2ea389c65aa1806f331cae145f2ed18011f30234cc10ca253de8/cryptography-46.0.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:8ce35b77aaf02f3b59c90b2c8a05c73bac12cea5b4e8f3fbece1f5fddea5f0ca", size = 3963923, upload-time = "2026-03-25T23:33:59.361Z" }, - { url = "https://files.pythonhosted.org/packages/91/e0/207fb177c3a9ef6a8108f234208c3e9e76a6aa8cf20d51932916bd43bda0/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:c89eb37fae9216985d8734c1afd172ba4927f5a05cfd9bf0e4863c6d5465b013", size = 4269695, upload-time = "2026-03-25T23:34:00.909Z" }, - { url = "https://files.pythonhosted.org/packages/21/5e/19f3260ed1e95bced52ace7501fabcd266df67077eeb382b79c81729d2d3/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:ed418c37d095aeddf5336898a132fba01091f0ac5844e3e8018506f014b6d2c4", size = 4869785, upload-time = "2026-03-25T23:34:02.796Z" }, - { url = "https://files.pythonhosted.org/packages/10/38/cd7864d79aa1d92ef6f1a584281433419b955ad5a5ba8d1eb6c872165bcb/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:69cf0056d6947edc6e6760e5f17afe4bea06b56a9ac8a06de9d2bd6b532d4f3a", size = 4441404, upload-time = "2026-03-25T23:34:04.35Z" }, - { url = "https://files.pythonhosted.org/packages/09/0a/4fe7a8d25fed74419f91835cf5829ade6408fd1963c9eae9c4bce390ecbb/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e7304c4f4e9490e11efe56af6713983460ee0780f16c63f219984dab3af9d2d", size = 4397549, upload-time = "2026-03-25T23:34:06.342Z" }, - { url = "https://files.pythonhosted.org/packages/5f/a0/7d738944eac6513cd60a8da98b65951f4a3b279b93479a7e8926d9cd730b/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b928a3ca837c77a10e81a814a693f2295200adb3352395fad024559b7be7a736", size = 4651874, upload-time = "2026-03-25T23:34:07.916Z" }, - { url = "https://files.pythonhosted.org/packages/cb/f1/c2326781ca05208845efca38bf714f76939ae446cd492d7613808badedf1/cryptography-46.0.6-cp314-cp314t-win32.whl", hash = "sha256:97c8115b27e19e592a05c45d0dd89c57f81f841cc9880e353e0d3bf25b2139ed", size = 3001511, upload-time = "2026-03-25T23:34:09.892Z" }, - { url = "https://files.pythonhosted.org/packages/c9/57/fe4a23eb549ac9d903bd4698ffda13383808ef0876cc912bcb2838799ece/cryptography-46.0.6-cp314-cp314t-win_amd64.whl", hash = "sha256:c797e2517cb7880f8297e2c0f43bb910e91381339336f75d2c1c2cbf811b70b4", size = 3471692, upload-time = "2026-03-25T23:34:11.613Z" }, - { url = "https://files.pythonhosted.org/packages/c4/cc/f330e982852403da79008552de9906804568ae9230da8432f7496ce02b71/cryptography-46.0.6-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:12cae594e9473bca1a7aceb90536060643128bb274fcea0fc459ab90f7d1ae7a", size = 7162776, upload-time = "2026-03-25T23:34:13.308Z" }, - { url = "https://files.pythonhosted.org/packages/49/b3/dc27efd8dcc4bff583b3f01d4a3943cd8b5821777a58b3a6a5f054d61b79/cryptography-46.0.6-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:639301950939d844a9e1c4464d7e07f902fe9a7f6b215bb0d4f28584729935d8", size = 4270529, upload-time = "2026-03-25T23:34:15.019Z" }, - { url = "https://files.pythonhosted.org/packages/e6/05/e8d0e6eb4f0d83365b3cb0e00eb3c484f7348db0266652ccd84632a3d58d/cryptography-46.0.6-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ed3775295fb91f70b4027aeba878d79b3e55c0b3e97eaa4de71f8f23a9f2eb77", size = 4414827, upload-time = "2026-03-25T23:34:16.604Z" }, - { url = "https://files.pythonhosted.org/packages/2f/97/daba0f5d2dc6d855e2dcb70733c812558a7977a55dd4a6722756628c44d1/cryptography-46.0.6-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8927ccfbe967c7df312ade694f987e7e9e22b2425976ddbf28271d7e58845290", size = 4271265, upload-time = "2026-03-25T23:34:18.586Z" }, - { url = "https://files.pythonhosted.org/packages/89/06/fe1fce39a37ac452e58d04b43b0855261dac320a2ebf8f5260dd55b201a9/cryptography-46.0.6-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:b12c6b1e1651e42ab5de8b1e00dc3b6354fdfd778e7fa60541ddacc27cd21410", size = 4916800, upload-time = "2026-03-25T23:34:20.561Z" }, - { url = "https://files.pythonhosted.org/packages/ff/8a/b14f3101fe9c3592603339eb5d94046c3ce5f7fc76d6512a2d40efd9724e/cryptography-46.0.6-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:063b67749f338ca9c5a0b7fe438a52c25f9526b851e24e6c9310e7195aad3b4d", size = 4448771, upload-time = "2026-03-25T23:34:22.406Z" }, - { url = "https://files.pythonhosted.org/packages/01/b3/0796998056a66d1973fd52ee89dc1bb3b6581960a91ad4ac705f182d398f/cryptography-46.0.6-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:02fad249cb0e090b574e30b276a3da6a149e04ee2f049725b1f69e7b8351ec70", size = 3978333, upload-time = "2026-03-25T23:34:24.281Z" }, - { url = "https://files.pythonhosted.org/packages/c5/3d/db200af5a4ffd08918cd55c08399dc6c9c50b0bc72c00a3246e099d3a849/cryptography-46.0.6-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e6142674f2a9291463e5e150090b95a8519b2fb6e6aaec8917dd8d094ce750d", size = 4271069, upload-time = "2026-03-25T23:34:25.895Z" }, - { url = "https://files.pythonhosted.org/packages/d7/18/61acfd5b414309d74ee838be321c636fe71815436f53c9f0334bf19064fa/cryptography-46.0.6-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:456b3215172aeefb9284550b162801d62f5f264a081049a3e94307fe20792cfa", size = 4878358, upload-time = "2026-03-25T23:34:27.67Z" }, - { url = "https://files.pythonhosted.org/packages/8b/65/5bf43286d566f8171917cae23ac6add941654ccf085d739195a4eacf1674/cryptography-46.0.6-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:341359d6c9e68834e204ceaf25936dffeafea3829ab80e9503860dcc4f4dac58", size = 4448061, upload-time = "2026-03-25T23:34:29.375Z" }, - { url = "https://files.pythonhosted.org/packages/e0/25/7e49c0fa7205cf3597e525d156a6bce5b5c9de1fd7e8cb01120e459f205a/cryptography-46.0.6-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9a9c42a2723999a710445bc0d974e345c32adfd8d2fac6d8a251fa829ad31cfb", size = 4399103, upload-time = "2026-03-25T23:34:32.036Z" }, - { url = "https://files.pythonhosted.org/packages/44/46/466269e833f1c4718d6cd496ffe20c56c9c8d013486ff66b4f69c302a68d/cryptography-46.0.6-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6617f67b1606dfd9fe4dbfa354a9508d4a6d37afe30306fe6c101b7ce3274b72", size = 4659255, upload-time = "2026-03-25T23:34:33.679Z" }, - { url = "https://files.pythonhosted.org/packages/0a/09/ddc5f630cc32287d2c953fc5d32705e63ec73e37308e5120955316f53827/cryptography-46.0.6-cp38-abi3-win32.whl", hash = "sha256:7f6690b6c55e9c5332c0b59b9c8a3fb232ebf059094c17f9019a51e9827df91c", size = 3010660, upload-time = "2026-03-25T23:34:35.418Z" }, - { url = "https://files.pythonhosted.org/packages/1b/82/ca4893968aeb2709aacfb57a30dec6fa2ab25b10fa9f064b8882ce33f599/cryptography-46.0.6-cp38-abi3-win_amd64.whl", hash = "sha256:79e865c642cfc5c0b3eb12af83c35c5aeff4fa5c672dc28c43721c2c9fdd2f0f", size = 3471160, upload-time = "2026-03-25T23:34:37.191Z" }, + { url = "https://files.pythonhosted.org/packages/0b/5d/4a8f770695d73be252331e60e526291e3df0c9b27556a90a6b47bccca4c2/cryptography-46.0.7-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:ea42cbe97209df307fdc3b155f1b6fa2577c0defa8f1f7d3be7d31d189108ad4", size = 7179869, upload-time = "2026-04-08T01:56:17.157Z" }, + { url = "https://files.pythonhosted.org/packages/5f/45/6d80dc379b0bbc1f9d1e429f42e4cb9e1d319c7a8201beffd967c516ea01/cryptography-46.0.7-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b36a4695e29fe69215d75960b22577197aca3f7a25b9cf9d165dcfe9d80bc325", size = 4275492, upload-time = "2026-04-08T01:56:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9a/1765afe9f572e239c3469f2cb429f3ba7b31878c893b246b4b2994ffe2fe/cryptography-46.0.7-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5ad9ef796328c5e3c4ceed237a183f5d41d21150f972455a9d926593a1dcb308", size = 4426670, upload-time = "2026-04-08T01:56:21.415Z" }, + { url = "https://files.pythonhosted.org/packages/8f/3e/af9246aaf23cd4ee060699adab1e47ced3f5f7e7a8ffdd339f817b446462/cryptography-46.0.7-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:73510b83623e080a2c35c62c15298096e2a5dc8d51c3b4e1740211839d0dea77", size = 4280275, upload-time = "2026-04-08T01:56:23.539Z" }, + { url = "https://files.pythonhosted.org/packages/0f/54/6bbbfc5efe86f9d71041827b793c24811a017c6ac0fd12883e4caa86b8ed/cryptography-46.0.7-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:cbd5fb06b62bd0721e1170273d3f4d5a277044c47ca27ee257025146c34cbdd1", size = 4928402, upload-time = "2026-04-08T01:56:25.624Z" }, + { url = "https://files.pythonhosted.org/packages/2d/cf/054b9d8220f81509939599c8bdbc0c408dbd2bdd41688616a20731371fe0/cryptography-46.0.7-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:420b1e4109cc95f0e5700eed79908cef9268265c773d3a66f7af1eef53d409ef", size = 4459985, upload-time = "2026-04-08T01:56:27.309Z" }, + { url = "https://files.pythonhosted.org/packages/f9/46/4e4e9c6040fb01c7467d47217d2f882daddeb8828f7df800cb806d8a2288/cryptography-46.0.7-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:24402210aa54baae71d99441d15bb5a1919c195398a87b563df84468160a65de", size = 3990652, upload-time = "2026-04-08T01:56:29.095Z" }, + { url = "https://files.pythonhosted.org/packages/36/5f/313586c3be5a2fbe87e4c9a254207b860155a8e1f3cca99f9910008e7d08/cryptography-46.0.7-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:8a469028a86f12eb7d2fe97162d0634026d92a21f3ae0ac87ed1c4a447886c83", size = 4279805, upload-time = "2026-04-08T01:56:30.928Z" }, + { url = "https://files.pythonhosted.org/packages/69/33/60dfc4595f334a2082749673386a4d05e4f0cf4df8248e63b2c3437585f2/cryptography-46.0.7-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:9694078c5d44c157ef3162e3bf3946510b857df5a3955458381d1c7cfc143ddb", size = 4892883, upload-time = "2026-04-08T01:56:32.614Z" }, + { url = "https://files.pythonhosted.org/packages/c7/0b/333ddab4270c4f5b972f980adef4faa66951a4aaf646ca067af597f15563/cryptography-46.0.7-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:42a1e5f98abb6391717978baf9f90dc28a743b7d9be7f0751a6f56a75d14065b", size = 4459756, upload-time = "2026-04-08T01:56:34.306Z" }, + { url = "https://files.pythonhosted.org/packages/d2/14/633913398b43b75f1234834170947957c6b623d1701ffc7a9600da907e89/cryptography-46.0.7-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:91bbcb08347344f810cbe49065914fe048949648f6bd5c2519f34619142bbe85", size = 4410244, upload-time = "2026-04-08T01:56:35.977Z" }, + { url = "https://files.pythonhosted.org/packages/10/f2/19ceb3b3dc14009373432af0c13f46aa08e3ce334ec6eff13492e1812ccd/cryptography-46.0.7-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5d1c02a14ceb9148cc7816249f64f623fbfee39e8c03b3650d842ad3f34d637e", size = 4674868, upload-time = "2026-04-08T01:56:38.034Z" }, + { url = "https://files.pythonhosted.org/packages/1a/bb/a5c213c19ee94b15dfccc48f363738633a493812687f5567addbcbba9f6f/cryptography-46.0.7-cp311-abi3-win32.whl", hash = "sha256:d23c8ca48e44ee015cd0a54aeccdf9f09004eba9fc96f38c911011d9ff1bd457", size = 3026504, upload-time = "2026-04-08T01:56:39.666Z" }, + { url = "https://files.pythonhosted.org/packages/2b/02/7788f9fefa1d060ca68717c3901ae7fffa21ee087a90b7f23c7a603c32ae/cryptography-46.0.7-cp311-abi3-win_amd64.whl", hash = "sha256:397655da831414d165029da9bc483bed2fe0e75dde6a1523ec2fe63f3c46046b", size = 3488363, upload-time = "2026-04-08T01:56:41.893Z" }, + { url = "https://files.pythonhosted.org/packages/7b/56/15619b210e689c5403bb0540e4cb7dbf11a6bf42e483b7644e471a2812b3/cryptography-46.0.7-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:d151173275e1728cf7839aaa80c34fe550c04ddb27b34f48c232193df8db5842", size = 7119671, upload-time = "2026-04-08T01:56:44Z" }, + { url = "https://files.pythonhosted.org/packages/74/66/e3ce040721b0b5599e175ba91ab08884c75928fbeb74597dd10ef13505d2/cryptography-46.0.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:db0f493b9181c7820c8134437eb8b0b4792085d37dbb24da050476ccb664e59c", size = 4268551, upload-time = "2026-04-08T01:56:46.071Z" }, + { url = "https://files.pythonhosted.org/packages/03/11/5e395f961d6868269835dee1bafec6a1ac176505a167f68b7d8818431068/cryptography-46.0.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ebd6daf519b9f189f85c479427bbd6e9c9037862cf8fe89ee35503bd209ed902", size = 4408887, upload-time = "2026-04-08T01:56:47.718Z" }, + { url = "https://files.pythonhosted.org/packages/40/53/8ed1cf4c3b9c8e611e7122fb56f1c32d09e1fff0f1d77e78d9ff7c82653e/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:b7b412817be92117ec5ed95f880defe9cf18a832e8cafacf0a22337dc1981b4d", size = 4271354, upload-time = "2026-04-08T01:56:49.312Z" }, + { url = "https://files.pythonhosted.org/packages/50/46/cf71e26025c2e767c5609162c866a78e8a2915bbcfa408b7ca495c6140c4/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:fbfd0e5f273877695cb93baf14b185f4878128b250cc9f8e617ea0c025dfb022", size = 4905845, upload-time = "2026-04-08T01:56:50.916Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ea/01276740375bac6249d0a971ebdf6b4dc9ead0ee0a34ef3b5a88c1a9b0d4/cryptography-46.0.7-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:ffca7aa1d00cf7d6469b988c581598f2259e46215e0140af408966a24cf086ce", size = 4444641, upload-time = "2026-04-08T01:56:52.882Z" }, + { url = "https://files.pythonhosted.org/packages/3d/4c/7d258f169ae71230f25d9f3d06caabcff8c3baf0978e2b7d65e0acac3827/cryptography-46.0.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:60627cf07e0d9274338521205899337c5d18249db56865f943cbe753aa96f40f", size = 3967749, upload-time = "2026-04-08T01:56:54.597Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2a/2ea0767cad19e71b3530e4cad9605d0b5e338b6a1e72c37c9c1ceb86c333/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:80406c3065e2c55d7f49a9550fe0c49b3f12e5bfff5dedb727e319e1afb9bf99", size = 4270942, upload-time = "2026-04-08T01:56:56.416Z" }, + { url = "https://files.pythonhosted.org/packages/41/3d/fe14df95a83319af25717677e956567a105bb6ab25641acaa093db79975d/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:c5b1ccd1239f48b7151a65bc6dd54bcfcc15e028c8ac126d3fada09db0e07ef1", size = 4871079, upload-time = "2026-04-08T01:56:58.31Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/4a479e0f36f8f378d397f4eab4c850b4ffb79a2f0d58704b8fa0703ddc11/cryptography-46.0.7-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:d5f7520159cd9c2154eb61eb67548ca05c5774d39e9c2c4339fd793fe7d097b2", size = 4443999, upload-time = "2026-04-08T01:57:00.508Z" }, + { url = "https://files.pythonhosted.org/packages/28/17/b59a741645822ec6d04732b43c5d35e4ef58be7bfa84a81e5ae6f05a1d33/cryptography-46.0.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fcd8eac50d9138c1d7fc53a653ba60a2bee81a505f9f8850b6b2888555a45d0e", size = 4399191, upload-time = "2026-04-08T01:57:02.654Z" }, + { url = "https://files.pythonhosted.org/packages/59/6a/bb2e166d6d0e0955f1e9ff70f10ec4b2824c9cfcdb4da772c7dd69cc7d80/cryptography-46.0.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:65814c60f8cc400c63131584e3e1fad01235edba2614b61fbfbfa954082db0ee", size = 4655782, upload-time = "2026-04-08T01:57:04.592Z" }, + { url = "https://files.pythonhosted.org/packages/95/b6/3da51d48415bcb63b00dc17c2eff3a651b7c4fed484308d0f19b30e8cb2c/cryptography-46.0.7-cp314-cp314t-win32.whl", hash = "sha256:fdd1736fed309b4300346f88f74cd120c27c56852c3838cab416e7a166f67298", size = 3002227, upload-time = "2026-04-08T01:57:06.91Z" }, + { url = "https://files.pythonhosted.org/packages/32/a8/9f0e4ed57ec9cebe506e58db11ae472972ecb0c659e4d52bbaee80ca340a/cryptography-46.0.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e06acf3c99be55aa3b516397fe42f5855597f430add9c17fa46bf2e0fb34c9bb", size = 3475332, upload-time = "2026-04-08T01:57:08.807Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7f/cd42fc3614386bc0c12f0cb3c4ae1fc2bbca5c9662dfed031514911d513d/cryptography-46.0.7-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:462ad5cb1c148a22b2e3bcc5ad52504dff325d17daf5df8d88c17dda1f75f2a4", size = 7165618, upload-time = "2026-04-08T01:57:10.645Z" }, + { url = "https://files.pythonhosted.org/packages/a5/d0/36a49f0262d2319139d2829f773f1b97ef8aef7f97e6e5bd21455e5a8fb5/cryptography-46.0.7-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:84d4cced91f0f159a7ddacad249cc077e63195c36aac40b4150e7a57e84fffe7", size = 4270628, upload-time = "2026-04-08T01:57:12.885Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6c/1a42450f464dda6ffbe578a911f773e54dd48c10f9895a23a7e88b3e7db5/cryptography-46.0.7-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:128c5edfe5e5938b86b03941e94fac9ee793a94452ad1365c9fc3f4f62216832", size = 4415405, upload-time = "2026-04-08T01:57:14.923Z" }, + { url = "https://files.pythonhosted.org/packages/9a/92/4ed714dbe93a066dc1f4b4581a464d2d7dbec9046f7c8b7016f5286329e2/cryptography-46.0.7-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5e51be372b26ef4ba3de3c167cd3d1022934bc838ae9eaad7e644986d2a3d163", size = 4272715, upload-time = "2026-04-08T01:57:16.638Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e6/a26b84096eddd51494bba19111f8fffe976f6a09f132706f8f1bf03f51f7/cryptography-46.0.7-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:cdf1a610ef82abb396451862739e3fc93b071c844399e15b90726ef7470eeaf2", size = 4918400, upload-time = "2026-04-08T01:57:19.021Z" }, + { url = "https://files.pythonhosted.org/packages/c7/08/ffd537b605568a148543ac3c2b239708ae0bd635064bab41359252ef88ed/cryptography-46.0.7-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1d25aee46d0c6f1a501adcddb2d2fee4b979381346a78558ed13e50aa8a59067", size = 4450634, upload-time = "2026-04-08T01:57:21.185Z" }, + { url = "https://files.pythonhosted.org/packages/16/01/0cd51dd86ab5b9befe0d031e276510491976c3a80e9f6e31810cce46c4ad/cryptography-46.0.7-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:cdfbe22376065ffcf8be74dc9a909f032df19bc58a699456a21712d6e5eabfd0", size = 3985233, upload-time = "2026-04-08T01:57:22.862Z" }, + { url = "https://files.pythonhosted.org/packages/92/49/819d6ed3a7d9349c2939f81b500a738cb733ab62fbecdbc1e38e83d45e12/cryptography-46.0.7-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:abad9dac36cbf55de6eb49badd4016806b3165d396f64925bf2999bcb67837ba", size = 4271955, upload-time = "2026-04-08T01:57:24.814Z" }, + { url = "https://files.pythonhosted.org/packages/80/07/ad9b3c56ebb95ed2473d46df0847357e01583f4c52a85754d1a55e29e4d0/cryptography-46.0.7-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:935ce7e3cfdb53e3536119a542b839bb94ec1ad081013e9ab9b7cfd478b05006", size = 4879888, upload-time = "2026-04-08T01:57:26.88Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c7/201d3d58f30c4c2bdbe9b03844c291feb77c20511cc3586daf7edc12a47b/cryptography-46.0.7-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:35719dc79d4730d30f1c2b6474bd6acda36ae2dfae1e3c16f2051f215df33ce0", size = 4449961, upload-time = "2026-04-08T01:57:29.068Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ef/649750cbf96f3033c3c976e112265c33906f8e462291a33d77f90356548c/cryptography-46.0.7-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:7bbc6ccf49d05ac8f7d7b5e2e2c33830d4fe2061def88210a126d130d7f71a85", size = 4401696, upload-time = "2026-04-08T01:57:31.029Z" }, + { url = "https://files.pythonhosted.org/packages/41/52/a8908dcb1a389a459a29008c29966c1d552588d4ae6d43f3a1a4512e0ebe/cryptography-46.0.7-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a1529d614f44b863a7b480c6d000fe93b59acee9c82ffa027cfadc77521a9f5e", size = 4664256, upload-time = "2026-04-08T01:57:33.144Z" }, + { url = "https://files.pythonhosted.org/packages/4b/fa/f0ab06238e899cc3fb332623f337a7364f36f4bb3f2534c2bb95a35b132c/cryptography-46.0.7-cp38-abi3-win32.whl", hash = "sha256:f247c8c1a1fb45e12586afbb436ef21ff1e80670b2861a90353d9b025583d246", size = 3013001, upload-time = "2026-04-08T01:57:34.933Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f1/00ce3bde3ca542d1acd8f8cfa38e446840945aa6363f9b74746394b14127/cryptography-46.0.7-cp38-abi3-win_amd64.whl", hash = "sha256:506c4ff91eff4f82bdac7633318a526b1d1309fc07ca76a3ad182cb5b686d6d3", size = 3472985, upload-time = "2026-04-08T01:57:36.714Z" }, ] [[package]] From 5c9e221cbc60b607e56998280d3232e45e36c150 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Tue, 14 Apr 2026 18:47:24 -0700 Subject: [PATCH 21/51] Add stdexec library configuration for CUDA C++ (#8621) This is my naive attempt to add [stdexec](https://github.com/NVIDIA/stdexec) as a library for CUDA C++. Adding a library is probably more involved that just modifying `.amazon.properties`. Maybe a CE guru can tell me what steps I've missed. --- etc/config/cuda.amazon.properties | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/etc/config/cuda.amazon.properties b/etc/config/cuda.amazon.properties index d8c988836..bea845524 100644 --- a/etc/config/cuda.amazon.properties +++ b/etc/config/cuda.amazon.properties @@ -930,6 +930,12 @@ libs.nsimd.versions.22.version=2.2 libs.nsimd.versions.22.path=/opt/compiler-explorer/libs/nsimd/v2.2/cuda/include libs.nsimd.versions.301.version=3.0.1 libs.nsimd.versions.301.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/cuda/include +libs.stdexec.name=stdexec (std::execution) +libs.stdexec.description=The proposed C++ framework for asynchronous and parallel programming +libs.stdexec.versions=trunk +libs.stdexec.url=https://github.com/NVIDIA/stdexec +libs.stdexec.versions.trunk.version=trunk +libs.stdexec.versions.trunk.path=/opt/compiler-explorer/libs/stdexec/trunk/include libs.hip-amd.name=HIP (AMD Platform) libs.hip-amd.versions=70001:60400:60303:60204:60102:60002:50700:50203:50103:50002:40502 libs.hip-amd.url=https://github.com/ROCm-Developer-Tools/hipamd From bb3a5d26d07c3e6072e2e337a691a0cbb8f25e0a Mon Sep 17 00:00:00 2001 From: Sean Garwood Date: Tue, 14 Apr 2026 21:49:30 -0400 Subject: [PATCH 22/51] Fix AT&T warning showing for native langs w/ undefined intelAsm (#8576) Fixes #8567 Fix bug where `asmSyntax` returned 'att' for compilers that do not define `intelAsm` (e.g. Rust, Spice), but that do support Intel: - The base compiler defaults `supportsIntel` property to `!!this.compiler.intelAsm` - Aforementioned compilers override this in [optionsForFilter override](https://github.com/compiler-explorer/compiler-explorer/blob/6b1ff666f238bce450d9e0825f30113f1b91b9bd/lib/compilers/rust.ts#L272) Before: ```typescript // bug const isAtt = /*...*/ !(this.filters.isSet('intel') && this.compiler.intelAsm.includes('intel')); /* 1 0 */ /* 0 */ /* !0 => 1 */ ``` Removing the check for intelAsm resolves this. - Extracted the logic that determines the assembly syntax and added unit tests that cover all possible inputs. - Verified with local Rust. ## Miscellany - **rm handling of 'last operand'** - **fix: order-agnostic refCardinalityOfSrcDstOperands** - Marked TODO: only show warnings where relevant, i.e. if the cardinality of src/dst operands is not shown in tooltip text but is shown in context menu, then the warning should only display in the context menu. Beyond scope of this PR. - **optional supportsIntel arg, test undefined supportsIntel** --- static/assembly-syntax.ts | 26 ++-- static/panes/compiler.ts | 8 +- static/tests/assembly-syntax-tests.ts | 203 ++++++++++++++++---------- 3 files changed, 142 insertions(+), 95 deletions(-) diff --git a/static/assembly-syntax.ts b/static/assembly-syntax.ts index 222014f44..ba7fadfe9 100644 --- a/static/assembly-syntax.ts +++ b/static/assembly-syntax.ts @@ -28,7 +28,8 @@ const AssemblySyntaxesList = ['att', 'intel'] as const; export type AssemblySyntax = (typeof AssemblySyntaxesList)[number]; export const ATT_SYNTAX_WARNING = 'WARNING: The information shown pertains to Intel syntax.'; -const CARDINALITY_REGEX = /\b(?:first|second|third|fourth|last)\s+operands?\b/i; +const CARDINALITY_REGEX = /\b(?:first|second|third|fourth)\b/i; +const OPERAND_REGEX = /\boperands?\b/i; const SOURCE_DEST_REGEX = /\b(?:source|destination)\b/i; export function addAttSyntaxWarningIfNeeded( @@ -37,14 +38,19 @@ export function addAttSyntaxWarningIfNeeded( ): AssemblyInstructionInfo { if (syntax !== 'att') return data; - const referencesCardinality = (text: string): boolean => - CARDINALITY_REGEX.test(text) && SOURCE_DEST_REGEX.test(text); + const referencesCardinalityOfSrcDstOperands = (text: string): boolean => + CARDINALITY_REGEX.test(text) && OPERAND_REGEX.test(text) && SOURCE_DEST_REGEX.test(text); - return referencesCardinality(data.tooltip) || referencesCardinality(data.html) - ? { - ...data, - tooltip: '***' + ATT_SYNTAX_WARNING + '***\n\n' + data.tooltip, - html: '' + ATT_SYNTAX_WARNING + '

' + data.html, - } - : data; + const tooltipRefs = referencesCardinalityOfSrcDstOperands(data.tooltip); + const htmlRefs = referencesCardinalityOfSrcDstOperands(data.html); + if (!tooltipRefs && !htmlRefs) return data; + return { + ...data, + ...(tooltipRefs && {tooltip: '***' + ATT_SYNTAX_WARNING + '***\n\n' + data.tooltip}), + ...(htmlRefs && {html: '' + ATT_SYNTAX_WARNING + '

' + data.html}), + }; +} + +export function determineAssemblySyntax(supportsIntel: boolean = false, intelFilterEnabled: boolean): AssemblySyntax { + return supportsIntel && !intelFilterEnabled ? 'att' : 'intel'; } diff --git a/static/panes/compiler.ts b/static/panes/compiler.ts index 4b0b84563..587f0b428 100644 --- a/static/panes/compiler.ts +++ b/static/panes/compiler.ts @@ -84,7 +84,7 @@ import {InstructionSet} from '../../types/instructionsets.js'; import {LanguageKey} from '../../types/languages.interfaces.js'; import {Tool} from '../../types/tool.interfaces.js'; import {ArtifactHandler} from '../artifact-handler.js'; -import {type AssemblySyntax, addAttSyntaxWarningIfNeeded} from '../assembly-syntax.js'; +import {type AssemblySyntax, addAttSyntaxWarningIfNeeded, determineAssemblySyntax} from '../assembly-syntax.js'; import {ICompilerShared} from '../compiler-shared.interfaces.js'; import {CompilerShared} from '../compiler-shared.js'; import {SourceAndFiles} from '../download-service.js'; @@ -2830,12 +2830,8 @@ export class Compiler extends MonacoPane | null): void { diff --git a/static/tests/assembly-syntax-tests.ts b/static/tests/assembly-syntax-tests.ts index dd0270c06..c3a28d91a 100644 --- a/static/tests/assembly-syntax-tests.ts +++ b/static/tests/assembly-syntax-tests.ts @@ -25,91 +25,136 @@ import {describe, expect, it} from 'vitest'; import {type AssemblyInstructionInfo} from '../../types/assembly-docs.interfaces.js'; -import {ATT_SYNTAX_WARNING, addAttSyntaxWarningIfNeeded} from '../assembly-syntax.js'; +import { + AssemblySyntax, + ATT_SYNTAX_WARNING, + addAttSyntaxWarningIfNeeded, + determineAssemblySyntax, +} from '../assembly-syntax.js'; -function makeInfo(tooltip: string, html: string): AssemblyInstructionInfo { - return {tooltip, html, url: 'https://example.com'}; +const mockUrl = 'https://example.com'; +function makeInfo(tooltip: string, html?: string): AssemblyInstructionInfo { + html = html ?? `

${tooltip}

`; + return {tooltip, html, url: mockUrl}; } -describe('addAttSyntaxWarningIfNeeded', () => { - it('does not warn for intel syntax', () => { - const data = makeInfo('first operand is the destination', 'first operand is the destination'); - const result = addAttSyntaxWarningIfNeeded(data, 'intel'); - expect(result).toEqual(data); +describe(addAttSyntaxWarningIfNeeded, () => { + describe('warns when syntax is att and', () => { + const attSyntax: AssemblySyntax = 'att'; + it('appends warning to tooltip and not html when only tooltip references cardinality operand and source/destination', () => { + const data = makeInfo('first operand (destination)', '

Simple description

'); + const result = addAttSyntaxWarningIfNeeded(data, attSyntax); + + expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); + expect(result.html).not.toContain(ATT_SYNTAX_WARNING); + }); + it('appends warning to html and not tooltip only html references cardinality operand and source/destination', () => { + const data = makeInfo('Simple tooltip', '

second operand (source)

'); + const result = addAttSyntaxWarningIfNeeded(data, attSyntax); + + expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); + expect(result.html).toContain(ATT_SYNTAX_WARNING); + }); + it('both tooltip and html reference cardinality and source/destination', () => { + const text = 'copies the first operand (source) to the second operand (destination)'; + const data = makeInfo(text); + const result = addAttSyntaxWarningIfNeeded(data, attSyntax); + expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); + expect(result.html).toContain(ATT_SYNTAX_WARNING); + }); + it('handles third and fourth operand references', () => { + const haddpsDescription = + 'Adds single precision floating-point values in the third and fourth dword of the destination operand and stores the result in the second dword of the destination operand.'; + const data = makeInfo(haddpsDescription); + const result = addAttSyntaxWarningIfNeeded(data, 'att'); + expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); + expect(result.html).toContain(ATT_SYNTAX_WARNING); + }); + }); + describe('does not warn when', () => { + describe('syntax is intel', () => { + it('and references cardinality of operands', () => { + const data = makeInfo('first operand (destination)'); + const result = addAttSyntaxWarningIfNeeded(data, 'intel'); + expect(result).toEqual(data); + }); + }); + + describe('syntax is att and', () => { + const attSyntax = 'att'; + it('no cardinality references to destination/source operands', () => { + const data = makeInfo( + 'Decrements the stack pointer and then stores the source operand on the top of the stack', + ); + const result = addAttSyntaxWarningIfNeeded(data, attSyntax); + + expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); + expect(result.html).not.toContain(ATT_SYNTAX_WARNING); + }); + it('cardinality is present but source/destination is absent', () => { + const data = makeInfo('Performs a signed multiplication of two operands'); + const result = addAttSyntaxWarningIfNeeded(data, attSyntax); + + expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); + expect(result.html).not.toContain(ATT_SYNTAX_WARNING); + }); + it('source/destination is present but cardinality is absent', () => { + const popDesc = + 'Loads the value from the top of the stack to the location specified with the destination operand (or explicit opcode) and then increments the stack pointer.'; + const data = makeInfo(popDesc); + const result = addAttSyntaxWarningIfNeeded(data, attSyntax); + expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); + expect(result.html).not.toContain(ATT_SYNTAX_WARNING); + }); + it('tooltip contains "operand" and html contains "destination"', () => { + const data = makeInfo('The first operand is foo', '

Copies bar to the destination register

'); + const result = addAttSyntaxWarningIfNeeded(data, 'att'); + expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); + expect(result.html).not.toContain(ATT_SYNTAX_WARNING); + }); + it('tooltip contains "source" and html contains "operand"', () => { + const data = makeInfo( + 'The source operand is foo', + '

Copies bar to the last destination register

', + ); + const result = addAttSyntaxWarningIfNeeded(data, 'att'); + expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); + expect(result.html).not.toContain(ATT_SYNTAX_WARNING); + }); + }); }); - it('does not warn for att syntax when no cardinality references exist', () => { - const data = makeInfo('Adds two values', '

Adds two values

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); - expect(result.html).not.toContain(ATT_SYNTAX_WARNING); - }); + describe('purity', () => { + it('does not mutate the original data object regardless of syntax', () => { + const data = makeInfo('first operand (destination)'); + const originalTooltip = data.tooltip; + const originalHtml = data.html; - it('does not warn when cardinality is present but source/destination is absent', () => { - const data = makeInfo('The first operand is added to the result', '

The first operand is added

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); - }); + addAttSyntaxWarningIfNeeded(data, 'att'); + expect(data.tooltip).toBe(originalTooltip); + expect(data.html).toBe(originalHtml); + }); + it('preserves the url field regardless of syntax', () => { + let result: AssemblyInstructionInfo; + const data = makeInfo('the first operand (destination)'); - it('does not warn when source/destination is present but cardinality is absent', () => { - const data = makeInfo('Copies from source to destination', '

Copies source to destination

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); - }); - - it('warns when tooltip references cardinality operand and source/destination', () => { - const data = makeInfo('The first operand is the destination register', '

Simple description

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); - expect(result.html).toContain(ATT_SYNTAX_WARNING); - }); - - it('warns when html references cardinality operand and source/destination', () => { - const data = makeInfo('Simple tooltip', '

The second operand is the source register

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); - expect(result.html).toContain(ATT_SYNTAX_WARNING); - }); - - it('warns when both tooltip and html match', () => { - const text = 'The first operand is the source, the second operand is the destination'; - const data = makeInfo(text, text); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); - expect(result.html).toContain(ATT_SYNTAX_WARNING); - }); - - it('does not cross-contaminate: tooltip cardinality + html source/dest alone should not warn', () => { - const data = makeInfo('The first operand is shifted left', '

Copies data to the destination register

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).not.toContain(ATT_SYNTAX_WARNING); - expect(result.html).not.toContain(ATT_SYNTAX_WARNING); - }); - - it('handles fourth operand references', () => { - const data = makeInfo('The fourth operand specifies the destination mask', '

VBLENDVPS description

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); - }); - - it('handles last operand references', () => { - const data = makeInfo('The last operand is the source register', '

Description

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.tooltip).toContain(ATT_SYNTAX_WARNING); - }); - - it('does not mutate the original data object', () => { - const data = makeInfo('The first operand is the destination', '

The first operand is the destination

'); - const originalTooltip = data.tooltip; - const originalHtml = data.html; - addAttSyntaxWarningIfNeeded(data, 'att'); - expect(data.tooltip).toBe(originalTooltip); - expect(data.html).toBe(originalHtml); - }); - - it('preserves the url field unchanged', () => { - const data = makeInfo('The first operand is the destination', '

The first operand is the destination

'); - const result = addAttSyntaxWarningIfNeeded(data, 'att'); - expect(result.url).toBe('https://example.com'); + result = addAttSyntaxWarningIfNeeded(data, 'att'); + expect(result.url).toBe(mockUrl); + result = addAttSyntaxWarningIfNeeded(data, 'intel'); + expect(result.url).toBe(mockUrl); + }); + }); +}); + +describe('determineAssemblySyntax', () => { + it.each([ + ['intel', undefined, false], + ['intel', undefined, true], + ['intel', false, false], + ['intel', false, true], + ['att', true, false], + ['intel', true, true], + ])('returns %s when supportsIntel is %s and intel asm syntax filter is %s', (expected, supportsIntel, intelFilterEnabled) => { + expect(determineAssemblySyntax(supportsIntel, intelFilterEnabled)).toBe(expected); }); }); From a7c1ccb0b2e26af40683a068275555531f36a0ff Mon Sep 17 00:00:00 2001 From: Cliff Burdick <30670611+cliffburdick@users.noreply.github.com> Date: Tue, 14 Apr 2026 18:50:13 -0700 Subject: [PATCH 23/51] CCCL 3.3.1 and 3.3.2 (#8628) --- etc/config/cuda.amazon.properties | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/etc/config/cuda.amazon.properties b/etc/config/cuda.amazon.properties index bea845524..62fbd1e4f 100644 --- a/etc/config/cuda.amazon.properties +++ b/etc/config/cuda.amazon.properties @@ -797,10 +797,14 @@ libs.cueigen.versions.334.version=3.3.4 libs.cueigen.versions.334.path=/opt/compiler-explorer/libs/eigen/v3.3.4 libs.cccl.name=CUDA Core Compute Libraries (CCCL) libs.cccl.description=Fundamental CUDA Compute libraries: Thrust, CUB, libcudacxx, cudax -libs.cccl.versions=trunk:330:321:320:314:310:302:301:300:282:281:280:270:261:260:250:240:230:220 +libs.cccl.versions=trunk:332:331:330:321:320:314:310:302:301:300:282:281:280:270:261:260:250:240:230:220 libs.cccl.url=http://www.github.com/NVIDIA/cccl libs.cccl.versions.trunk.version=trunk libs.cccl.versions.trunk.path=/opt/compiler-explorer/libs/cccl/trunk/thrust:/opt/compiler-explorer/libs/cccl/trunk/cub:/opt/compiler-explorer/libs/cccl/trunk/libcudacxx/include:/opt/compiler-explorer/libs/cccl/trunk/cudax/include +libs.cccl.versions.332.version=3.3.2 +libs.cccl.versions.332.path=/opt/compiler-explorer/libs/cccl/v3.3.2/thrust:/opt/compiler-explorer/libs/cccl/v3.3.2/cub:/opt/compiler-explorer/libs/cccl/v3.3.2/libcudacxx/include:/opt/compiler-explorer/libs/cccl/v3.3.2/cudax/include +libs.cccl.versions.331.version=3.3.1 +libs.cccl.versions.331.path=/opt/compiler-explorer/libs/cccl/v3.3.1/thrust:/opt/compiler-explorer/libs/cccl/v3.3.1/cub:/opt/compiler-explorer/libs/cccl/v3.3.1/libcudacxx/include:/opt/compiler-explorer/libs/cccl/v3.3.1/cudax/include libs.cccl.versions.330.version=3.3.0 libs.cccl.versions.330.path=/opt/compiler-explorer/libs/cccl/v3.3.0/thrust:/opt/compiler-explorer/libs/cccl/v3.3.0/cub:/opt/compiler-explorer/libs/cccl/v3.3.0/libcudacxx/include:/opt/compiler-explorer/libs/cccl/v3.3.0/cudax/include libs.cccl.versions.321.version=3.2.1 From f8db7a4b550460283135008363803a8945d37b05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 20:51:46 -0500 Subject: [PATCH 24/51] Bump pytest from 9.0.2 to 9.0.3 in /etc/scripts/ce-properties-wizard (#8625) Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.0.2 to 9.0.3.
Release notes

Sourced from pytest's releases.

9.0.3

pytest 9.0.3 (2026-04-07)

Bug fixes

  • #12444: Fixed pytest.approx which now correctly takes into account ~collections.abc.Mapping keys order to compare them.

  • #13634: Blocking a conftest.py file using the -p no: option is now explicitly disallowed.

    Previously this resulted in an internal assertion failure during plugin loading.

    Pytest now raises a clear UsageError explaining that conftest files are not plugins and cannot be disabled via -p.

  • #13734: Fixed crash when a test raises an exceptiongroup with __tracebackhide__ = True.

  • #14195: Fixed an issue where non-string messages passed to unittest.TestCase.subTest() were not printed.

  • #14343: Fixed use of insecure temporary directory (CVE-2025-71176).

Improved documentation

  • #13388: Clarified documentation for -p vs PYTEST_PLUGINS plugin loading and fixed an incorrect -p example.
  • #13731: Clarified that capture fixtures (e.g. capsys and capfd) take precedence over the -s / --capture=no command-line options in Accessing captured output from a test function <accessing-captured-output>.
  • #14088: Clarified that the default pytest_collection hook sets session.items before it calls pytest_collection_finish, not after.
  • #14255: TOML integer log levels must be quoted: Updating reference documentation.

Contributor-facing changes

  • #12689: The test reports are now published to Codecov from GitHub Actions. The test statistics is visible on the web interface.

    -- by aleguy02

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest&package-manager=uv&previous-version=9.0.2&new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/compiler-explorer/compiler-explorer/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- etc/scripts/ce-properties-wizard/pyproject.toml | 2 +- etc/scripts/ce-properties-wizard/uv.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/etc/scripts/ce-properties-wizard/pyproject.toml b/etc/scripts/ce-properties-wizard/pyproject.toml index d2a3c892e..4b3b8a4ef 100644 --- a/etc/scripts/ce-properties-wizard/pyproject.toml +++ b/etc/scripts/ce-properties-wizard/pyproject.toml @@ -16,7 +16,7 @@ dependencies = [ [project.optional-dependencies] dev = [ - "pytest>=9.0.0", + "pytest>=9.0.3", "black>=26.3.0", "ruff>=0.15.0", "pytype>=2024.10.11", diff --git a/etc/scripts/ce-properties-wizard/uv.lock b/etc/scripts/ce-properties-wizard/uv.lock index 36a80af40..84a8504b4 100644 --- a/etc/scripts/ce-properties-wizard/uv.lock +++ b/etc/scripts/ce-properties-wizard/uv.lock @@ -118,7 +118,7 @@ requires-dist = [ { name = "colorama", specifier = ">=0.4.6" }, { name = "inquirer", specifier = ">=3.1.3" }, { name = "pydantic", specifier = ">=2.5.0" }, - { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.0" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.3" }, { name = "pytype", marker = "extra == 'dev'", specifier = ">=2024.10.11" }, { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.15.0" }, ] @@ -719,7 +719,7 @@ wheels = [ [[package]] name = "pytest" -version = "9.0.2" +version = "9.0.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -730,9 +730,9 @@ dependencies = [ { name = "pygments" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", size = 1572165, upload-time = "2026-04-07T17:16:18.027Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, + { url = "https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9", size = 375249, upload-time = "2026-04-07T17:16:16.13Z" }, ] [[package]] From 9d8ea1a13955269685e504f99dec83e534fb8d3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 20:55:18 -0500 Subject: [PATCH 25/51] Bump follow-redirects from 1.15.11 to 1.16.0 (#8631) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
Commits
  • 0c23a22 Release version 1.16.0 of the npm package.
  • 844c4d3 Add sensitiveHeaders option.
  • 5e8b8d0 ci: add Node.js 24.x to the CI matrix
  • 7953e22 ci: upgrade GitHub Actions to use setup-node@v6 and checkout@v6
  • 86dc1f8 Sanitizing input.
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.11&new-version=1.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/compiler-explorer/compiler-explorer/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 34980f23b..d30f96c14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9490,9 +9490,9 @@ "license": "MIT" }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", From fb8dd185f719b024660015b82d1368b834327faa Mon Sep 17 00:00:00 2001 From: jaheikk <146706508+jaheikk@users.noreply.github.com> Date: Wed, 15 Apr 2026 04:56:19 +0300 Subject: [PATCH 26/51] Add Qt 6.11.0 (#8591) --- etc/config/c++.amazon.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index aae1dcde3..f0ce94005 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -6354,7 +6354,7 @@ libs.qt.url=https://www.qt.io libs.qt.packagedheaders=true libs.qt.liblink=Qt6Core libs.qt.options=-DQT_NO_VERSION_TAGGING -libs.qt.versions=642:652:660:670:680:690:6100 +libs.qt.versions=642:652:660:670:680:690:6100:6110 libs.qt.versions.642.version=6.4.2 libs.qt.versions.642.path=/app/qt/include/QtCore libs.qt.versions.652.version=6.5.2 @@ -6369,6 +6369,8 @@ libs.qt.versions.690.version=6.9.0 libs.qt.versions.690.path=/app/qt/include/QtCore libs.qt.versions.6100.version=6.10.0 libs.qt.versions.6100.path=/app/qt/include/QtCore +libs.qt.versions.6110.version=6.11.0 +libs.qt.versions.6110.path=/app/qt/include/QtCore libs.quill.name=Quill libs.quill.description=C++ Low Latency Logging Library From 8918aae56c7d5379dec1481f9faed3daaff8ba62 Mon Sep 17 00:00:00 2001 From: "Matt Godbolt (bot acct)" Date: Tue, 14 Apr 2026 21:32:23 -0500 Subject: [PATCH 27/51] Add asm docs for RISC-V SGT/SGTU pseudoinstructions (#8627) ## Summary - Fixes #8622: adds assembly documentation entries for the RISC-V `sgt` and `sgtu` pseudoinstructions so the hover/"View assembly documentation" feature works instead of showing an error. - `sgt rd, rs, rt` expands to `slt rd, rt, rs`; `sgtu rd, rs, rt` expands to `sltu rd, rt, rs`. Entries follow the same shape as the existing `SGTZ` pseudo entry. ## Test plan - [x] `npx vitest run test/handlers/asm-docs-tests.ts` - [x] `npx tsc --noEmit` - [x] `npm run lint` (no new errors) --- This PR is authored by an LLM (Claude) acting on behalf of @mattgodbolt. --------- Co-authored-by: mattgodbolt-molty Co-authored-by: Claude Opus 4.6 (1M context) --- etc/scripts/docenizers/docenizer-riscv64.py | 29 ++++++++++++++++++++- lib/asm-docs/generated/asm-docs-riscv64.ts | 14 ++++++++++ test/handlers/asm-docs-tests.ts | 3 +++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/etc/scripts/docenizers/docenizer-riscv64.py b/etc/scripts/docenizers/docenizer-riscv64.py index 35a10b523..c7de9bcca 100755 --- a/etc/scripts/docenizers/docenizer-riscv64.py +++ b/etc/scripts/docenizers/docenizer-riscv64.py @@ -130,7 +130,34 @@ export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInf if record.opcode_alias: output.write(f' case "{record.opcode_alias}":\n') output.write(f' return {str(record)[:-1]} }};\n\n') - + + # Pseudoinstructions missing from the upstream YAML data + extra_pseudos = [ + { + "opcode": "SGT", + "args": "rd, rs, rt", + "equivalent": "slt rd, rt, rs", + }, + { + "opcode": "SGTU", + "args": "rd, rs, rt", + "equivalent": "sltu rd, rt, rs", + }, + ] + for pseudo in extra_pseudos: + op = pseudo["opcode"] + args = pseudo["args"] + equiv = pseudo["equivalent"] + html = ( + f'
{op} {args}' + f'
Equivalent ASM:
{equiv}
' + f'
ISA: (pseudo)
' + ) + tooltip = f"Psuedo Instruction.\n\nEquivalent ASM:\n\n{equiv}\n\n" + info = json.dumps({"html": html, "tooltip": tooltip, "url": htmlhost}, indent=16, separators=(',', ': '), sort_keys=True) + output.write(f' case "{op}":\n') + output.write(f' return {info[:-1]} }};\n\n') + output.write(""" } } diff --git a/lib/asm-docs/generated/asm-docs-riscv64.ts b/lib/asm-docs/generated/asm-docs-riscv64.ts index a3ade2459..d52659739 100644 --- a/lib/asm-docs/generated/asm-docs-riscv64.ts +++ b/lib/asm-docs/generated/asm-docs-riscv64.ts @@ -6467,6 +6467,20 @@ export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInf "url": "https://five-embeddev.github.io/riscv-docs-html/" }; + case "SGT": + return { + "html": "
SGT rd, rs, rt
Equivalent ASM:
slt rd, rt, rs

ISA: (pseudo)
", + "tooltip": "Psuedo Instruction.\n\nEquivalent ASM:\n\nslt rd, rt, rs\n\n", + "url": "https://five-embeddev.github.io/riscv-docs-html/" + }; + + case "SGTU": + return { + "html": "
SGTU rd, rs, rt
Equivalent ASM:
sltu rd, rt, rs

ISA: (pseudo)
", + "tooltip": "Psuedo Instruction.\n\nEquivalent ASM:\n\nsltu rd, rt, rs\n\n", + "url": "https://five-embeddev.github.io/riscv-docs-html/" + }; + } } diff --git a/test/handlers/asm-docs-tests.ts b/test/handlers/asm-docs-tests.ts index cf0df352c..b5884358f 100644 --- a/test/handlers/asm-docs-tests.ts +++ b/test/handlers/asm-docs-tests.ts @@ -112,6 +112,9 @@ const TEST_MATRIX: Record = { 'https://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#instruction-set-reference', ], ], + riscv64: [ + ['SGT', 'Psuedo Instruction.', 'SGT rd, rs, rt', 'https://five-embeddev.github.io/riscv-docs-html/'], + ], wdc65c816: [ [ 'jsl', From 532bbe62b6a1aba3d3c7527576268d4d08e0ca11 Mon Sep 17 00:00:00 2001 From: Max Graey Date: Wed, 15 Apr 2026 15:30:46 +0300 Subject: [PATCH 28/51] Add wasmtime versions 24.0.5, 36.0.3, 41.0.0, 42.0.2 and 43.0.1 (latest) (#8623) Related infra PR: https://github.com/compiler-explorer/infra/pull/2062 --- etc/config/wasm.amazon.properties | 14 ++++++++++++-- etc/config/wasm.defaults.properties | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/etc/config/wasm.amazon.properties b/etc/config/wasm.amazon.properties index bfdd5d0c7..ab84e6f0f 100644 --- a/etc/config/wasm.amazon.properties +++ b/etc/config/wasm.amazon.properties @@ -1,9 +1,9 @@ compilers=&wasmtime objdumper=/opt/compiler-explorer/clang-18.1.0/bin/llvm-objdump objdumperType=llvm -binaryHideFuncRe=^.*::(:?native_to_wasm_trampoline|wasm_to_native_trampoline|array_to_wasm_trampoline).*$ +binaryHideFuncRe=^.*::(:?native_to_wasm_trampoline|wasm_to_native_trampoline|array_to_wasm_trampoline|wasm_to_array_trampoline).*$ -group.wasmtime.compilers=wasmtime2200:wasmtime2101:wasmtime2001 +group.wasmtime.compilers=wasmtime4301:wasmtime4202:wasmtime4100:wasmtime3603:wasmtime2405:wasmtime2200:wasmtime2101:wasmtime2001 group.wasmtime.compilerType=wasmtime group.wasmtime.options=-Ddebug-info=y -Ccache=n group.wasmtime.supportsBinary=true @@ -12,6 +12,16 @@ group.wasmtime.versionFlag=--version group.wasmtime.isSemVer=true group.wasmtime.baseName=Wasmtime +compiler.wasmtime4301.exe=/opt/compiler-explorer/wasmtime-43.0.1/wasmtime +compiler.wasmtime4301.semver=43.0.1 +compiler.wasmtime4202.exe=/opt/compiler-explorer/wasmtime-42.0.2/wasmtime +compiler.wasmtime4202.semver=42.0.2 +compiler.wasmtime4100.exe=/opt/compiler-explorer/wasmtime-41.0.0/wasmtime +compiler.wasmtime4100.semver=41.0.0 +compiler.wasmtime3603.exe=/opt/compiler-explorer/wasmtime-36.0.3/wasmtime +compiler.wasmtime3603.semver=36.0.3 +compiler.wasmtime2405.exe=/opt/compiler-explorer/wasmtime-24.0.5/wasmtime +compiler.wasmtime2405.semver=24.0.5 compiler.wasmtime2200.exe=/opt/compiler-explorer/wasmtime-22.0.0/wasmtime compiler.wasmtime2200.semver=22.0.0 compiler.wasmtime2101.exe=/opt/compiler-explorer/wasmtime-21.0.1/wasmtime diff --git a/etc/config/wasm.defaults.properties b/etc/config/wasm.defaults.properties index 2fed9b27d..c6fdb5f8f 100644 --- a/etc/config/wasm.defaults.properties +++ b/etc/config/wasm.defaults.properties @@ -2,7 +2,7 @@ compilers=&wasmtimelocal objdumper=llvm-objdump objdumperType=llvm -binaryHideFuncRe=^.*::(:?native_to_wasm_trampoline|wasm_to_native_trampoline|array_to_wasm_trampoline).*$ +binaryHideFuncRe=^.*::(:?native_to_wasm_trampoline|wasm_to_native_trampoline|array_to_wasm_trampoline|wasm_to_array_trampoline).*$ group.wasmtimelocal.compilers=wasmtimedefault group.wasmtimelocal.compilerType=wasmtime @@ -11,7 +11,7 @@ group.wasmtimelocal.supportsBinary=true group.wasmtimelocal.supportsBinaryObject=true group.wasmtimelocal.versionFlag=--version -compiler.wasmtimedefault.exe=/opt/compiler-explorer/wasmtime-22.0.0/wasmtime +compiler.wasmtimedefault.exe=/opt/compiler-explorer/wasmtime-43.0.1/wasmtime compiler.wasmtimedefault.name=Wasmtime default ################################# From 6e35eda1d1f49eda1259e3abfc2d12ed0a900373 Mon Sep 17 00:00:00 2001 From: narpfel Date: Thu, 16 Apr 2026 23:47:17 +0200 Subject: [PATCH 29/51] Switch `rustc-cg-gcc` to use `rustup` component (#8630) Infra PR: https://github.com/compiler-explorer/infra/pull/2069 --- etc/config/rust.amazon.properties | 4 ++-- lib/compilers/rustc-cg-gcc.ts | 11 +---------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/etc/config/rust.amazon.properties b/etc/config/rust.amazon.properties index 039af7ca0..252304e6f 100644 --- a/etc/config/rust.amazon.properties +++ b/etc/config/rust.amazon.properties @@ -332,9 +332,9 @@ group.rustccggcc.compilerType=rustc-cg-gcc group.rustccggcc.supportsBinary=true group.rustccggcc.supportsBinaryObject=true group.rustccggcc.unwiseOptions=-Ctarget-cpu=native|target-cpu=native -compiler.rustccggcc-master.exe=/opt/compiler-explorer/rustc-cg-gcc-master/bin/rustc +compiler.rustccggcc-master.exe=/opt/compiler-explorer/rust-nightly/bin/rustc compiler.rustccggcc-master.name=rustc-cg-gcc (master) -compiler.rustccggcc-master.libPath=${exePath}/../sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib +compiler.rustccggcc-master.libPath=${exePath}/../lib/rustlib/x86_64-unknown-linux-gnu/lib compiler.rustccggcc-master.isNightly=true # mrustc (compiler used to bootstrap rustc) diff --git a/lib/compilers/rustc-cg-gcc.ts b/lib/compilers/rustc-cg-gcc.ts index c523bc3ed..468315c80 100644 --- a/lib/compilers/rustc-cg-gcc.ts +++ b/lib/compilers/rustc-cg-gcc.ts @@ -63,16 +63,7 @@ export class RustcCgGCCCompiler extends RustCompiler { } override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: string, userOptions?: string[]) { - // these options are direcly taken from rustc_codegen_gcc doc. - // See https://github.com/rust-lang/rustc_codegen_gcc - const toolroot = path.resolve(path.dirname(this.compiler.exe), '..'); - - let options = [ - '-Z', - 'codegen-backend=' + path.join(toolroot, 'lib', 'librustc_codegen_gcc.so'), - '--sysroot', - path.join(toolroot, 'sysroot'), - ]; + let options = ['-Zcodegen-backend=gcc']; // rust.js makes the asumption that LLVM is used. This may go away when cranelift is available. // Until this is the case and the super() class is refactored, simply ditch -Cllvm arg. From b8a9dd5c1a81b5ee017ba7020ac0ad219386d8ad Mon Sep 17 00:00:00 2001 From: Miguel Ojeda Date: Fri, 17 Apr 2026 08:34:33 +0200 Subject: [PATCH 30/51] Rust 1.95.0 (#8626) Infra: https://github.com/compiler-explorer/infra/pull/2070. Signed-off-by: Miguel Ojeda --- etc/config/rust.amazon.properties | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/etc/config/rust.amazon.properties b/etc/config/rust.amazon.properties index 252304e6f..72319577f 100644 --- a/etc/config/rust.amazon.properties +++ b/etc/config/rust.amazon.properties @@ -2,13 +2,13 @@ compilers=&rust:&rustgcc:&mrustc:&rustccggcc:&rustccgcranelift objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump linker=/opt/compiler-explorer/gcc-15.2.0/bin/gcc aarch64linker=/opt/compiler-explorer/arm64/gcc-14.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc -defaultCompiler=r1940 +defaultCompiler=r1950 demangler=/opt/compiler-explorer/demanglers/rust/bin/rustfilt buildenvsetup=ceconan-rust buildenvsetup.host=https://conan.compiler-explorer.com -group.rust.compilers=r1940:r1930:r1920:r1910:r1900:r1890:r1880:r1870:r1860:r1850:r1840:r1830:r1820:r1810:r1800:r1790:r1780:r1770:r1760:r1750:r1740:r1730:r1720:r1710:r1700:r1690:r1680:r1670:r1660:r1650:r1640:r1630:r1620:r1610:r1600:r1590:r1580:r1570:r1560:r1550:r1540:r1530:r1520:r1510:r1500:r1490:r1480:r1470:r1460:r1452:r1450:r1440:r1430:r1420:r1410:r1400:r1390:r1380:r1370:r1360:r1350:r1340:r1330:r1320:r1310:r1300:r1290:r1280:r1271:r1270:r1260:r1250:r1240:r1230:r1220:r1210:r1200:r1190:r1180:r1170:r1160:r1151:r1140:r1130:r1120:r1110:r1100:r190:r180:r170:r160:r150:r140:r130:r120:r110:r100:nightly:beta +group.rust.compilers=r1950:r1940:r1930:r1920:r1910:r1900:r1890:r1880:r1870:r1860:r1850:r1840:r1830:r1820:r1810:r1800:r1790:r1780:r1770:r1760:r1750:r1740:r1730:r1720:r1710:r1700:r1690:r1680:r1670:r1660:r1650:r1640:r1630:r1620:r1610:r1600:r1590:r1580:r1570:r1560:r1550:r1540:r1530:r1520:r1510:r1500:r1490:r1480:r1470:r1460:r1452:r1450:r1440:r1430:r1420:r1410:r1400:r1390:r1380:r1370:r1360:r1350:r1340:r1330:r1320:r1310:r1300:r1290:r1280:r1271:r1270:r1260:r1250:r1240:r1230:r1220:r1210:r1200:r1190:r1180:r1170:r1160:r1151:r1140:r1130:r1120:r1110:r1100:r190:r180:r170:r160:r150:r140:r130:r120:r110:r100:nightly:beta group.rust.compilerType=rust group.rust.isSemVer=true group.rust.unwiseOptions=-Ctarget-cpu=native|target-cpu=native @@ -21,6 +21,9 @@ group.rust.supportsBinaryObject=true group.rust.supportsClippy=true # Rust 1.83+ needs `libPath` for execution with dynamically linked standard library # see https://github.com/compiler-explorer/compiler-explorer/pull/7367 +compiler.r1950.exe=/opt/compiler-explorer/rust-1.95.0/bin/rustc +compiler.r1950.semver=1.95.0 +compiler.r1950.libPath=${exePath}/../lib/rustlib/x86_64-unknown-linux-gnu/lib compiler.r1940.exe=/opt/compiler-explorer/rust-1.94.0/bin/rustc compiler.r1940.semver=1.94.0 compiler.r1940.libPath=${exePath}/../lib/rustlib/x86_64-unknown-linux-gnu/lib From b3f97f7992c823a42f5e8428d88301caba37be8d Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 17 Apr 2026 08:08:03 -0700 Subject: [PATCH 31/51] Make default Carbon code match that used by other languages (#8633) Don't define a `Run` (`main`) function. Remove comments mentioning Carbon Explorer, since that has been unmaintained for several years, and is very outdated at this point. Add "Type your code here" comment matching the default for other languages. --- examples/carbon/default.carbon | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/examples/carbon/default.carbon b/examples/carbon/default.carbon index c237dffd5..0baf5d809 100644 --- a/examples/carbon/default.carbon +++ b/examples/carbon/default.carbon @@ -1,11 +1,4 @@ -// To run this in Carbon Explorer you'll need to uncomment the following line: -// package sample api; - +// Type your code here, or load an example. fn Square(x: i32) -> i32 { return x * x; } - -// To run this in Carbon Explorer you'll need to rename this "Main()". -fn Run() -> i32 { - return Square(12); -} From a26b52297eaa6f47f32a201735cc35f96a1086e3 Mon Sep 17 00:00:00 2001 From: jmuddnv <143751186+jmuddnv@users.noreply.github.com> Date: Tue, 21 Apr 2026 12:28:05 -0700 Subject: [PATCH 32/51] Changes for HPC SDK 26.3 (#8584) --- etc/config/c++.amazon.properties | 8 +++++++- etc/config/c.amazon.properties | 8 +++++++- etc/config/fortran.amazon.properties | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index f0ce94005..5bd757f4b 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -4545,7 +4545,7 @@ compiler.gcc6502_1110.notification=This uses AVR-GCC 11.1.0 to compile C++ and u ################################# # NVHPC nvc++ -group.nvcxx_x86_cxx.compilers=nvcxx_x86_cxx22_7:nvcxx_x86_cxx22_9:nvcxx_x86_cxx22_11:nvcxx_x86_cxx23_1:nvcxx_x86_cxx23_3:nvcxx_x86_cxx23_5:nvcxx_x86_cxx23_7:nvcxx_x86_cxx23_9:nvcxx_x86_cxx23_11:nvcxx_x86_cxx24_1:nvcxx_x86_cxx24_3:nvcxx_x86_cxx24_5:nvcxx_x86_cxx24_7:nvcxx_x86_cxx24_9:nvcxx_x86_cxx24_11:nvcxx_x86_cxx25_1:nvcxx_x86_cxx25_3:nvcxx_x86_cxx25_5:nvcxx_x86_cxx25_7:nvcxx_x86_cxx25_9:nvcxx_x86_cxx25_11:nvcxx_x86_cxx26_1 +group.nvcxx_x86_cxx.compilers=nvcxx_x86_cxx22_7:nvcxx_x86_cxx22_9:nvcxx_x86_cxx22_11:nvcxx_x86_cxx23_1:nvcxx_x86_cxx23_3:nvcxx_x86_cxx23_5:nvcxx_x86_cxx23_7:nvcxx_x86_cxx23_9:nvcxx_x86_cxx23_11:nvcxx_x86_cxx24_1:nvcxx_x86_cxx24_3:nvcxx_x86_cxx24_5:nvcxx_x86_cxx24_7:nvcxx_x86_cxx24_9:nvcxx_x86_cxx24_11:nvcxx_x86_cxx25_1:nvcxx_x86_cxx25_3:nvcxx_x86_cxx25_5:nvcxx_x86_cxx25_7:nvcxx_x86_cxx25_9:nvcxx_x86_cxx25_11:nvcxx_x86_cxx26_1:nvcxx_x86_cxx26_3 group.nvcxx_x86_cxx.options= group.nvcxx_x86_cxx.binaryHideFuncRe=^(__.*|_(init|start|fini)|(de)?register_tm_clones|call_gmon_start|frame_dummy|\.plt.*|_dl_relocate_static_pie)$ group.nvcxx_x86_cxx.needsMulti=false @@ -4694,6 +4694,12 @@ compiler.nvcxx_x86_cxx26_1.nvdisasm=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/ compiler.nvcxx_x86_cxx26_1.exe=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.1/compilers/bin/nvc++ compiler.nvcxx_x86_cxx26_1.semver=26.1 +compiler.nvcxx_x86_cxx26_3.demangler=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/compilers/bin/nvdecode +compiler.nvcxx_x86_cxx26_3.cuobjdump=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/cuda/13.0/bin/cuobjdump +compiler.nvcxx_x86_cxx26_3.nvdisasm=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/cuda/13.0/bin/nvdisasm +compiler.nvcxx_x86_cxx26_3.exe=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/compilers/bin/nvc++ +compiler.nvcxx_x86_cxx26_3.semver=26.3 + ################################# # EDG compiler group.edg.compilers=&edg-gnu:&edg-default diff --git a/etc/config/c.amazon.properties b/etc/config/c.amazon.properties index a0a6398a5..b205b9df9 100644 --- a/etc/config/c.amazon.properties +++ b/etc/config/c.amazon.properties @@ -435,7 +435,7 @@ compiler.cclang_swiftlang.options=--gcc-toolchain=/opt/compiler-explorer/gcc-sna ################################# # NVHPC nvc -group.nvc_x86.compilers=nvc_x86_24_9:nvc_x86_24_11:nvc_x86_25_1:nvc_x86_25_3:nvc_x86_25_5:nvc_x86_25_7:nvc_x86_25_9:nvc_x86_25_11:nvc_x86_26_1 +group.nvc_x86.compilers=nvc_x86_24_9:nvc_x86_24_11:nvc_x86_25_1:nvc_x86_25_3:nvc_x86_25_5:nvc_x86_25_7:nvc_x86_25_9:nvc_x86_25_11:nvc_x86_26_1:nvc_x86_26_3 group.nvc_x86.options= group.nvc_x86.binaryHideFuncRe=^(__.*|_(init|start|fini)|(de)?register_tm_clones|call_gmon_start|frame_dummy|\.plt.*|_dl_relocate_static_pie)$ group.nvc_x86.needsMulti=false @@ -506,6 +506,12 @@ compiler.nvc_x86_26_1.nvdisasm=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.1/ compiler.nvc_x86_26_1.exe=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.1/compilers/bin/nvc compiler.nvc_x86_26_1.semver=26.1 +compiler.nvc_x86_26_3.demangler=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/compilers/bin/nvdecode +compiler.nvc_x86_26_3.cuobjdump=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/cuda/13.0/bin/cuobjdump +compiler.nvc_x86_26_3.nvdisasm=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/cuda/13.0/bin/nvdisasm +compiler.nvc_x86_26_3.exe=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/compilers/bin/nvc +compiler.nvc_x86_26_3.semver=26.3 + # Clang for Arm # Provides 32- and 64-bit menu items for clang-9 and trunk group.armcclang32.groupName=Arm 32-bit clang diff --git a/etc/config/fortran.amazon.properties b/etc/config/fortran.amazon.properties index d3256a813..3651440f1 100644 --- a/etc/config/fortran.amazon.properties +++ b/etc/config/fortran.amazon.properties @@ -350,7 +350,7 @@ compiler.ifxlatest.options=-gxx-name=/opt/compiler-explorer/gcc-13.2.0/bin/g++ ################################# # NVHPC nvfortran -group.nvfortran_x86.compilers=nvfortran_x86_24_9:nvfortran_x86_24_11:nvfortran_x86_25_1:nvfortran_x86_25_3:nvfortran_x86_25_5:nvfortran_x86_25_7:nvfortran_x86_25_9:nvfortran_x86_25_11:nvfortran_x86_26_1 +group.nvfortran_x86.compilers=nvfortran_x86_24_9:nvfortran_x86_24_11:nvfortran_x86_25_1:nvfortran_x86_25_3:nvfortran_x86_25_5:nvfortran_x86_25_7:nvfortran_x86_25_9:nvfortran_x86_25_11:nvfortran_x86_26_1:nvfortran_x86_26_3 group.nvfortran_x86.options= group.nvfortran_x86.needsMulti=false group.nvfortran_x86.supportsBinary=true @@ -417,6 +417,12 @@ compiler.nvfortran_x86_26_1.nvdisasm=/opt/compiler-explorer/hpc_sdk/Linux_x86_64 compiler.nvfortran_x86_26_1.exe=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.1/compilers/bin/nvfortran compiler.nvfortran_x86_26_1.semver=26.1 +compiler.nvfortran_x86_26_3.demangler=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/compilers/bin/nvdecode +compiler.nvfortran_x86_26_3.cuobjdump=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/cuda/13.0/bin/cuobjdump +compiler.nvfortran_x86_26_3.nvdisasm=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/cuda/13.0/bin/nvdisasm +compiler.nvfortran_x86_26_3.exe=/opt/compiler-explorer/hpc_sdk/Linux_x86_64/26.3/compilers/bin/nvfortran +compiler.nvfortran_x86_26_3.semver=26.3 + ############################### # GCC Cross-Compilers group.cross.compilers=&gccarm:&gccaarch64:&ppcs:&gccrvs:&gccmips:&gccmips64:&gccmipsel:&gccmips64el:&gccs390x:&gccriscv:&gccriscv64:&gccloongarch64:&gccsparc:&gccsparc64:&gccsparcleon:&gcchppa:&gcctricore From c52d851ee1fd8978110ece7930e8cea6e5f78702 Mon Sep 17 00:00:00 2001 From: Hayden Gray <35206453+A1029384756@users.noreply.github.com> Date: Tue, 21 Apr 2026 15:28:25 -0400 Subject: [PATCH 33/51] [odin] better explain @(export) and add two examples (#8632) --- examples/odin/default.odin | 13 +++++++++---- examples/odin/max_in_slice.odin | 10 ++++++++++ examples/odin/sum_over_slice.odin | 10 ++++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 examples/odin/max_in_slice.odin create mode 100644 examples/odin/sum_over_slice.odin diff --git a/examples/odin/default.odin b/examples/odin/default.odin index 3706a9487..4f1d17e4f 100644 --- a/examples/odin/default.odin +++ b/examples/odin/default.odin @@ -1,7 +1,12 @@ +// Type your code here, or load an example. +// At higher optimization levels, procedures may be +// automatically inlined and will not show up in the +// output. Use the `@(export)` attribute on procedures +// you wish to see in the output. + package main -import "core:fmt" - -main :: proc() { - fmt.println("Hello") +@(export) +square :: proc(num: int) -> int { + return num * num } diff --git a/examples/odin/max_in_slice.odin b/examples/odin/max_in_slice.odin new file mode 100644 index 000000000..dfb80433f --- /dev/null +++ b/examples/odin/max_in_slice.odin @@ -0,0 +1,10 @@ +package main + +@(export) +max_slice :: proc(array: []int) -> int { + max_val := min(int) + for elem in array { + max_val = max(max_val, elem) + } + return max_val +} diff --git a/examples/odin/sum_over_slice.odin b/examples/odin/sum_over_slice.odin new file mode 100644 index 000000000..5ac855cd2 --- /dev/null +++ b/examples/odin/sum_over_slice.odin @@ -0,0 +1,10 @@ +package main + +@(export) +sum_slice :: proc(array: []int) -> int { + sum := 0 + for elem in array { + sum += elem + } + return sum +} From bd9dab56c8a3c0f0a27776c2348406770fa9669b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Apr 2026 21:28:54 +0200 Subject: [PATCH 34/51] Bump protobufjs from 7.5.4 to 7.5.5 (#8636) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.5.4 to 7.5.5.
Changelog

Sourced from protobufjs's changelog.

Changelog

8.0.1 (2026-03-11)

Bug Fixes

  • bump protobufjs dependency version for cli package (#2128) (549b05e)
  • correct json syntax in tsconfig.json (#2120) (8065625)
  • descriptor: guard oneof index for non-Type parents (#2122) (1cac5cf)
  • do not allow setting proto in Message constructor (#2126) (f05e3c3)
  • filter invalid characters from the type name (#2127) (535df44)

8.0.0 (2025-12-16)

⚠ BREAKING CHANGES

  • add Edition 2024 Support (#2060)

Features

Commits
Maintainer changes

This version was pushed to npm by fenster, a new releaser for protobufjs since your current version.


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=protobufjs&package-manager=npm_and_yarn&previous-version=7.5.4&new-version=7.5.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/compiler-explorer/compiler-explorer/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d30f96c14..fe2bb6ee7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13916,9 +13916,9 @@ } }, "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.5.tgz", + "integrity": "sha512-3wY1AxV+VBNW8Yypfd1yQY9pXnqTAN+KwQxL8iYm3/BjKYMNg4i0owhEe26PWDOMaIrzeeF98Lqd5NGz4omiIg==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { From cbb725f10dba3f3c4c7c6d4b00cbf6c483e9cecd Mon Sep 17 00:00:00 2001 From: Cedric <14017092+douyixuan@users.noreply.github.com> Date: Wed, 22 Apr 2026 04:06:02 +0800 Subject: [PATCH 35/51] Support Triton 3.5.x and 3.6.0 (#8577) --- etc/config/triton.amazon.properties | 24 +++++++++++++++++++++--- etc/config/triton.defaults.properties | 24 +++++++++++++++++++++--- etc/scripts/test_triton_wrapper.py | 3 +++ etc/scripts/triton_wrapper.py | 2 +- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/etc/config/triton.amazon.properties b/etc/config/triton.amazon.properties index 346ddc206..fee386896 100644 --- a/etc/config/triton.amazon.properties +++ b/etc/config/triton.amazon.properties @@ -1,5 +1,5 @@ compilers=&triton_nvidia:&triton_amd -defaultCompiler=triton_nvidia_340 +defaultCompiler=triton_nvidia_360 compilerType=triton interpreted=true supportsBinary=false @@ -7,10 +7,19 @@ supportsExecute=false isSemVer=true notification=Experimental Triton support on Compiler Explorer. For tutorials, bugs reports, and feature requests, please visit here. -group.triton_nvidia.compilers=triton_nvidia_340:triton_nvidia_331:triton_nvidia_330:triton_nvidia_320:triton_nvidia_310:triton_nvidia_300:triton_nvidia_231:triton_nvidia_230 +group.triton_nvidia.compilers=triton_nvidia_360:triton_nvidia_351:triton_nvidia_350:triton_nvidia_340:triton_nvidia_331:triton_nvidia_330:triton_nvidia_320:triton_nvidia_310:triton_nvidia_300:triton_nvidia_231:triton_nvidia_230 group.triton_nvidia.groupName=Triton (Nvidia) group.triton_nvidia.options=--backend cuda --arch 90 --warp_size 32 +compiler.triton_nvidia_360.name=Triton 3.6.0 (Nvidia) +compiler.triton_nvidia_360.exe=/opt/compiler-explorer/triton/v3.6.0/bin/python3 + +compiler.triton_nvidia_351.name=Triton 3.5.1 (Nvidia) +compiler.triton_nvidia_351.exe=/opt/compiler-explorer/triton/v3.5.1/bin/python3 + +compiler.triton_nvidia_350.name=Triton 3.5.0 (Nvidia) +compiler.triton_nvidia_350.exe=/opt/compiler-explorer/triton/v3.5.0/bin/python3 + compiler.triton_nvidia_340.name=Triton 3.4.0 (Nvidia) compiler.triton_nvidia_340.exe=/opt/compiler-explorer/triton/v3.4.0/bin/python3 @@ -35,10 +44,19 @@ compiler.triton_nvidia_231.exe=/opt/compiler-explorer/triton/v2.3.1/bin/python3 compiler.triton_nvidia_230.name=Triton 2.3.0 (Nvidia) compiler.triton_nvidia_230.exe=/opt/compiler-explorer/triton/v2.3.0/bin/python3 -group.triton_amd.compilers=triton_amd_340:triton_amd_331:triton_amd_330:triton_amd_320:triton_amd_310:triton_amd_300 +group.triton_amd.compilers=triton_amd_360:triton_amd_351:triton_amd_350:triton_amd_340:triton_amd_331:triton_amd_330:triton_amd_320:triton_amd_310:triton_amd_300 group.triton_amd.groupName=Triton (AMD) group.triton_amd.options=--backend hip --arch gfx942 --warp_size 32 +compiler.triton_amd_360.name=Triton 3.6.0 (AMD) +compiler.triton_amd_360.exe=/opt/compiler-explorer/triton/v3.6.0/bin/python3 + +compiler.triton_amd_351.name=Triton 3.5.1 (AMD) +compiler.triton_amd_351.exe=/opt/compiler-explorer/triton/v3.5.1/bin/python3 + +compiler.triton_amd_350.name=Triton 3.5.0 (AMD) +compiler.triton_amd_350.exe=/opt/compiler-explorer/triton/v3.5.0/bin/python3 + compiler.triton_amd_340.name=Triton 3.4.0 (AMD) compiler.triton_amd_340.exe=/opt/compiler-explorer/triton/v3.4.0/bin/python3 diff --git a/etc/config/triton.defaults.properties b/etc/config/triton.defaults.properties index 346ddc206..fee386896 100644 --- a/etc/config/triton.defaults.properties +++ b/etc/config/triton.defaults.properties @@ -1,5 +1,5 @@ compilers=&triton_nvidia:&triton_amd -defaultCompiler=triton_nvidia_340 +defaultCompiler=triton_nvidia_360 compilerType=triton interpreted=true supportsBinary=false @@ -7,10 +7,19 @@ supportsExecute=false isSemVer=true notification=Experimental Triton support on Compiler Explorer. For tutorials, bugs reports, and feature requests, please visit here. -group.triton_nvidia.compilers=triton_nvidia_340:triton_nvidia_331:triton_nvidia_330:triton_nvidia_320:triton_nvidia_310:triton_nvidia_300:triton_nvidia_231:triton_nvidia_230 +group.triton_nvidia.compilers=triton_nvidia_360:triton_nvidia_351:triton_nvidia_350:triton_nvidia_340:triton_nvidia_331:triton_nvidia_330:triton_nvidia_320:triton_nvidia_310:triton_nvidia_300:triton_nvidia_231:triton_nvidia_230 group.triton_nvidia.groupName=Triton (Nvidia) group.triton_nvidia.options=--backend cuda --arch 90 --warp_size 32 +compiler.triton_nvidia_360.name=Triton 3.6.0 (Nvidia) +compiler.triton_nvidia_360.exe=/opt/compiler-explorer/triton/v3.6.0/bin/python3 + +compiler.triton_nvidia_351.name=Triton 3.5.1 (Nvidia) +compiler.triton_nvidia_351.exe=/opt/compiler-explorer/triton/v3.5.1/bin/python3 + +compiler.triton_nvidia_350.name=Triton 3.5.0 (Nvidia) +compiler.triton_nvidia_350.exe=/opt/compiler-explorer/triton/v3.5.0/bin/python3 + compiler.triton_nvidia_340.name=Triton 3.4.0 (Nvidia) compiler.triton_nvidia_340.exe=/opt/compiler-explorer/triton/v3.4.0/bin/python3 @@ -35,10 +44,19 @@ compiler.triton_nvidia_231.exe=/opt/compiler-explorer/triton/v2.3.1/bin/python3 compiler.triton_nvidia_230.name=Triton 2.3.0 (Nvidia) compiler.triton_nvidia_230.exe=/opt/compiler-explorer/triton/v2.3.0/bin/python3 -group.triton_amd.compilers=triton_amd_340:triton_amd_331:triton_amd_330:triton_amd_320:triton_amd_310:triton_amd_300 +group.triton_amd.compilers=triton_amd_360:triton_amd_351:triton_amd_350:triton_amd_340:triton_amd_331:triton_amd_330:triton_amd_320:triton_amd_310:triton_amd_300 group.triton_amd.groupName=Triton (AMD) group.triton_amd.options=--backend hip --arch gfx942 --warp_size 32 +compiler.triton_amd_360.name=Triton 3.6.0 (AMD) +compiler.triton_amd_360.exe=/opt/compiler-explorer/triton/v3.6.0/bin/python3 + +compiler.triton_amd_351.name=Triton 3.5.1 (AMD) +compiler.triton_amd_351.exe=/opt/compiler-explorer/triton/v3.5.1/bin/python3 + +compiler.triton_amd_350.name=Triton 3.5.0 (AMD) +compiler.triton_amd_350.exe=/opt/compiler-explorer/triton/v3.5.0/bin/python3 + compiler.triton_amd_340.name=Triton 3.4.0 (AMD) compiler.triton_amd_340.exe=/opt/compiler-explorer/triton/v3.4.0/bin/python3 diff --git a/etc/scripts/test_triton_wrapper.py b/etc/scripts/test_triton_wrapper.py index 0745be87b..219c0a02e 100644 --- a/etc/scripts/test_triton_wrapper.py +++ b/etc/scripts/test_triton_wrapper.py @@ -48,6 +48,9 @@ CONFIGS = [ for backend in ["cuda", "hip"] for opt_pipeline in [True, False] for version_tuple in [ + (3, 6, 0), + (3, 5, 1), + (3, 5, 0), (3, 4, 0), (3, 3, 1), (3, 3, 0), diff --git a/etc/scripts/triton_wrapper.py b/etc/scripts/triton_wrapper.py index 8473ea349..9c63e2ee0 100644 --- a/etc/scripts/triton_wrapper.py +++ b/etc/scripts/triton_wrapper.py @@ -147,7 +147,7 @@ def setup_triton( requirs such patching to work. This function is a collection of hacks. It has been tested to work with Triton versions: - 2.3.0, 2.3.1, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.3.1, 3.4.0. + 2.3.0, 2.3.1, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.3.1, 3.4.0, 3.5.0, 3.5.1, 3.6.0. """ os.environ["TRITON_ALWAYS_COMPILE"] = "1" From 81177b1c3ee31593c72e54bb59ebe73589678c8d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 17:49:23 +0200 Subject: [PATCH 36/51] Bump lxml from 6.0.2 to 6.1.0 in /etc/scripts/docenizers (#8640) Bumps [lxml](https://github.com/lxml/lxml) from 6.0.2 to 6.1.0.
Changelog

Sourced from lxml's changelog.

6.1.0 (2026-04-17)

This release fixes a possible external entity injection (XXE) vulnerability in iterparse() and the ETCompatXMLParser.

Features added

  • GH#486: The HTML ARIA accessibility attributes were added to the set of safe attributes in lxml.html.defs. This allows lxml_html_clean to pass them through. Patch by oomsveta.

  • The default chunk size for reading from file-likes in iterparse() is now configurable with a new chunk_size argument.

Bugs fixed

  • LP#2146291: The resolve_entities option was still set to True for iterparse and ETCompatXMLParser, allowing for external entity injection (XXE) when using these parsers without setting this option explicitly. The default was now changed to 'internal' only (as for the normal XML and HTML parsers since lxml 5.0). Issue found by Sihao Qiu as CVE-2026-41066.

6.0.4 (2026-04-12)

Bugs fixed

  • LP#2148019: Spurious MemoryError during namespace cleanup.

6.0.3 (2026-04-09)

Bugs fixed

  • Several out of memory error cases now raise MemoryError that were not handled before.

  • Slicing with large step values (outside of +/- sys.maxsize) could trigger undefined C behaviour.

  • LP#2125399: Some failing tests were fixed or disabled in PyPy.

  • LP#2138421: Memory leak in error cases when setting the public_id or system_url of a document.

... (truncated)

Commits
  • 43722f4 Update changelog.
  • 8747040 Name version of option change in docstring.
  • 6c36e6c Fix pypistats URL in download statistics script.
  • c7d76d6 Change security policy to point to Github security advisories.
  • 378ccf8 Update project income report.
  • 315270b Docs: Reduce TOC depth of package pages and move module contents first.
  • 6dbba7f Docs: Show current year in copyright line.
  • e4385bf Update project income report.
  • 5bed1e1 Validate file hashes in release download script.
  • c13ee10 Prepare release of 6.1.0.
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lxml&package-manager=uv&previous-version=6.0.2&new-version=6.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/compiler-explorer/compiler-explorer/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- etc/scripts/docenizers/pyproject.toml | 2 +- etc/scripts/docenizers/uv.lock | 150 +++++++++++++------------- 2 files changed, 76 insertions(+), 76 deletions(-) diff --git a/etc/scripts/docenizers/pyproject.toml b/etc/scripts/docenizers/pyproject.toml index df3e715a6..d4ea26f0a 100644 --- a/etc/scripts/docenizers/pyproject.toml +++ b/etc/scripts/docenizers/pyproject.toml @@ -5,7 +5,7 @@ description = "Assembly documentation generators for Compiler Explorer" requires-python = ">=3.12" dependencies = [ "beautifulsoup4>=4.12.0", - "lxml>=5.0.0", + "lxml>=6.1.0", "pandas>=2.2.0", "pdfminer.six>=20231228", "PyYAML>=6.0", diff --git a/etc/scripts/docenizers/uv.lock b/etc/scripts/docenizers/uv.lock index 8184cecfb..0a69f40d4 100644 --- a/etc/scripts/docenizers/uv.lock +++ b/etc/scripts/docenizers/uv.lock @@ -162,7 +162,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "beautifulsoup4", specifier = ">=4.12.0" }, - { name = "lxml", specifier = ">=5.0.0" }, + { name = "lxml", specifier = ">=6.1.0" }, { name = "pandas", specifier = ">=2.2.0" }, { name = "pdfminer-six", specifier = ">=20231228" }, { name = "pyyaml", specifier = ">=6.0" }, @@ -233,82 +233,82 @@ wheels = [ [[package]] name = "lxml" -version = "6.0.2" +version = "6.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz", hash = "sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62", size = 4073426, upload-time = "2025-09-22T04:04:59.287Z" } +sdist = { url = "https://files.pythonhosted.org/packages/28/30/9abc9e34c657c33834eaf6cd02124c61bdf5944d802aa48e69be8da3585d/lxml-6.1.0.tar.gz", hash = "sha256:bfd57d8008c4965709a919c3e9a98f76c2c7cb319086b3d26858250620023b13", size = 4197006, upload-time = "2026-04-18T04:32:51.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/c8/8ff2bc6b920c84355146cd1ab7d181bc543b89241cfb1ebee824a7c81457/lxml-6.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456", size = 8661887, upload-time = "2025-09-22T04:01:17.265Z" }, - { url = "https://files.pythonhosted.org/packages/37/6f/9aae1008083bb501ef63284220ce81638332f9ccbfa53765b2b7502203cf/lxml-6.0.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924", size = 4667818, upload-time = "2025-09-22T04:01:19.688Z" }, - { url = "https://files.pythonhosted.org/packages/f1/ca/31fb37f99f37f1536c133476674c10b577e409c0a624384147653e38baf2/lxml-6.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f", size = 4950807, upload-time = "2025-09-22T04:01:21.487Z" }, - { url = "https://files.pythonhosted.org/packages/da/87/f6cb9442e4bada8aab5ae7e1046264f62fdbeaa6e3f6211b93f4c0dd97f1/lxml-6.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534", size = 5109179, upload-time = "2025-09-22T04:01:23.32Z" }, - { url = "https://files.pythonhosted.org/packages/c8/20/a7760713e65888db79bbae4f6146a6ae5c04e4a204a3c48896c408cd6ed2/lxml-6.0.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564", size = 5023044, upload-time = "2025-09-22T04:01:25.118Z" }, - { url = "https://files.pythonhosted.org/packages/a2/b0/7e64e0460fcb36471899f75831509098f3fd7cd02a3833ac517433cb4f8f/lxml-6.0.2-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f", size = 5359685, upload-time = "2025-09-22T04:01:27.398Z" }, - { url = "https://files.pythonhosted.org/packages/b9/e1/e5df362e9ca4e2f48ed6411bd4b3a0ae737cc842e96877f5bf9428055ab4/lxml-6.0.2-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0", size = 5654127, upload-time = "2025-09-22T04:01:29.629Z" }, - { url = "https://files.pythonhosted.org/packages/c6/d1/232b3309a02d60f11e71857778bfcd4acbdb86c07db8260caf7d008b08f8/lxml-6.0.2-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192", size = 5253958, upload-time = "2025-09-22T04:01:31.535Z" }, - { url = "https://files.pythonhosted.org/packages/35/35/d955a070994725c4f7d80583a96cab9c107c57a125b20bb5f708fe941011/lxml-6.0.2-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0", size = 4711541, upload-time = "2025-09-22T04:01:33.801Z" }, - { url = "https://files.pythonhosted.org/packages/1e/be/667d17363b38a78c4bd63cfd4b4632029fd68d2c2dc81f25ce9eb5224dd5/lxml-6.0.2-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092", size = 5267426, upload-time = "2025-09-22T04:01:35.639Z" }, - { url = "https://files.pythonhosted.org/packages/ea/47/62c70aa4a1c26569bc958c9ca86af2bb4e1f614e8c04fb2989833874f7ae/lxml-6.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f", size = 5064917, upload-time = "2025-09-22T04:01:37.448Z" }, - { url = "https://files.pythonhosted.org/packages/bd/55/6ceddaca353ebd0f1908ef712c597f8570cc9c58130dbb89903198e441fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8", size = 4788795, upload-time = "2025-09-22T04:01:39.165Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e8/fd63e15da5e3fd4c2146f8bbb3c14e94ab850589beab88e547b2dbce22e1/lxml-6.0.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f", size = 5676759, upload-time = "2025-09-22T04:01:41.506Z" }, - { url = "https://files.pythonhosted.org/packages/76/47/b3ec58dc5c374697f5ba37412cd2728f427d056315d124dd4b61da381877/lxml-6.0.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6", size = 5255666, upload-time = "2025-09-22T04:01:43.363Z" }, - { url = "https://files.pythonhosted.org/packages/19/93/03ba725df4c3d72afd9596eef4a37a837ce8e4806010569bedfcd2cb68fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322", size = 5277989, upload-time = "2025-09-22T04:01:45.215Z" }, - { url = "https://files.pythonhosted.org/packages/c6/80/c06de80bfce881d0ad738576f243911fccf992687ae09fd80b734712b39c/lxml-6.0.2-cp312-cp312-win32.whl", hash = "sha256:3ae2ce7d6fedfb3414a2b6c5e20b249c4c607f72cb8d2bb7cc9c6ec7c6f4e849", size = 3611456, upload-time = "2025-09-22T04:01:48.243Z" }, - { url = "https://files.pythonhosted.org/packages/f7/d7/0cdfb6c3e30893463fb3d1e52bc5f5f99684a03c29a0b6b605cfae879cd5/lxml-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:72c87e5ee4e58a8354fb9c7c84cbf95a1c8236c127a5d1b7683f04bed8361e1f", size = 4011793, upload-time = "2025-09-22T04:01:50.042Z" }, - { url = "https://files.pythonhosted.org/packages/ea/7b/93c73c67db235931527301ed3785f849c78991e2e34f3fd9a6663ffda4c5/lxml-6.0.2-cp312-cp312-win_arm64.whl", hash = "sha256:61cb10eeb95570153e0c0e554f58df92ecf5109f75eacad4a95baa709e26c3d6", size = 3672836, upload-time = "2025-09-22T04:01:52.145Z" }, - { url = "https://files.pythonhosted.org/packages/53/fd/4e8f0540608977aea078bf6d79f128e0e2c2bba8af1acf775c30baa70460/lxml-6.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9b33d21594afab46f37ae58dfadd06636f154923c4e8a4d754b0127554eb2e77", size = 8648494, upload-time = "2025-09-22T04:01:54.242Z" }, - { url = "https://files.pythonhosted.org/packages/5d/f4/2a94a3d3dfd6c6b433501b8d470a1960a20ecce93245cf2db1706adf6c19/lxml-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c8963287d7a4c5c9a432ff487c52e9c5618667179c18a204bdedb27310f022f", size = 4661146, upload-time = "2025-09-22T04:01:56.282Z" }, - { url = "https://files.pythonhosted.org/packages/25/2e/4efa677fa6b322013035d38016f6ae859d06cac67437ca7dc708a6af7028/lxml-6.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1941354d92699fb5ffe6ed7b32f9649e43c2feb4b97205f75866f7d21aa91452", size = 4946932, upload-time = "2025-09-22T04:01:58.989Z" }, - { url = "https://files.pythonhosted.org/packages/ce/0f/526e78a6d38d109fdbaa5049c62e1d32fdd70c75fb61c4eadf3045d3d124/lxml-6.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb2f6ca0ae2d983ded09357b84af659c954722bbf04dea98030064996d156048", size = 5100060, upload-time = "2025-09-22T04:02:00.812Z" }, - { url = "https://files.pythonhosted.org/packages/81/76/99de58d81fa702cc0ea7edae4f4640416c2062813a00ff24bd70ac1d9c9b/lxml-6.0.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb2a12d704f180a902d7fa778c6d71f36ceb7b0d317f34cdc76a5d05aa1dd1df", size = 5019000, upload-time = "2025-09-22T04:02:02.671Z" }, - { url = "https://files.pythonhosted.org/packages/b5/35/9e57d25482bc9a9882cb0037fdb9cc18f4b79d85df94fa9d2a89562f1d25/lxml-6.0.2-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:6ec0e3f745021bfed19c456647f0298d60a24c9ff86d9d051f52b509663feeb1", size = 5348496, upload-time = "2025-09-22T04:02:04.904Z" }, - { url = "https://files.pythonhosted.org/packages/a6/8e/cb99bd0b83ccc3e8f0f528e9aa1f7a9965dfec08c617070c5db8d63a87ce/lxml-6.0.2-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:846ae9a12d54e368933b9759052d6206a9e8b250291109c48e350c1f1f49d916", size = 5643779, upload-time = "2025-09-22T04:02:06.689Z" }, - { url = "https://files.pythonhosted.org/packages/d0/34/9e591954939276bb679b73773836c6684c22e56d05980e31d52a9a8deb18/lxml-6.0.2-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef9266d2aa545d7374938fb5c484531ef5a2ec7f2d573e62f8ce722c735685fd", size = 5244072, upload-time = "2025-09-22T04:02:08.587Z" }, - { url = "https://files.pythonhosted.org/packages/8d/27/b29ff065f9aaca443ee377aff699714fcbffb371b4fce5ac4ca759e436d5/lxml-6.0.2-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:4077b7c79f31755df33b795dc12119cb557a0106bfdab0d2c2d97bd3cf3dffa6", size = 4718675, upload-time = "2025-09-22T04:02:10.783Z" }, - { url = "https://files.pythonhosted.org/packages/2b/9f/f756f9c2cd27caa1a6ef8c32ae47aadea697f5c2c6d07b0dae133c244fbe/lxml-6.0.2-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a7c5d5e5f1081955358533be077166ee97ed2571d6a66bdba6ec2f609a715d1a", size = 5255171, upload-time = "2025-09-22T04:02:12.631Z" }, - { url = "https://files.pythonhosted.org/packages/61/46/bb85ea42d2cb1bd8395484fd72f38e3389611aa496ac7772da9205bbda0e/lxml-6.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8f8d0cbd0674ee89863a523e6994ac25fd5be9c8486acfc3e5ccea679bad2679", size = 5057175, upload-time = "2025-09-22T04:02:14.718Z" }, - { url = "https://files.pythonhosted.org/packages/95/0c/443fc476dcc8e41577f0af70458c50fe299a97bb6b7505bb1ae09aa7f9ac/lxml-6.0.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2cbcbf6d6e924c28f04a43f3b6f6e272312a090f269eff68a2982e13e5d57659", size = 4785688, upload-time = "2025-09-22T04:02:16.957Z" }, - { url = "https://files.pythonhosted.org/packages/48/78/6ef0b359d45bb9697bc5a626e1992fa5d27aa3f8004b137b2314793b50a0/lxml-6.0.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dfb874cfa53340009af6bdd7e54ebc0d21012a60a4e65d927c2e477112e63484", size = 5660655, upload-time = "2025-09-22T04:02:18.815Z" }, - { url = "https://files.pythonhosted.org/packages/ff/ea/e1d33808f386bc1339d08c0dcada6e4712d4ed8e93fcad5f057070b7988a/lxml-6.0.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:fb8dae0b6b8b7f9e96c26fdd8121522ce5de9bb5538010870bd538683d30e9a2", size = 5247695, upload-time = "2025-09-22T04:02:20.593Z" }, - { url = "https://files.pythonhosted.org/packages/4f/47/eba75dfd8183673725255247a603b4ad606f4ae657b60c6c145b381697da/lxml-6.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:358d9adae670b63e95bc59747c72f4dc97c9ec58881d4627fe0120da0f90d314", size = 5269841, upload-time = "2025-09-22T04:02:22.489Z" }, - { url = "https://files.pythonhosted.org/packages/76/04/5c5e2b8577bc936e219becb2e98cdb1aca14a4921a12995b9d0c523502ae/lxml-6.0.2-cp313-cp313-win32.whl", hash = "sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2", size = 3610700, upload-time = "2025-09-22T04:02:24.465Z" }, - { url = "https://files.pythonhosted.org/packages/fe/0a/4643ccc6bb8b143e9f9640aa54e38255f9d3b45feb2cbe7ae2ca47e8782e/lxml-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7", size = 4010347, upload-time = "2025-09-22T04:02:26.286Z" }, - { url = "https://files.pythonhosted.org/packages/31/ef/dcf1d29c3f530577f61e5fe2f1bd72929acf779953668a8a47a479ae6f26/lxml-6.0.2-cp313-cp313-win_arm64.whl", hash = "sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf", size = 3671248, upload-time = "2025-09-22T04:02:27.918Z" }, - { url = "https://files.pythonhosted.org/packages/03/15/d4a377b385ab693ce97b472fe0c77c2b16ec79590e688b3ccc71fba19884/lxml-6.0.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe", size = 8659801, upload-time = "2025-09-22T04:02:30.113Z" }, - { url = "https://files.pythonhosted.org/packages/c8/e8/c128e37589463668794d503afaeb003987373c5f94d667124ffd8078bbd9/lxml-6.0.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d", size = 4659403, upload-time = "2025-09-22T04:02:32.119Z" }, - { url = "https://files.pythonhosted.org/packages/00/ce/74903904339decdf7da7847bb5741fc98a5451b42fc419a86c0c13d26fe2/lxml-6.0.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d", size = 4966974, upload-time = "2025-09-22T04:02:34.155Z" }, - { url = "https://files.pythonhosted.org/packages/1f/d3/131dec79ce61c5567fecf82515bd9bc36395df42501b50f7f7f3bd065df0/lxml-6.0.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5", size = 5102953, upload-time = "2025-09-22T04:02:36.054Z" }, - { url = "https://files.pythonhosted.org/packages/3a/ea/a43ba9bb750d4ffdd885f2cd333572f5bb900cd2408b67fdda07e85978a0/lxml-6.0.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0", size = 5055054, upload-time = "2025-09-22T04:02:38.154Z" }, - { url = "https://files.pythonhosted.org/packages/60/23/6885b451636ae286c34628f70a7ed1fcc759f8d9ad382d132e1c8d3d9bfd/lxml-6.0.2-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba", size = 5352421, upload-time = "2025-09-22T04:02:40.413Z" }, - { url = "https://files.pythonhosted.org/packages/48/5b/fc2ddfc94ddbe3eebb8e9af6e3fd65e2feba4967f6a4e9683875c394c2d8/lxml-6.0.2-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0", size = 5673684, upload-time = "2025-09-22T04:02:42.288Z" }, - { url = "https://files.pythonhosted.org/packages/29/9c/47293c58cc91769130fbf85531280e8cc7868f7fbb6d92f4670071b9cb3e/lxml-6.0.2-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d", size = 5252463, upload-time = "2025-09-22T04:02:44.165Z" }, - { url = "https://files.pythonhosted.org/packages/9b/da/ba6eceb830c762b48e711ded880d7e3e89fc6c7323e587c36540b6b23c6b/lxml-6.0.2-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37", size = 4698437, upload-time = "2025-09-22T04:02:46.524Z" }, - { url = "https://files.pythonhosted.org/packages/a5/24/7be3f82cb7990b89118d944b619e53c656c97dc89c28cfb143fdb7cd6f4d/lxml-6.0.2-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9", size = 5269890, upload-time = "2025-09-22T04:02:48.812Z" }, - { url = "https://files.pythonhosted.org/packages/1b/bd/dcfb9ea1e16c665efd7538fc5d5c34071276ce9220e234217682e7d2c4a5/lxml-6.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917", size = 5097185, upload-time = "2025-09-22T04:02:50.746Z" }, - { url = "https://files.pythonhosted.org/packages/21/04/a60b0ff9314736316f28316b694bccbbabe100f8483ad83852d77fc7468e/lxml-6.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f", size = 4745895, upload-time = "2025-09-22T04:02:52.968Z" }, - { url = "https://files.pythonhosted.org/packages/d6/bd/7d54bd1846e5a310d9c715921c5faa71cf5c0853372adf78aee70c8d7aa2/lxml-6.0.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8", size = 5695246, upload-time = "2025-09-22T04:02:54.798Z" }, - { url = "https://files.pythonhosted.org/packages/fd/32/5643d6ab947bc371da21323acb2a6e603cedbe71cb4c99c8254289ab6f4e/lxml-6.0.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a", size = 5260797, upload-time = "2025-09-22T04:02:57.058Z" }, - { url = "https://files.pythonhosted.org/packages/33/da/34c1ec4cff1eea7d0b4cd44af8411806ed943141804ac9c5d565302afb78/lxml-6.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c", size = 5277404, upload-time = "2025-09-22T04:02:58.966Z" }, - { url = "https://files.pythonhosted.org/packages/82/57/4eca3e31e54dc89e2c3507e1cd411074a17565fa5ffc437c4ae0a00d439e/lxml-6.0.2-cp314-cp314-win32.whl", hash = "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b", size = 3670072, upload-time = "2025-09-22T04:03:38.05Z" }, - { url = "https://files.pythonhosted.org/packages/e3/e0/c96cf13eccd20c9421ba910304dae0f619724dcf1702864fd59dd386404d/lxml-6.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed", size = 4080617, upload-time = "2025-09-22T04:03:39.835Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5d/b3f03e22b3d38d6f188ef044900a9b29b2fe0aebb94625ce9fe244011d34/lxml-6.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8", size = 3754930, upload-time = "2025-09-22T04:03:41.565Z" }, - { url = "https://files.pythonhosted.org/packages/5e/5c/42c2c4c03554580708fc738d13414801f340c04c3eff90d8d2d227145275/lxml-6.0.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d", size = 8910380, upload-time = "2025-09-22T04:03:01.645Z" }, - { url = "https://files.pythonhosted.org/packages/bf/4f/12df843e3e10d18d468a7557058f8d3733e8b6e12401f30b1ef29360740f/lxml-6.0.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba", size = 4775632, upload-time = "2025-09-22T04:03:03.814Z" }, - { url = "https://files.pythonhosted.org/packages/e4/0c/9dc31e6c2d0d418483cbcb469d1f5a582a1cd00a1f4081953d44051f3c50/lxml-6.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601", size = 4975171, upload-time = "2025-09-22T04:03:05.651Z" }, - { url = "https://files.pythonhosted.org/packages/e7/2b/9b870c6ca24c841bdd887504808f0417aa9d8d564114689266f19ddf29c8/lxml-6.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed", size = 5110109, upload-time = "2025-09-22T04:03:07.452Z" }, - { url = "https://files.pythonhosted.org/packages/bf/0c/4f5f2a4dd319a178912751564471355d9019e220c20d7db3fb8307ed8582/lxml-6.0.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37", size = 5041061, upload-time = "2025-09-22T04:03:09.297Z" }, - { url = "https://files.pythonhosted.org/packages/12/64/554eed290365267671fe001a20d72d14f468ae4e6acef1e179b039436967/lxml-6.0.2-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338", size = 5306233, upload-time = "2025-09-22T04:03:11.651Z" }, - { url = "https://files.pythonhosted.org/packages/7a/31/1d748aa275e71802ad9722df32a7a35034246b42c0ecdd8235412c3396ef/lxml-6.0.2-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9", size = 5604739, upload-time = "2025-09-22T04:03:13.592Z" }, - { url = "https://files.pythonhosted.org/packages/8f/41/2c11916bcac09ed561adccacceaedd2bf0e0b25b297ea92aab99fd03d0fa/lxml-6.0.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd", size = 5225119, upload-time = "2025-09-22T04:03:15.408Z" }, - { url = "https://files.pythonhosted.org/packages/99/05/4e5c2873d8f17aa018e6afde417c80cc5d0c33be4854cce3ef5670c49367/lxml-6.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d", size = 4633665, upload-time = "2025-09-22T04:03:17.262Z" }, - { url = "https://files.pythonhosted.org/packages/0f/c9/dcc2da1bebd6275cdc723b515f93edf548b82f36a5458cca3578bc899332/lxml-6.0.2-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9", size = 5234997, upload-time = "2025-09-22T04:03:19.14Z" }, - { url = "https://files.pythonhosted.org/packages/9c/e2/5172e4e7468afca64a37b81dba152fc5d90e30f9c83c7c3213d6a02a5ce4/lxml-6.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e", size = 5090957, upload-time = "2025-09-22T04:03:21.436Z" }, - { url = "https://files.pythonhosted.org/packages/a5/b3/15461fd3e5cd4ddcb7938b87fc20b14ab113b92312fc97afe65cd7c85de1/lxml-6.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d", size = 4764372, upload-time = "2025-09-22T04:03:23.27Z" }, - { url = "https://files.pythonhosted.org/packages/05/33/f310b987c8bf9e61c4dd8e8035c416bd3230098f5e3cfa69fc4232de7059/lxml-6.0.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec", size = 5634653, upload-time = "2025-09-22T04:03:25.767Z" }, - { url = "https://files.pythonhosted.org/packages/70/ff/51c80e75e0bc9382158133bdcf4e339b5886c6ee2418b5199b3f1a61ed6d/lxml-6.0.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272", size = 5233795, upload-time = "2025-09-22T04:03:27.62Z" }, - { url = "https://files.pythonhosted.org/packages/56/4d/4856e897df0d588789dd844dbed9d91782c4ef0b327f96ce53c807e13128/lxml-6.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f", size = 5257023, upload-time = "2025-09-22T04:03:30.056Z" }, - { url = "https://files.pythonhosted.org/packages/0f/85/86766dfebfa87bea0ab78e9ff7a4b4b45225df4b4d3b8cc3c03c5cd68464/lxml-6.0.2-cp314-cp314t-win32.whl", hash = "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312", size = 3911420, upload-time = "2025-09-22T04:03:32.198Z" }, - { url = "https://files.pythonhosted.org/packages/fe/1a/b248b355834c8e32614650b8008c69ffeb0ceb149c793961dd8c0b991bb3/lxml-6.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca", size = 4406837, upload-time = "2025-09-22T04:03:34.027Z" }, - { url = "https://files.pythonhosted.org/packages/92/aa/df863bcc39c5e0946263454aba394de8a9084dbaff8ad143846b0d844739/lxml-6.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c", size = 3822205, upload-time = "2025-09-22T04:03:36.249Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d4/9326838b59dc36dfae42eec9656b97520f9997eee1de47b8316aaeed169c/lxml-6.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d2f17a16cd8751e8eb233a7e41aecdf8e511712e00088bf9be455f604cd0d28d", size = 8570663, upload-time = "2026-04-18T04:27:48.253Z" }, + { url = "https://files.pythonhosted.org/packages/d8/a4/053745ce1f8303ccbb788b86c0db3a91b973675cefc42566a188637b7c40/lxml-6.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f0cea5b1d3e6e77d71bd2b9972eb2446221a69dc52bb0b9c3c6f6e5700592d93", size = 4624024, upload-time = "2026-04-18T04:27:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/90/97/a517944b20f8fd0932ad2109482bee4e29fe721416387a363306667941f6/lxml-6.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fc46da94826188ed45cb53bd8e3fc076ae22675aea2087843d4735627f867c6d", size = 4930895, upload-time = "2026-04-18T04:32:56.29Z" }, + { url = "https://files.pythonhosted.org/packages/94/7c/e08a970727d556caa040a44773c7b7e3ad0f0d73dedc863543e9a8b931f2/lxml-6.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9147d8e386ec3b82c3b15d88927f734f565b0aaadef7def562b853adca45784a", size = 5093820, upload-time = "2026-04-18T04:32:58.94Z" }, + { url = "https://files.pythonhosted.org/packages/88/ee/2a5c2aa2c32016a226ca25d3e1056a8102ea6e1fe308bf50213586635400/lxml-6.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5715e0e28736a070f3f34a7ccc09e2fdcba0e3060abbcf61a1a5718ff6d6b105", size = 5005790, upload-time = "2026-04-18T04:33:01.272Z" }, + { url = "https://files.pythonhosted.org/packages/e3/38/a0db9be8f38ad6043ab9429487c128dd1d30f07956ef43040402f8da49e8/lxml-6.1.0-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4937460dc5df0cdd2f06a86c285c28afda06aefa3af949f9477d3e8df430c485", size = 5630827, upload-time = "2026-04-18T04:33:04.036Z" }, + { url = "https://files.pythonhosted.org/packages/31/ba/3c13d3fc24b7cacf675f808a3a1baabf43a30d0cd24c98f94548e9aa58eb/lxml-6.1.0-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bc783ee3147e60a25aa0445ea82b3e8aabb83b240f2b95d32cb75587ff781814", size = 5240445, upload-time = "2026-04-18T04:33:06.87Z" }, + { url = "https://files.pythonhosted.org/packages/55/ba/eeef4ccba09b2212fe239f46c1692a98db1878e0872ae320756488878a94/lxml-6.1.0-cp312-cp312-manylinux_2_28_i686.whl", hash = "sha256:40d9189f80075f2e1f88db21ef815a2b17b28adf8e50aaf5c789bfe737027f32", size = 5350121, upload-time = "2026-04-18T04:33:09.365Z" }, + { url = "https://files.pythonhosted.org/packages/7e/01/1da87c7b587c38d0cbe77a01aae3b9c1c49ed47d76918ef3db8fc151b1ca/lxml-6.1.0-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:05b9b8787e35bec69e68daf4952b2e6dfcfb0db7ecf1a06f8cdfbbac4eb71aad", size = 4694949, upload-time = "2026-04-18T04:33:11.628Z" }, + { url = "https://files.pythonhosted.org/packages/a1/88/7db0fe66d5aaf128443ee1623dec3db1576f3e4c17751ec0ef5866468590/lxml-6.1.0-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0f0f08beb0182e3e9a86fae124b3c47a7b41b7b69b225e1377db983802404e54", size = 5243901, upload-time = "2026-04-18T04:33:13.95Z" }, + { url = "https://files.pythonhosted.org/packages/00/a8/1346726af7d1f6fca1f11223ba34001462b0a3660416986d37641708d57c/lxml-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73becf6d8c81d4c76b1014dbd3584cb26d904492dcf73ca85dc8bff08dcd6d2d", size = 5048054, upload-time = "2026-04-18T04:33:16.965Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b7/85057012f035d1a0c87e02f8c723ca3c3e6e0728bcf4cb62080b21b1c1e3/lxml-6.1.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1ae225f66e5938f4fa29d37e009a3bb3b13032ac57eb4eb42afa44f6e4054e69", size = 4777324, upload-time = "2026-04-18T04:33:19.832Z" }, + { url = "https://files.pythonhosted.org/packages/75/6c/ad2f94a91073ef570f33718040e8e160d5fb93331cf1ab3ca1323f939e2d/lxml-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:690022c7fae793b0489aa68a658822cea83e0d5933781811cabbf5ea3bcfe73d", size = 5645702, upload-time = "2026-04-18T04:33:22.436Z" }, + { url = "https://files.pythonhosted.org/packages/3b/89/0bb6c0bd549c19004c60eea9dc554dd78fd647b72314ef25d460e0d208c6/lxml-6.1.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:63aeafc26aac0be8aff14af7871249e87ea1319be92090bfd632ec68e03b16a5", size = 5232901, upload-time = "2026-04-18T04:33:26.21Z" }, + { url = "https://files.pythonhosted.org/packages/a1/d9/d609a11fb567da9399f525193e2b49847b5a409cdebe737f06a8b7126bdc/lxml-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:264c605ab9c0e4aa1a679636f4582c4d3313700009fac3ec9c3412ed0d8f3e1d", size = 5261333, upload-time = "2026-04-18T04:33:28.984Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3a/ac3f99ec8ac93089e7dd556f279e0d14c24de0a74a507e143a2e4b496e7c/lxml-6.1.0-cp312-cp312-win32.whl", hash = "sha256:56971379bc5ee8037c5a0f09fa88f66cdb7d37c3e38af3e45cf539f41131ac1f", size = 3596289, upload-time = "2026-04-18T04:27:42.819Z" }, + { url = "https://files.pythonhosted.org/packages/f2/a7/0a915557538593cb1bbeedcd40e13c7a261822c26fecbbdb71dad0c2f540/lxml-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:bba078de0031c219e5dd06cf3e6bf8fb8e6e64a77819b358f53bb132e3e03366", size = 3997059, upload-time = "2026-04-18T04:27:46.764Z" }, + { url = "https://files.pythonhosted.org/packages/92/96/a5dc078cf0126fbfbc35611d77ecd5da80054b5893e28fb213a5613b9e1d/lxml-6.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:c3592631e652afa34999a088f98ba7dfc7d6aff0d535c410bea77a71743f3819", size = 3659552, upload-time = "2026-04-18T04:27:51.133Z" }, + { url = "https://files.pythonhosted.org/packages/08/03/69347590f1cf4a6d5a4944bb6099e6d37f334784f16062234e1f892fdb1d/lxml-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a0092f2b107b69601adf562a57c956fbb596e05e3e6651cabd3054113b007e45", size = 8559689, upload-time = "2026-04-18T04:31:57.785Z" }, + { url = "https://files.pythonhosted.org/packages/3f/58/25e00bb40b185c974cfe156c110474d9a8a8390d5f7c92a4e328189bb60e/lxml-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fc7140d7a7386e6b545d41b7358f4d02b656d4053f5fa6859f92f4b9c2572c4d", size = 4617892, upload-time = "2026-04-18T04:32:01.78Z" }, + { url = "https://files.pythonhosted.org/packages/f5/54/92ad98a94ac318dc4f97aaac22ff8d1b94212b2ae8af5b6e9b354bf825f7/lxml-6.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:419c58fc92cc3a2c3fa5f78c63dbf5da70c1fa9c1b25f25727ecee89a96c7de2", size = 4923489, upload-time = "2026-04-18T04:33:31.401Z" }, + { url = "https://files.pythonhosted.org/packages/15/3b/a20aecfab42bdf4f9b390590d345857ad3ffd7c51988d1c89c53a0c73faf/lxml-6.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:37fabd1452852636cf38ecdcc9dd5ca4bba7a35d6c53fa09725deeb894a87491", size = 5082162, upload-time = "2026-04-18T04:33:34.262Z" }, + { url = "https://files.pythonhosted.org/packages/45/26/2cdb3d281ac1bd175603e290cbe4bad6eff127c0f8de90bafd6f8548f0fd/lxml-6.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2853c8b2170cc6cd54a6b4d50d2c1a8a7aeca201f23804b4898525c7a152cfc", size = 4993247, upload-time = "2026-04-18T04:33:36.674Z" }, + { url = "https://files.pythonhosted.org/packages/f6/05/d735aef963740022a08185c84821f689fc903acb3d50326e6b1e9886cc22/lxml-6.1.0-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8e369cbd690e788c8d15e56222d91a09c6a417f49cbc543040cba0fe2e25a79e", size = 5613042, upload-time = "2026-04-18T04:33:39.205Z" }, + { url = "https://files.pythonhosted.org/packages/ee/b8/ead7c10efff731738c72e59ed6eb5791854879fbed7ae98781a12006263a/lxml-6.1.0-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e69aa6805905807186eb00e66c6d97a935c928275182eb02ee40ba00da9623b2", size = 5228304, upload-time = "2026-04-18T04:33:41.647Z" }, + { url = "https://files.pythonhosted.org/packages/6b/10/e9842d2ec322ea65f0a7270aa0315a53abed06058b88ef1b027f620e7a5f/lxml-6.1.0-cp313-cp313-manylinux_2_28_i686.whl", hash = "sha256:4bd1bdb8a9e0e2dd229de19b5f8aebac80e916921b4b2c6ef8a52bc131d0c1f9", size = 5341578, upload-time = "2026-04-18T04:33:44.596Z" }, + { url = "https://files.pythonhosted.org/packages/89/54/40d9403d7c2775fa7301d3ddd3464689bfe9ba71acc17dfff777071b4fdc/lxml-6.1.0-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:cbd7b79cdcb4986ad78a2662625882747f09db5e4cd7b2ae178a88c9c51b3dfe", size = 4700209, upload-time = "2026-04-18T04:33:47.552Z" }, + { url = "https://files.pythonhosted.org/packages/85/b2/bbdcc2cf45dfc7dfffef4fd97e5c47b15919b6a365247d95d6f684ef5e82/lxml-6.1.0-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:43e4d297f11080ec9d64a4b1ad7ac02b4484c9f0e2179d9c4ef78e886e747b88", size = 5232365, upload-time = "2026-04-18T04:33:50.249Z" }, + { url = "https://files.pythonhosted.org/packages/48/5a/b06875665e53aaba7127611a7bed3b7b9658e20b22bc2dd217a0b7ab0091/lxml-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cc16682cc987a3da00aa56a3aa3075b08edb10d9b1e476938cfdbee8f3b67181", size = 5043654, upload-time = "2026-04-18T04:33:52.71Z" }, + { url = "https://files.pythonhosted.org/packages/e9/9c/e71a069d09641c1a7abeb30e693f828c7c90a41cbe3d650b2d734d876f85/lxml-6.1.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:d6d8efe71429635f0559579092bb5e60560d7b9115ee38c4adbea35632e7fa24", size = 4769326, upload-time = "2026-04-18T04:33:55.244Z" }, + { url = "https://files.pythonhosted.org/packages/cc/06/7a9cd84b3d4ed79adf35f874750abb697dec0b4a81a836037b36e47c091a/lxml-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7e39ab3a28af7784e206d8606ec0e4bcad0190f63a492bca95e94e5a4aef7f6e", size = 5635879, upload-time = "2026-04-18T04:33:58.509Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f0/9d57916befc1e54c451712c7ee48e9e74e80ae4d03bdce49914e0aee42cd/lxml-6.1.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:9eb667bf50856c4a58145f8ca2d5e5be160191e79eb9e30855a476191b3c3495", size = 5224048, upload-time = "2026-04-18T04:34:00.943Z" }, + { url = "https://files.pythonhosted.org/packages/99/75/90c4eefda0c08c92221fe0753db2d6699a4c628f76ff4465ec20dea84cc1/lxml-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7f4a77d6f7edf9230cee3e1f7f6764722a41604ee5681844f18db9a81ea0ec33", size = 5250241, upload-time = "2026-04-18T04:34:03.365Z" }, + { url = "https://files.pythonhosted.org/packages/5e/73/16596f7e4e38fa33084b9ccbccc22a15f82a290a055126f2c1541236d2ff/lxml-6.1.0-cp313-cp313-win32.whl", hash = "sha256:28902146ffbe5222df411c5d19e5352490122e14447e98cd118907ee3fd6ee62", size = 3596938, upload-time = "2026-04-18T04:31:56.206Z" }, + { url = "https://files.pythonhosted.org/packages/8e/63/981401c5680c1eb30893f00a19641ac80db5d1e7086c62cb4b13ed813038/lxml-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:4a1503c56e4e2b38dc76f2f2da7bae69670c0f1933e27cfa34b2fa5876410b16", size = 3995728, upload-time = "2026-04-18T04:31:58.763Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e8/c358a38ac3e541d16a1b527e4e9cb78c0419b0506a070ace11777e5e8404/lxml-6.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:e0af85773850417d994d019741239b901b22c6680206f46a34766926e466141d", size = 3658372, upload-time = "2026-04-18T04:32:03.629Z" }, + { url = "https://files.pythonhosted.org/packages/eb/45/cee4cf203ef0bab5c52afc118da61d6b460c928f2893d40023cfa27e0b80/lxml-6.1.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:ab863fd37458fed6456525f297d21239d987800c46e67da5ef04fc6b3dd93ac8", size = 8576713, upload-time = "2026-04-18T04:32:06.831Z" }, + { url = "https://files.pythonhosted.org/packages/8a/a7/eda05babeb7e046839204eaf254cd4d7c9130ce2bbf0d9e90ea41af5654d/lxml-6.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6fd8b1df8254ff4fd93fd31da1fc15770bde23ac045be9bb1f87425702f61cc9", size = 4623874, upload-time = "2026-04-18T04:32:10.755Z" }, + { url = "https://files.pythonhosted.org/packages/e7/e9/db5846de9b436b91890a62f29d80cd849ea17948a49bf532d5278ee69a9e/lxml-6.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:47024feaae386a92a146af0d2aeed65229bf6fff738e6a11dda6b0015fb8fd03", size = 4949535, upload-time = "2026-04-18T04:34:06.657Z" }, + { url = "https://files.pythonhosted.org/packages/5a/ba/0d3593373dcae1d68f40dc3c41a5a92f2544e68115eb2f62319a4c2a6500/lxml-6.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3f00972f84450204cd5d93a5395965e348956aaceaadec693a22ec743f8ae3eb", size = 5086881, upload-time = "2026-04-18T04:34:09.556Z" }, + { url = "https://files.pythonhosted.org/packages/43/76/759a7484539ad1af0d125a9afe9c3fb5f82a8779fd1f5f56319d9e4ea2fd/lxml-6.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97faa0860e13b05b15a51fb4986421ef7a30f0b3334061c416e0981e9450ca4c", size = 5031305, upload-time = "2026-04-18T04:34:12.336Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b9/c1f0daf981a11e47636126901fd4ab82429e18c57aeb0fc3ad2940b42d8b/lxml-6.1.0-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:972a6451204798675407beaad97b868d0c733d9a74dafefc63120b81b8c2de28", size = 5647522, upload-time = "2026-04-18T04:34:14.89Z" }, + { url = "https://files.pythonhosted.org/packages/31/e6/1f533dcd205275363d9ba3511bcec52fa2df86abf8abe6a5f2c599f0dc31/lxml-6.1.0-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fe022f20bc4569ec66b63b3fb275a3d628d9d32da6326b2982584104db6d3086", size = 5239310, upload-time = "2026-04-18T04:34:17.652Z" }, + { url = "https://files.pythonhosted.org/packages/c3/8c/4175fb709c78a6e315ed814ed33be3defd8b8721067e70419a6cf6f971da/lxml-6.1.0-cp314-cp314-manylinux_2_28_i686.whl", hash = "sha256:75c4c7c619a744f972f4451bf5adf6d0fb00992a1ffc9fd78e13b0bc817cc99f", size = 5350799, upload-time = "2026-04-18T04:34:20.529Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/6ffdebc5994975f0dde4acb59761902bd9d9bb84422b9a0bd239a7da9ca8/lxml-6.1.0-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:3648f20d25102a22b6061c688beb3a805099ea4beb0a01ce62975d926944d292", size = 4697693, upload-time = "2026-04-18T04:34:23.541Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f1/565f36bd5c73294602d48e04d23f81ff4c8736be6ba5e1d1ec670ac9be80/lxml-6.1.0-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:77b9f99b17cbf14026d1e618035077060fc7195dd940d025149f3e2e830fbfcb", size = 5250708, upload-time = "2026-04-18T04:34:26.001Z" }, + { url = "https://files.pythonhosted.org/packages/5a/11/a68ab9dd18c5c499404deb4005f4bc4e0e88e5b72cd755ad96efec81d18d/lxml-6.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:32662519149fd7a9db354175aa5e417d83485a8039b8aaa62f873ceee7ea4cad", size = 5084737, upload-time = "2026-04-18T04:34:28.32Z" }, + { url = "https://files.pythonhosted.org/packages/ab/78/e8f41e2c74f4af564e6a0348aea69fb6daaefa64bc071ef469823d22cc18/lxml-6.1.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:73d658216fc173cf2c939e90e07b941c5e12736b0bf6a99e7af95459cfe8eabb", size = 4737817, upload-time = "2026-04-18T04:34:30.784Z" }, + { url = "https://files.pythonhosted.org/packages/06/2d/aa4e117aa2ce2f3b35d9ff246be74a2f8e853baba5d2a92c64744474603a/lxml-6.1.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ac4db068889f8772a4a698c5980ec302771bb545e10c4b095d4c8be26749616f", size = 5670753, upload-time = "2026-04-18T04:34:33.675Z" }, + { url = "https://files.pythonhosted.org/packages/08/f5/dd745d50c0409031dbfcc4881740542a01e54d6f0110bd420fa7782110b8/lxml-6.1.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:45e9dfbd1b661eb64ba0d4dbe762bd210c42d86dd1e5bd2bdf89d634231beb43", size = 5238071, upload-time = "2026-04-18T04:34:36.12Z" }, + { url = "https://files.pythonhosted.org/packages/3e/74/ad424f36d0340a904665867dab310a3f1f4c96ff4039698de83b77f44c1f/lxml-6.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:89e8d73d09ac696a5ba42ec69787913d53284f12092f651506779314f10ba585", size = 5264319, upload-time = "2026-04-18T04:34:39.035Z" }, + { url = "https://files.pythonhosted.org/packages/53/36/a15d8b3514ec889bfd6aa3609107fcb6c9189f8dc347f1c0b81eded8d87c/lxml-6.1.0-cp314-cp314-win32.whl", hash = "sha256:ebe33f4ec1b2de38ceb225a1749a2965855bffeef435ba93cd2d5d540783bf2f", size = 3657139, upload-time = "2026-04-18T04:32:20.006Z" }, + { url = "https://files.pythonhosted.org/packages/1a/a4/263ebb0710851a3c6c937180a9a86df1206fdfe53cc43005aa2237fd7736/lxml-6.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:398443df51c538bd578529aa7e5f7afc6c292644174b47961f3bf87fe5741120", size = 4064195, upload-time = "2026-04-18T04:32:23.876Z" }, + { url = "https://files.pythonhosted.org/packages/80/68/2000f29d323b6c286de077ad20b429fc52272e44eae6d295467043e56012/lxml-6.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:8c8984e1d8c4b3949e419158fda14d921ff703a9ed8a47236c6eb7a2b6cb4946", size = 3741870, upload-time = "2026-04-18T04:32:27.922Z" }, + { url = "https://files.pythonhosted.org/packages/30/e9/21383c7c8d43799f0da90224c0d7c921870d476ec9b3e01e1b2c0b8237c5/lxml-6.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:1081dd10bc6fa437db2500e13993abf7cc30716d0a2f40e65abb935f02ec559c", size = 8827548, upload-time = "2026-04-18T04:32:15.094Z" }, + { url = "https://files.pythonhosted.org/packages/a5/01/c6bc11cd587030dd4f719f65c5657960649fe3e19196c844c75bf32cd0d6/lxml-6.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:dabecc48db5f42ba348d1f5d5afdc54c6c4cc758e676926c7cd327045749517d", size = 4735866, upload-time = "2026-04-18T04:32:18.924Z" }, + { url = "https://files.pythonhosted.org/packages/f3/01/757132fff5f4acf25463b5298f1a46099f3a94480b806547b29ce5e385de/lxml-6.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e3dd5fe19c9e0ac818a9c7f132a5e43c1339ec1cbbfecb1a938bd3a47875b7c9", size = 4969476, upload-time = "2026-04-18T04:34:41.889Z" }, + { url = "https://files.pythonhosted.org/packages/fd/fb/1bc8b9d27ed64be7c8903db6c89e74dc8c2cd9ec630a7462e4654316dc5b/lxml-6.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9e7b0a4ca6dcc007a4cef00a761bba2dea959de4bd2df98f926b33c92ca5dfb9", size = 5103719, upload-time = "2026-04-18T04:34:44.797Z" }, + { url = "https://files.pythonhosted.org/packages/d5/e7/5bf82fa28133536a54601aae633b14988e89ed61d4c1eb6b899b023233aa/lxml-6.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d27bbe326c6b539c64b42638b18bc6003a8d88f76213a97ac9ed4f885efeab7", size = 5027890, upload-time = "2026-04-18T04:34:47.634Z" }, + { url = "https://files.pythonhosted.org/packages/2d/20/e048db5d4b4ea0366648aa595f26bb764b2670903fc585b87436d0a5032c/lxml-6.1.0-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4e425db0c5445ef0ad56b0eec54f89b88b2d884656e536a90b2f52aecb4ca86", size = 5596008, upload-time = "2026-04-18T04:34:51.503Z" }, + { url = "https://files.pythonhosted.org/packages/9a/c2/d10807bc8da4824b39e5bd01b5d05c077b6fd01bd91584167edf6b269d22/lxml-6.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b89b098105b8599dc57adac95d1813409ac476d3c948a498775d3d0c6124bfb", size = 5224451, upload-time = "2026-04-18T04:34:54.263Z" }, + { url = "https://files.pythonhosted.org/packages/3c/15/2ebea45bea427e7f0057e9ce7b2d62c5aba20c6b001cca89ed0aadb3ad41/lxml-6.1.0-cp314-cp314t-manylinux_2_28_i686.whl", hash = "sha256:c4a699432846df86cc3de502ee85f445ebad748a1c6021d445f3e514d2cd4b1c", size = 5312135, upload-time = "2026-04-18T04:34:56.818Z" }, + { url = "https://files.pythonhosted.org/packages/31/e2/87eeae151b0be2a308d49a7ec444ff3eb192b14251e62addb29d0bf3778f/lxml-6.1.0-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:30e7b2ed63b6c8e97cca8af048589a788ab5c9c905f36d9cf1c2bb549f450d2f", size = 4639126, upload-time = "2026-04-18T04:34:59.704Z" }, + { url = "https://files.pythonhosted.org/packages/a3/51/8a3f6a20902ad604dd746ec7b4000311b240d389dac5e9d95adefd349e0c/lxml-6.1.0-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:022981127642fe19866d2907d76241bb07ed21749601f727d5d5dd1ce5d1b773", size = 5232579, upload-time = "2026-04-18T04:35:02.658Z" }, + { url = "https://files.pythonhosted.org/packages/6d/d2/650d619bdbe048d2c3f2c31edb00e35670a5e2d65b4fe3b61bce37b19121/lxml-6.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:23cad0cc86046d4222f7f418910e46b89971c5a45d3c8abfad0f64b7b05e4a9b", size = 5084206, upload-time = "2026-04-18T04:35:05.175Z" }, + { url = "https://files.pythonhosted.org/packages/dd/8a/672ca1a3cbeabd1f511ca275a916c0514b747f4b85bdaae103b8fa92f307/lxml-6.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:21c3302068f50d1e8728c67c87ba92aa87043abee517aa2576cca1855326b405", size = 4758906, upload-time = "2026-04-18T04:35:08.098Z" }, + { url = "https://files.pythonhosted.org/packages/be/f1/ef4b691da85c916cb2feb1eec7414f678162798ac85e042fa164419ac05c/lxml-6.1.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:be10838781cb3be19251e276910cd508fe127e27c3242e50521521a0f3781690", size = 5620553, upload-time = "2026-04-18T04:35:11.23Z" }, + { url = "https://files.pythonhosted.org/packages/59/17/94e81def74107809755ac2782fdad4404420f1c92ca83433d117a6d5acf0/lxml-6.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2173a7bffe97667bbf0767f8a99e587740a8c56fdf3befac4b09cb29a80276fd", size = 5229458, upload-time = "2026-04-18T04:35:14.254Z" }, + { url = "https://files.pythonhosted.org/packages/21/55/c4be91b0f830a871fc1b0d730943d56013b683d4671d5198260e2eae722b/lxml-6.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c6854e9cf99c84beb004eecd7d3a3868ef1109bf2b1df92d7bc11e96a36c2180", size = 5247861, upload-time = "2026-04-18T04:35:17.006Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ca/77123e4d77df3cb1e968ade7b1f808f5d3a5c1c96b18a33895397de292c1/lxml-6.1.0-cp314-cp314t-win32.whl", hash = "sha256:00750d63ef0031a05331b9223463b1c7c02b9004cef2346a5b2877f0f9494dd2", size = 3897377, upload-time = "2026-04-18T04:32:07.656Z" }, + { url = "https://files.pythonhosted.org/packages/64/ce/3554833989d074267c063209bae8b09815e5656456a2d332b947806b05ff/lxml-6.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:80410c3a7e3c617af04de17caa9f9f20adaa817093293d69eae7d7d0522836f5", size = 4392701, upload-time = "2026-04-18T04:32:12.113Z" }, + { url = "https://files.pythonhosted.org/packages/2b/a0/9b916c68c0e57752c07f8f64b30138d9d4059dbeb27b90274dedbea128ff/lxml-6.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:26dd9f57ee3bd41e7d35b4c98a2ffd89ed11591649f421f0ec19f67d50ec67ac", size = 3817120, upload-time = "2026-04-18T04:32:15.803Z" }, ] [[package]] From 7d2bdc4f33a4a6416badd4160092120ed3ff648c Mon Sep 17 00:00:00 2001 From: Patrick Quist Date: Wed, 22 Apr 2026 20:28:10 +0200 Subject: [PATCH 37/51] Add Norcroft C and C++ compiler support (#8641) --- CONTRIBUTORS.md | 1 + etc/config/c++.amazon.properties | 21 ++++- etc/config/c.amazon.properties | 21 ++++- lib/compilers/_all.ts | 1 + lib/compilers/norcroft.ts | 122 ++++++++++++++++++++++++++++ lib/parsers/asm-parser-norcroft.ts | 125 +++++++++++++++++++++++++++++ 6 files changed, 289 insertions(+), 2 deletions(-) create mode 100644 lib/compilers/norcroft.ts create mode 100644 lib/parsers/asm-parser-norcroft.ts diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index c9b08572c..753bca622 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -173,3 +173,4 @@ From oldest to newest contributor, we would like to thank: - [Josh Brice](https://github.com/jjb0123) - [Sean Garwood](https://github.com/sean-garwood) - [Victor Vianna](https://github.com/victorvianna) +- [Piers Wombwell](https://github.com/pwombwell) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index 5bd757f4b..d9b84529c 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -1,4 +1,4 @@ -compilers=&gcc86:&icc:&icx:&clang:&clangx86trunk:&clang-rocm:&mosclang-trunk:&rvclang:&wasmclang:&loongarch-clang:&cross:&ellcc:&zapcc:&djggp:&armclang32:&armclang64:&zigcxx:&cxx6502:godbolt.org@443/gpu:godbolt.org@443/winprod:&hexagon-clang:&edg:&vast:&qnx:&z80-clang:&clad-clang:&gcc-classic +compilers=&gcc86:&icc:&icx:&clang:&clangx86trunk:&clang-rocm:&mosclang-trunk:&rvclang:&wasmclang:&loongarch-clang:&cross:&ellcc:&zapcc:&djggp:&armclang32:&armclang64:&zigcxx:&cxx6502:godbolt.org@443/gpu:godbolt.org@443/winprod:&hexagon-clang:&edg:&vast:&qnx:&z80-clang:&clad-clang:&gcc-classic:&npparm # Disabled: nvcxx_x86_cxx # The disabled groups are actually used in the c++.gpu.properties. One day these might exist on both servers, so I want # to keep them in the same place. @@ -4834,6 +4834,25 @@ group.gcc-classic.instructionSet=amd64 compiler.g127.exe=/opt/compiler-explorer/gcc-1.27/bin/g++ compiler.g127.semver=1.27 +################################# +# Norcroft ARM C++ +group.npparm.compilers=npparm-trunk +group.npparm.groupName=Norcroft ARM C++ +group.npparm.baseName=Norcroft ARM C++ +group.npparm.compilerType=norcroft +group.npparm.instructionSet=arm32 +group.npparm.supportsBinary=false +group.npparm.supportsBinaryObject=false +group.npparm.supportsExecute=false +group.npparm.isSemVer=true +group.npparm.licenseName=BSD 3-clause +group.npparm.licenseLink=https://github.com/Norcroft/ncc-ng/blob/main/LICENSE + +compiler.npparm-trunk.exe=/opt/compiler-explorer/ncc-ng-trunk/bin/n++ +compiler.npparm-trunk.name=Norcroft ARM C++ (trunk) +compiler.npparm-trunk.semver=(trunk) +compiler.npparm-trunk.isNightly=true + ################################# ################################# # Installed libs diff --git a/etc/config/c.amazon.properties b/etc/config/c.amazon.properties index b205b9df9..fd4d9a9aa 100644 --- a/etc/config/c.amazon.properties +++ b/etc/config/c.amazon.properties @@ -1,4 +1,4 @@ -compilers=&cgcc86:&cclang:&nvc_x86:&armcclang32:&armcclang64:&cmosclang-trunk:&rvcclang:&wasmcclang:&ppci:&cicc:&cicx:&ccross:&cgcc-classic:&cc65:&sdcc:&ctendra:&tinycc:&zigcc:&cproc86:&chibicc:&ccc:&z80-cclang:&z88dk:&compcert:godbolt.org@443/winprod:&movfuscator:&lc3:&upmem-clang:&cvast:&orcac:&c2rust +compilers=&cgcc86:&cclang:&nvc_x86:&armcclang32:&armcclang64:&cmosclang-trunk:&rvcclang:&wasmcclang:&ppci:&cicc:&cicx:&ccross:&cgcc-classic:&cc65:&sdcc:&ctendra:&tinycc:&zigcc:&cproc86:&chibicc:&ccc:&z80-cclang:&z88dk:&compcert:godbolt.org@443/winprod:&movfuscator:&lc3:&upmem-clang:&cvast:&orcac:&c2rust:&nccarm defaultCompiler=cg152 # We use the llvm-trunk demangler for all c/c++ compilers, as c++filt tends to lag behind demangler=/opt/compiler-explorer/clang-trunk/bin/llvm-cxxfilt @@ -4346,6 +4346,25 @@ group.c2rust.supportsBinaryObject=false compiler.c2rust-master.exe=/opt/compiler-explorer/c2rust-master/c2rust compiler.c2rust-master.name=C2Rust (master) +################################# +# Norcroft ARM C +group.nccarm.compilers=nccarm-trunk +group.nccarm.groupName=Norcroft ARM C +group.nccarm.baseName=Norcroft ARM C +group.nccarm.compilerType=norcroft +group.nccarm.instructionSet=arm32 +group.nccarm.supportsBinary=false +group.nccarm.supportsBinaryObject=false +group.nccarm.supportsExecute=false +group.nccarm.isSemVer=true +group.nccarm.licenseName=BSD 3-clause +group.nccarm.licenseLink=https://github.com/Norcroft/ncc-ng/blob/main/LICENSE + +compiler.nccarm-trunk.exe=/opt/compiler-explorer/ncc-ng-trunk/bin/ncc +compiler.nccarm-trunk.name=Norcroft ARM C (trunk) +compiler.nccarm-trunk.semver=(trunk) +compiler.nccarm-trunk.isNightly=true + ################################# ################################# # Libraries diff --git a/lib/compilers/_all.ts b/lib/compilers/_all.ts index 6878a97b7..704a9dd5b 100644 --- a/lib/compilers/_all.ts +++ b/lib/compilers/_all.ts @@ -118,6 +118,7 @@ export {Msp430Compiler} from './msp430.js'; export {NasmCompiler} from './nasm.js'; export {NimCompiler} from './nim.js'; export {NixCompiler} from './nix.js'; +export {NorcroftCompiler} from './norcroft.js'; export {NumbaCompiler} from './numba.js'; export {NvccCompiler} from './nvcc.js'; export {NvcppCompiler} from './nvcpp.js'; diff --git a/lib/compilers/norcroft.ts b/lib/compilers/norcroft.ts new file mode 100644 index 000000000..c8cc375e9 --- /dev/null +++ b/lib/compilers/norcroft.ts @@ -0,0 +1,122 @@ +// Copyright (c) 2025, Compiler Explorer Authors +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +import path from 'node:path'; + +import _ from 'underscore'; + +import type {ExecutionOptions} from '../../types/compilation/compilation.interfaces.js'; +import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js'; +import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js'; +import {unwrap} from '../assert.js'; +import {BaseCompiler} from '../base-compiler.js'; +import {CompilationEnvironment} from '../compilation-env.js'; +import {logger} from '../logger.js'; +import {NorcroftObjAsmParser} from '../parsers/asm-parser-norcroft.js'; + +export class NorcroftCompiler extends BaseCompiler { + constructor(compilerInfo: PreliminaryCompilerInfo, env: CompilationEnvironment) { + super(compilerInfo, env); + + this.asm = new NorcroftObjAsmParser(this.compilerProps); + } + + static get key() { + return 'norcroft'; + } + + override async getVersion() { + logger.info(`Gathering ${this.compiler.id} version information on ${this.compiler.exe}...`); + if (this.compiler.explicitVersion) { + logger.debug(`${this.compiler.id} has forced version output: ${this.compiler.explicitVersion}`); + return {stdout: this.compiler.explicitVersion, stderr: '', code: 0}; + } + const execOptions = this.getDefaultExecOptions(); + const versionFlag: string[] = []; + execOptions.timeoutMs = 0; + execOptions.ldPath = this.getSharedLibraryPathsAsLdLibraryPaths([]); + + try { + const res = await this.execCompilerCached(this.compiler.exe, versionFlag, execOptions); + return {stdout: res.stdout, stderr: res.stderr, code: res.code}; + } catch (err) { + logger.error(`Unable to get version for compiler '${this.compiler.exe}' - ${err}`); + return null; + } + } + + override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: string, userOptions?: string[]) { + filters.binary = false; + + if (_.some(unwrap(userOptions), opt => opt === '-help' || opt === '-h')) { + // Let the compiler print its own help text + return []; + } + if (!_.some(unwrap(userOptions), opt => opt === '-E')) { + filters.binary = false; + } + return ['-c', '-S', '--asm-includes-location', '-o', this.filename(outputFilename)]; + } + + override filterUserOptions(userOptions: string[]) { + return userOptions.filter(opt => opt !== '-run' && !opt.startsWith('-W')); + } + + override async runCompiler( + compiler: string, + options: string[], + inputFilename: string, + execOptions: ExecutionOptions & {env: Record}, + ) { + if (!execOptions) { + execOptions = this.getDefaultExecOptions(); + } + if (!execOptions.customCwd) { + // ncc resolves relative paths against its cwd; without this it + // runs in the server's cwd and can't find the source file. + execOptions.customCwd = path.dirname(inputFilename); + } + + const result = await this.exec(compiler, options, execOptions); + + // Norcroft diagnostics look like: + // "", line 11: Warning: message... + // "", line 37: Error: message... + // The generic applyParse_SourceWithLine expects: + // :11:1: warning: message... + // :37:1: error: message... + // + // Rewrite stderr to that shape so the generic parser can + // extract file/line/severity and drive hover markers. + if (typeof result.stderr === 'string') { + result.stderr = result.stderr + // Warnings + .replace(/^"([^"]+)",\s*line\s+(\d+):\s*Warning:\s*/gm, '$1:$2:1: warning: ') + // Errors and serious errors + .replace(/^"([^"]+)",\s*line\s+(\d+):\s*(Error|Serious error):\s*/gm, '$1:$2:1: error: '); + } + + return this.transformToCompilationResult(result, inputFilename); + } +} diff --git a/lib/parsers/asm-parser-norcroft.ts b/lib/parsers/asm-parser-norcroft.ts new file mode 100644 index 000000000..0de7a71c6 --- /dev/null +++ b/lib/parsers/asm-parser-norcroft.ts @@ -0,0 +1,125 @@ +// Copyright (c) 2025, Compiler Explorer Authors +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +import {AsmResultSource, ParsedAsmResult, ParsedAsmResultLine} from '../../types/asmresult/asmresult.interfaces.js'; +import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js'; +import {PropertyGetter} from '../properties.interfaces.js'; +import * as utils from '../utils.js'; +import {AsmParser} from './asm-parser.js'; + +export class NorcroftObjAsmParser extends AsmParser { + private readonly asmBinaryParser: AsmParser; + private readonly headerOrTrailer = /^\s*(?:\S+\s+)?(AREA|END|EXPORT|IMPORT|NOINIT|BASED|COMDEF|COMMON|DATA)\b/; + private readonly sourceFile = /^\s*;\s*source-file:\s+"([^"]+)",\s*line\s+(\d+)/; + private readonly lineNumber = /^\s*;\s*line:\s+(\d+)(?:\s+\d+)?/; + private readonly label = /^([|A-Za-z_.$][\w.$|]*)\s*$/; // label has no whitespace at start of line. + private readonly DCD = /^\s*(?:\S+\s+)?(DC[A-Z]*)\b/; // DCD, DCB, DCFD, etc... + + constructor(compilerProps: PropertyGetter) { + super(compilerProps); + this.asmBinaryParser = new AsmParser(compilerProps); + } + + override processAsm(asm: string, filters: ParseFiltersAndOutputOptions): ParsedAsmResult { + if (filters.binary) return this.asmBinaryParser.processBinaryAsm(asm, filters); + + let currentfile = ''; + let currentline: string | undefined; + + const asmLines: ParsedAsmResultLine[] = []; + asm = asm.replace(/\u001A$/, ''); + + utils.eachLine(asm, line => { + let isDirective = false; + + const labelmatch = line.match(this.label); + if (labelmatch && !labelmatch[1].startsWith('|')) { + // global label (eg. "main", not "|L030|") - reset any line number. + currentline = undefined; + } + + // Header and trailer keywords should be white and reset any line number. + if (line.match(this.headerOrTrailer)) { + // possibly also current file? + currentline = undefined; + isDirective = true; + } + + const sourcefilematch = line.match(this.sourceFile); + if (sourcefilematch) { + currentfile = sourcefilematch[1]; + currentline = sourcefilematch[2]; + isDirective = true; + } + + const linenumbermatch = line.match(this.lineNumber); + if (linenumbermatch) { + currentline = linenumbermatch[1]; + isDirective = true; + } + + // Parse the line number from any updated string. + // Anything before here can parse or reset the current line. + // Anything after can filter a line from display (return) or whiten + // the line (set source to null). + let source: AsmResultSource | null = null; + if (currentfile && currentline) { + source = { + file: filters.dontMaskFilenames ? currentfile : null, + line: Number.parseInt(currentline, 10), + }; + } + + // Comments and blank lines should be filtered as directives. + // Note that this includes sourcefilematch and linenumber match - + // if the behaviour for them needs to change, check those bools. + const trimmed = line.trim(); + if (trimmed === '' || trimmed.startsWith(';')) { + isDirective = true; + source = null; // also render white + } + + if (labelmatch) { + source = null; // render all labels white + } + + if (line.match(this.DCD)) { + source = null; // render all DCDs(etc) white + } + + // Don't append directives if they're filtered out. + if (filters.directives && isDirective) return; + + // All lines must be appended to appear in CE's output. + asmLines.push({ + text: line, + source, + }); + }); + + return { + asm: asmLines, + }; + } +} From d845d7e9939a9dd3c4bd174f005847ba01376345 Mon Sep 17 00:00:00 2001 From: Andy Soffer Date: Fri, 24 Apr 2026 18:29:18 -0400 Subject: [PATCH 38/51] Add support for compiling code with libraries to clang-query. (#8635) I tested this locally on a few examples with clang-query-19. --- lib/tooling/clang-query-tool.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/tooling/clang-query-tool.ts b/lib/tooling/clang-query-tool.ts index b75246d87..fc0a65f0b 100644 --- a/lib/tooling/clang-query-tool.ts +++ b/lib/tooling/clang-query-tool.ts @@ -27,6 +27,7 @@ import path from 'node:path'; import {CompilationInfo} from '../../types/compilation/compilation.interfaces.js'; import {ToolInfo} from '../../types/tool.interfaces.js'; +import {OptionsHandlerLibrary} from '../options-handler.js'; import {ToolEnv} from './base-tool.interface.js'; import {BaseTool} from './base-tool.js'; @@ -41,16 +42,27 @@ export class ClangQueryTool extends BaseTool { this.addOptionsToToolArgs = false; } - override async runTool(compilationInfo: CompilationInfo, inputFilepath: string, args: string[], stdin: string) { + override async runTool( + compilationInfo: CompilationInfo, + inputFilepath: string, + args: string[], + stdin: string, + supportedLibraries?: Record, + ) { const sourcefile = inputFilepath; const compilerExe = compilationInfo.compiler.exe; const options = compilationInfo.options; const dir = path.dirname(sourcefile); - const compileFlags = options.filter((option: string) => option !== sourcefile); + const includeflags = super.getIncludeArguments(compilationInfo.libraries, supportedLibraries || {}, dir); + const libOptions = super.getLibraryOptions(compilationInfo.libraries, supportedLibraries || {}); + + let compileFlags = options.filter((option: string) => option !== sourcefile); if (!compilerExe.includes('clang++')) { compileFlags.concat(this.tool.options); } + compileFlags = compileFlags.concat(includeflags); + compileFlags = compileFlags.concat(libOptions); const query_commands_file = this.getUniqueFilePrefix() + 'query_commands.txt'; From f02abbe42cf36b3c66bfb47d84a60f7bd8ecf151 Mon Sep 17 00:00:00 2001 From: "Matt Godbolt (bot acct)" Date: Thu, 30 Apr 2026 14:44:04 -0500 Subject: [PATCH 39/51] Add GCC 16.1 (#8642) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add GCC 16.1.0 compilers across all supported languages and architectures. ## Native (x86-64) - **C++/C:** `g161` / `g161assert`, set as default - **Ada:** `gnat161` / `gnat161assert` - **D:** `gdc161` / `gdc161assert` - **Fortran:** `gfortran161` / `gfortran161assert` - **Go:** `gccgo161` / `gccgo161assert` - **COBOL:** `gcccobol161` / `gcccobol161assert` - **Modula-2:** `gm2161` / `gm2161assert` - **GIMPLE:** `gimpleg161` / `gimpleg161assert` - **ObjC / ObjC++:** `objcg161` / `objcppg161` - **Rust (GCC):** `gccrs-g161` - **Algol68:** `ga68-g161` — GCC 16 is the first release to ship the `ga68` frontend; set as default, snapshot remains for trunk ## Cross-compilers (23 architectures) arm, arm-unknown (eabi), arm64, avr, bpf, c6x, hppa, loongarch64, m68k, mips, mips64, mips64el, mipsel, powerpc, powerpc64, powerpc64le, riscv32, riscv64, s390x, sh, sparc, sparc64, sparc-leon. Note: msp430 uses TI-specific distributions so is not added here. **Depends on:** infra PR compiler-explorer/infra#2078 + S3 packages being available. refs https://github.com/compiler-explorer/compiler-explorer/issues/7948 *(I'm Molty, an AI assistant acting on behalf of @mattgodbolt)* 🤖 Generated by LLM (Claude, via OpenClaw) --------- Co-authored-by: mattgodbolt-molty --- etc/config/ada.amazon.properties | 10 +- etc/config/algol68.amazon.properties | 9 +- etc/config/c++.amazon.properties | 169 +++++++++++++++++++++++---- etc/config/c.amazon.properties | 169 +++++++++++++++++++++++---- etc/config/cobol.amazon.properties | 10 +- etc/config/d.amazon.properties | 8 +- etc/config/fortran.amazon.properties | 14 ++- etc/config/gimple.amazon.properties | 14 ++- etc/config/go.amazon.properties | 8 +- etc/config/modula2.amazon.properties | 10 +- etc/config/objc++.amazon.properties | 14 ++- etc/config/objc.amazon.properties | 14 ++- etc/config/rust.amazon.properties | 12 +- 13 files changed, 372 insertions(+), 89 deletions(-) diff --git a/etc/config/ada.amazon.properties b/etc/config/ada.amazon.properties index 290e5e83d..7ec5cb932 100644 --- a/etc/config/ada.amazon.properties +++ b/etc/config/ada.amazon.properties @@ -1,13 +1,13 @@ # Default settings for Ada compilers=&gnat:&gnatcross -defaultCompiler=gnat152 +defaultCompiler=gnat161 versionFlag=--version compilerType=ada ############################### # GCC (as in GNU Compiler Collection) for x86 -group.gnat.compilers=&gnatassert:gnat82:gnat95:gnat102:gnat104:gnat105:gnat111:gnat112:gnat113:gnat114:gnat121:gnat122:gnat123:gnat124:gnat125:gnat131:gnat132:gnat133:gnat134:gnat141:gnat142:gnat143:gnat151:gnat152:gnatsnapshot +group.gnat.compilers=&gnatassert:gnat82:gnat95:gnat102:gnat104:gnat105:gnat111:gnat112:gnat113:gnat114:gnat121:gnat122:gnat123:gnat124:gnat125:gnat131:gnat132:gnat133:gnat134:gnat141:gnat142:gnat143:gnat151:gnat152:gnat161:gnatsnapshot group.gnat.intelAsm=-masm=intel group.gnat.groupName=X86-64 GNAT group.gnat.baseName=x86-64 gnat @@ -69,6 +69,8 @@ compiler.gnat151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/gnatmake compiler.gnat151.semver=15.1 compiler.gnat152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gnatmake compiler.gnat152.semver=15.2 +compiler.gnat161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gnatmake +compiler.gnat161.semver=16.1 compiler.gnatsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gnatmake compiler.gnatsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt @@ -76,7 +78,7 @@ compiler.gnatsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump compiler.gnatsnapshot.semver=(trunk) ## GNAT x86 build with "assertions" (--enable-checking=XXX) -group.gnatassert.compilers=gnat104assert:gnat105assert:gnat111assert:gnat112assert:gnat113assert:gnat114assert:gnat121assert:gnat122assert:gnat123assert:gnat124assert:gnat125assert:gnat131assert:gnat132assert:gnat133assert:gnat134assert:gnat141assert:gnat142assert:gnat143assert:gnat151assert:gnat152assert +group.gnatassert.compilers=gnat104assert:gnat105assert:gnat111assert:gnat112assert:gnat113assert:gnat114assert:gnat121assert:gnat122assert:gnat123assert:gnat124assert:gnat125assert:gnat131assert:gnat132assert:gnat133assert:gnat134assert:gnat141assert:gnat142assert:gnat143assert:gnat151assert:gnat152assert:gnat161assert group.gnatassert.groupName=GCC x86-64 (assertions) compiler.gnat104assert.exe=/opt/compiler-explorer/gcc-assertions-10.4.0/bin/gnatmake @@ -119,6 +121,8 @@ compiler.gnat151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/gnat compiler.gnat151assert.semver=15.1 (assertions) compiler.gnat152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gnatmake compiler.gnat152assert.semver=15.2 (assertions) +compiler.gnat161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gnatmake +compiler.gnat161assert.semver=16.1 (assertions) ################################ # Cross GNAT diff --git a/etc/config/algol68.amazon.properties b/etc/config/algol68.amazon.properties index c92a18ecf..9d79c66a3 100644 --- a/etc/config/algol68.amazon.properties +++ b/etc/config/algol68.amazon.properties @@ -1,5 +1,5 @@ compilers=&ga68 -defaultCompiler=ga68-snapshot +defaultCompiler=ga68-g161 group.ga68.compilers=&ga68-x86 group.ga68.supportsBinary=false @@ -10,11 +10,16 @@ group.ga68.isSemVer=true group.ga68.unwiseOptions=-march=native # native compiler -group.ga68-x86.compilers=ga68-snapshot +group.ga68-x86.compilers=ga68-g161:ga68-snapshot group.ga68-x86.groupName=x86-64 GA68 group.ga68-x86.baseName=x86-64 GA68 group.ga68-x86.unwiseOptions=-march=native +compiler.ga68-g161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/ga68 +compiler.ga68-g161.demangler=/opt/compiler-explorer/gcc-16.1.0/bin/c++filt +compiler.ga68-g161.objdumper=/opt/compiler-explorer/gcc-16.1.0/bin/objdump +compiler.ga68-g161.semver=16.1.0 + compiler.ga68-snapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/ga68 compiler.ga68-snapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt compiler.ga68-snapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index d9b84529c..7b783b478 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -2,7 +2,7 @@ compilers=&gcc86:&icc:&icx:&clang:&clangx86trunk:&clang-rocm:&mosclang-trunk:&rv # Disabled: nvcxx_x86_cxx # The disabled groups are actually used in the c++.gpu.properties. One day these might exist on both servers, so I want # to keep them in the same place. -defaultCompiler=g152 +defaultCompiler=g161 # We use the llvm-trunk demangler for all c/c++ compilers, as c++filt tends to lag behind demangler=/opt/compiler-explorer/clang-trunk/bin/llvm-cxxfilt objdumper=/opt/compiler-explorer/gcc-14.2.0/bin/objdump @@ -18,7 +18,7 @@ llvmDisassembler=/opt/compiler-explorer/clang-19.1.0/bin/llvm-dis ############################### # GCC for x86 -group.gcc86.compilers=&gcc86assert:g346:g404:g412:g447:g453:g464:g471:g472:g473:g474:g481:g482:g483:g484:g485:g490:g491:g492:g493:g494:g510:g520:g530:g540:g550:g6:g62:g63:g64:g65:g71:g72:g73:g74:g75:g81:g82:g83:g84:g85:g91:g92:g93:g94:g95:g101:g102:g103:g104:g105:g111:g112:g113:g114:g115:g121:g122:g123:g124:g125:g131:g132:g133:g134:g141:g142:g143:g151:g152:gsnapshot:gcontracts-trunk:gcontract-labels-trunk:gcontracts-nonattr-trunk:gcxx-modules-trunk:gcxx-coroutines-trunk:gcc-embed-trunk:gcc-static-analysis-trunk:glambda-p2034-trunk:gcontracts-base-trunk:gcontracts-gnuext-trunk:gcc-thomas-healy-trunk:gtrivial-reloc-trunk +group.gcc86.compilers=&gcc86assert:g346:g404:g412:g447:g453:g464:g471:g472:g473:g474:g481:g482:g483:g484:g485:g490:g491:g492:g493:g494:g510:g520:g530:g540:g550:g6:g62:g63:g64:g65:g71:g72:g73:g74:g75:g81:g82:g83:g84:g85:g91:g92:g93:g94:g95:g101:g102:g103:g104:g105:g111:g112:g113:g114:g115:g121:g122:g123:g124:g125:g131:g132:g133:g134:g141:g142:g143:g151:g152:g161:gsnapshot:gcontracts-trunk:gcontract-labels-trunk:gcontracts-nonattr-trunk:gcxx-modules-trunk:gcxx-coroutines-trunk:gcc-embed-trunk:gcc-static-analysis-trunk:glambda-p2034-trunk:gcontracts-base-trunk:gcontracts-gnuext-trunk:gcc-thomas-healy-trunk:gtrivial-reloc-trunk group.gcc86.groupName=GCC x86-64 group.gcc86.instructionSet=amd64 group.gcc86.baseName=x86-64 gcc @@ -191,6 +191,8 @@ compiler.g151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/g++ compiler.g151.semver=15.1 compiler.g152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/g++ compiler.g152.semver=15.2 +compiler.g161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/g++ +compiler.g161.semver=16.1 compiler.gsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/g++ compiler.gsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt @@ -286,7 +288,7 @@ compiler.g71.needsMulti=true compiler.g72.needsMulti=true ## GCC x86 build with "assertions" (--enable-checking=XXX) -group.gcc86assert.compilers=g103assert:g104assert:g105assert:g111assert:g112assert:g113assert:g114assert:g121assert:g122assert:g123assert:g124assert:g125assert:g131assert:g132assert:g133assert:g134assert:g141assert:g142assert:g143assert:g151assert:g152assert +group.gcc86assert.compilers=g103assert:g104assert:g105assert:g111assert:g112assert:g113assert:g114assert:g121assert:g122assert:g123assert:g124assert:g125assert:g131assert:g132assert:g133assert:g134assert:g141assert:g142assert:g143assert:g151assert:g152assert:g161assert group.gcc86assert.groupName=GCC x86-64 (assertions) compiler.g103assert.exe=/opt/compiler-explorer/gcc-assertions-10.3.0/bin/g++ @@ -331,6 +333,8 @@ compiler.g151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/g++ compiler.g151assert.semver=15.1 (assertions) compiler.g152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/g++ compiler.g152assert.semver=15.2 (assertions) +compiler.g161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/g++ +compiler.g161assert.semver=16.1 (assertions) ################################ # Clang for x86 @@ -1780,7 +1784,7 @@ compiler.m68kclangtrunk.isNightly=true # GCC for m68k group.gccm68k.compilerType=m68k -group.gccm68k.compilers=m68kg1310:m68kg1320:m68kg1410:m68kg1330:m68kg1420:m68kg1510:m68kg1430:m68kg1340:m68kg1520 +group.gccm68k.compilers=m68kg1310:m68kg1320:m68kg1410:m68kg1330:m68kg1420:m68kg1510:m68kg1430:m68kg1340:m68kg1520:m68kg1610 group.gccm68k.supportsBinary=true group.gccm68k.supportsExecute=false group.gccm68k.baseName=M68K gcc @@ -1831,6 +1835,11 @@ compiler.m68kg1520.exe=/opt/compiler-explorer/m68k/gcc-15.2.0/m68k-unknown-elf/b compiler.m68kg1520.semver=15.2.0 compiler.m68kg1520.objdumper=/opt/compiler-explorer/m68k/gcc-15.2.0/m68k-unknown-elf/bin/m68k-unknown-elf-objdump compiler.m68kg1520.demangler=/opt/compiler-explorer/m68k/gcc-15.2.0/m68k-unknown-elf/bin/m68k-unknown-elf-c++filt +compiler.m68kg1610.exe=/opt/compiler-explorer/m68k/gcc-16.1.0/m68k-unknown-elf/bin/m68k-unknown-elf-g++ +compiler.m68kg1610.semver=16.1.0 +compiler.m68kg1610.objdumper=/opt/compiler-explorer/m68k/gcc-16.1.0/m68k-unknown-elf/bin/m68k-unknown-elf-objdump +compiler.m68kg1610.demangler=/opt/compiler-explorer/m68k/gcc-16.1.0/m68k-unknown-elf/bin/m68k-unknown-elf-c++filt + ############################### # Cross for Tricore @@ -1854,7 +1863,7 @@ compiler.tricoreg1130.demangler=/opt/compiler-explorer/tricore/gcc-11.3.0/tricor group.hppa.compilers=&gcchppa # GCC for HPPA -group.gcchppa.compilers=hppag1420:hppag1430:hppag1510:hppag1520 +group.gcchppa.compilers=hppag1420:hppag1430:hppag1510:hppag1520:hppag1610 group.gcchppa.supportsBinary=true group.gcchppa.supportsExecute=false group.gcchppa.baseName=HPPA gcc @@ -1880,6 +1889,11 @@ compiler.hppag1520.exe=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux compiler.hppag1520.semver=15.2.0 compiler.hppag1520.objdumper=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump compiler.hppag1520.demangler=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt +compiler.hppag1610.exe=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-g++ +compiler.hppag1610.semver=16.1.0 +compiler.hppag1610.objdumper=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump +compiler.hppag1610.demangler=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt + ############################### # Cross for BPF @@ -1934,7 +1948,7 @@ compiler.bpfclang1300.exe=/opt/compiler-explorer/clang-13.0.0/bin/clang++ compiler.bpfclang1300.semver=13.0.0 # GCC for BPF -group.gccbpf.compilers=bpfg1310:bpfg1320:bpfg1330:bpfg1340:bpfg1410:bpfgtrunk +group.gccbpf.compilers=bpfg1310:bpfg1320:bpfg1330:bpfg1340:bpfg1410:bpfg1610:bpfgtrunk group.gccbpf.supportsBinary=true group.gccbpf.supportsExecute=false group.gccbpf.baseName=BPF gcc @@ -1972,6 +1986,11 @@ compiler.bpfg1410.hidden=true compiler.bpfg1410.semver=14.1.0 compiler.bpfg1410.objdumper=/opt/compiler-explorer/bpf/gcc-14.1.0/bpf-unknown-none/bin/bpf-unknown-objdump compiler.bpfg1410.demangler=/opt/compiler-explorer/bpf/gcc-14.1.0/bpf-unknown-none/bin/bpf-unknown-none-c++filt +compiler.bpfg1610.exe=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-none-g++ +compiler.bpfg1610.semver=16.1.0 +compiler.bpfg1610.objdumper=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-objdump +compiler.bpfg1610.demangler=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-none-c++filt + compiler.bpfgtrunk.exe=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-none-g++ compiler.bpfgtrunk.semver=trunk @@ -1982,7 +2001,7 @@ compiler.bpfgtrunk.isNightly=true group.sparc.compilers=&gccsparc # GCC for SPARC -group.gccsparc.compilers=sparcg1220:sparcg1230:sparcg1240:sparcg1250:sparcg1310:sparcg1320:sparcg1330:sparcg1340:sparcg1410:sparcg1420:sparcg1430:sparcg1510:sparcg1520 +group.gccsparc.compilers=sparcg1220:sparcg1230:sparcg1240:sparcg1250:sparcg1310:sparcg1320:sparcg1330:sparcg1340:sparcg1410:sparcg1420:sparcg1430:sparcg1510:sparcg1520:sparcg1610 group.gccsparc.baseName=SPARC gcc group.gccsparc.groupName=SPARC GCC group.gccsparc.isSemVer=true @@ -2051,13 +2070,18 @@ compiler.sparcg1520.exe=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-li compiler.sparcg1520.semver=15.2.0 compiler.sparcg1520.objdumper=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump compiler.sparcg1520.demangler=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt +compiler.sparcg1610.exe=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-g++ +compiler.sparcg1610.semver=16.1.0 +compiler.sparcg1610.objdumper=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump +compiler.sparcg1610.demangler=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt + ############################### # Cross for SPARC64 group.sparc64.compilers=&gccsparc64 # GCC for SPARC64 -group.gccsparc64.compilers=sparc64g1220:sparc64g1230:sparc64g1310:sparc64g1320:sparc64g1410:sparc64g1330:sparc64g1240:sparc64g1420:sparc64g1510:sparc64g1430:sparc64g1340:sparc64g1250:sparc64g1520 +group.gccsparc64.compilers=sparc64g1220:sparc64g1230:sparc64g1310:sparc64g1320:sparc64g1410:sparc64g1330:sparc64g1240:sparc64g1420:sparc64g1510:sparc64g1430:sparc64g1340:sparc64g1250:sparc64g1520:sparc64g1610 group.gccsparc64.baseName=SPARC64 gcc group.gccsparc64.groupName=SPARC64 GCC group.gccsparc64.isSemVer=true @@ -2126,13 +2150,18 @@ compiler.sparc64g1520.exe=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-mult compiler.sparc64g1520.semver=15.2.0 compiler.sparc64g1520.objdumper=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump compiler.sparc64g1520.demangler=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt +compiler.sparc64g1610.exe=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-g++ +compiler.sparc64g1610.semver=16.1.0 +compiler.sparc64g1610.objdumper=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump +compiler.sparc64g1610.demangler=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt + ############################### # Cross for SPARC-LEON group.sparcleon.compilers=&gccsparcleon # GCC for SPARC-LEON -group.gccsparcleon.compilers=sparcleong1220:sparcleong1220-1:sparcleong1230:sparcleong1240:sparcleong1250:sparcleong1310:sparcleong1320:sparcleong1330:sparcleong1340:sparcleong1410:sparcleong1420:sparcleong1430:sparcleong1510:sparcleong1520 +group.gccsparcleon.compilers=sparcleong1220:sparcleong1220-1:sparcleong1230:sparcleong1240:sparcleong1250:sparcleong1310:sparcleong1320:sparcleong1330:sparcleong1340:sparcleong1410:sparcleong1420:sparcleong1430:sparcleong1510:sparcleong1520:sparcleong1610 group.gccsparcleon.baseName=SPARC LEON gcc group.gccsparcleon.groupName=SPARC LEON GCC group.gccsparcleon.isSemVer=true @@ -2203,6 +2232,11 @@ compiler.sparcleong1520.exe=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc-l compiler.sparcleong1520.semver=15.2.0 compiler.sparcleong1520.objdumper=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump compiler.sparcleong1520.demangler=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt +compiler.sparcleong1610.exe=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-g++ +compiler.sparcleong1610.semver=16.1.0 +compiler.sparcleong1610.objdumper=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump +compiler.sparcleong1610.demangler=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt + compiler.sparcleong1220-1.exe=/opt/compiler-explorer/sparc-leon/gcc-12.2.0-1/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-g++ compiler.sparcleong1220-1.semver=12.2.0 @@ -2214,7 +2248,7 @@ compiler.sparcleong1220-1.demangler=/opt/compiler-explorer/sparc-leon/gcc-12.2.0 group.c6x.compilers=&gccc6x # GCC for TI C6x -group.gccc6x.compilers=c6xg1220:c6xg1230:c6xg1310:c6xg1320:c6xg1410:c6xg1330:c6xg1240:c6xg1420:c6xg1510:c6xg1430:c6xg1340:c6xg1250:c6xg1520 +group.gccc6x.compilers=c6xg1220:c6xg1230:c6xg1310:c6xg1320:c6xg1410:c6xg1330:c6xg1240:c6xg1420:c6xg1510:c6xg1430:c6xg1340:c6xg1250:c6xg1520:c6xg1610 group.gccc6x.baseName=TI C6x gcc group.gccc6x.groupName=TI C6x GCC group.gccc6x.isSemVer=true @@ -2283,6 +2317,11 @@ compiler.c6xg1520.exe=/opt/compiler-explorer/c6x/gcc-15.2.0/tic6x-elf/bin/tic6x- compiler.c6xg1520.semver=15.2.0 compiler.c6xg1520.objdumper=/opt/compiler-explorer/c6x/gcc-15.2.0/tic6x-elf/bin/tic6x-elf-objdump compiler.c6xg1520.demangler=/opt/compiler-explorer/c6x/gcc-15.2.0/tic6x-elf/bin/tic6x-elf-c++filt +compiler.c6xg1610.exe=/opt/compiler-explorer/c6x/gcc-16.1.0/tic6x-elf/bin/tic6x-elf-g++ +compiler.c6xg1610.semver=16.1.0 +compiler.c6xg1610.objdumper=/opt/compiler-explorer/c6x/gcc-16.1.0/tic6x-elf/bin/tic6x-elf-objdump +compiler.c6xg1610.demangler=/opt/compiler-explorer/c6x/gcc-16.1.0/tic6x-elf/bin/tic6x-elf-c++filt + ############################### # Cross for loongarch64 @@ -2291,7 +2330,7 @@ group.loongarch64.compilers=&gccloongarch64 # GCC for loongarch64 group.gccloongarch64.baseName=loongarch64 gcc group.gccloongarch64.groupName=loongarch64 gcc -group.gccloongarch64.compilers=loongarch64g1220:loongarch64g1230:loongarch64g1310:loongarch64g1320:loongarch64g1410:loongarch64g1330:loongarch64g1240:loongarch64g1420:loongarch64g1510:loongarch64g1430:loongarch64g1340:loongarch64g1250:loongarch64g1520 +group.gccloongarch64.compilers=loongarch64g1220:loongarch64g1230:loongarch64g1310:loongarch64g1320:loongarch64g1410:loongarch64g1330:loongarch64g1240:loongarch64g1420:loongarch64g1510:loongarch64g1430:loongarch64g1340:loongarch64g1250:loongarch64g1520:loongarch64g1610 group.gccloongarch64.isSemVer=true compiler.loongarch64g1220.exe=/opt/compiler-explorer/loongarch64/gcc-12.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-g++ @@ -2358,6 +2397,11 @@ compiler.loongarch64g1520.exe=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loon compiler.loongarch64g1520.semver=15.2.0 compiler.loongarch64g1520.objdumper=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump compiler.loongarch64g1520.demangler=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt +compiler.loongarch64g1610.exe=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-g++ +compiler.loongarch64g1610.semver=16.1.0 +compiler.loongarch64g1610.objdumper=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump +compiler.loongarch64g1610.demangler=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt + ############################### # Cross for sh @@ -2366,7 +2410,7 @@ group.sh.compilers=&gccsh # GCC for sh group.gccsh.baseName=sh gcc group.gccsh.groupName=sh gcc -group.gccsh.compilers=shg494:shg950:shg1220:shg1230:shg1240:shg1250:shg1310:shg1320:shg1330:shg1340:shg1410:shg1420:shg1430:shg1510:shg1520 +group.gccsh.compilers=shg494:shg950:shg1220:shg1230:shg1240:shg1250:shg1310:shg1320:shg1330:shg1340:shg1410:shg1420:shg1430:shg1510:shg1520:shg1610 group.gccsh.isSemVer=true compiler.shg494.exe=/opt/compiler-explorer/sh/gcc-4.9.4/sh-unknown-elf/bin/sh-unknown-elf-g++ @@ -2443,6 +2487,11 @@ compiler.shg1520.exe=/opt/compiler-explorer/sh/gcc-15.2.0/sh-unknown-elf/bin/sh- compiler.shg1520.semver=15.2.0 compiler.shg1520.objdumper=/opt/compiler-explorer/sh/gcc-15.2.0/sh-unknown-elf/bin/sh-unknown-elf-objdump compiler.shg1520.demangler=/opt/compiler-explorer/sh/gcc-15.2.0/sh-unknown-elf/bin/sh-unknown-elf-c++filt +compiler.shg1610.exe=/opt/compiler-explorer/sh/gcc-16.1.0/sh-unknown-elf/bin/sh-unknown-elf-g++ +compiler.shg1610.semver=16.1.0 +compiler.shg1610.objdumper=/opt/compiler-explorer/sh/gcc-16.1.0/sh-unknown-elf/bin/sh-unknown-elf-objdump +compiler.shg1610.demangler=/opt/compiler-explorer/sh/gcc-16.1.0/sh-unknown-elf/bin/sh-unknown-elf-c++filt + ############################### # Cross for s390x @@ -2451,7 +2500,7 @@ group.s390x.compilers=&gccs390x # GCC for s390x group.gccs390x.baseName=s390x gcc group.gccs390x.groupName=s390x gcc -group.gccs390x.compilers=gccs390x1120:s390xg1210:s390xg1220:s390xg1230:s390xg1310:s390xg1320:s390xg1410:s390xg1330:s390xg1240:s390xg1420:s390xg1510:s390xg1430:s390xg1340:s390xg1250:s390xg1520 +group.gccs390x.compilers=gccs390x1120:s390xg1210:s390xg1220:s390xg1230:s390xg1310:s390xg1320:s390xg1410:s390xg1330:s390xg1240:s390xg1420:s390xg1510:s390xg1430:s390xg1340:s390xg1250:s390xg1520:s390xg1610 group.gccs390x.isSemVer=true group.gccs390x.objdumper=/opt/compiler-explorer/s390x/gcc-11.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump @@ -2527,6 +2576,11 @@ compiler.s390xg1520.exe=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux- compiler.s390xg1520.semver=15.2.0 compiler.s390xg1520.objdumper=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump compiler.s390xg1520.demangler=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt +compiler.s390xg1610.exe=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-g++ +compiler.s390xg1610.semver=16.1.0 +compiler.s390xg1610.objdumper=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump +compiler.s390xg1610.demangler=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt + ############################### # Cross compilers for PPC @@ -2535,7 +2589,7 @@ group.ppcs.isSemVer=true group.ppcs.instructionSet=powerpc ## POWER -group.ppc.compilers=ppcg48:ppcg1120:ppcg1210:ppcg1220:ppcg1230:ppcg1240:ppcg1250:ppcg1310:ppcg1320:ppcg1330:ppcg1340:ppcg1410:ppcg1420:ppcg1430:ppcg1510:ppcg1520 +group.ppc.compilers=ppcg48:ppcg1120:ppcg1210:ppcg1220:ppcg1230:ppcg1240:ppcg1250:ppcg1310:ppcg1320:ppcg1330:ppcg1340:ppcg1410:ppcg1420:ppcg1430:ppcg1510:ppcg1520:ppcg1610 group.ppc.groupName=POWER GCC group.ppc.baseName=power gcc @@ -2615,11 +2669,16 @@ compiler.ppcg1520.exe=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown- compiler.ppcg1520.semver=15.2.0 compiler.ppcg1520.objdumper=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump compiler.ppcg1520.demangler=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt +compiler.ppcg1610.exe=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-g++ +compiler.ppcg1610.semver=16.1.0 +compiler.ppcg1610.objdumper=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump +compiler.ppcg1610.demangler=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt + ## POWER64 group.ppc64.groupName=POWER64 GCC group.ppc64.baseName=power64 gcc -group.ppc64.compilers=ppc64g8:ppc64g9:ppc64g1120:ppc64g1210:ppc64clang:ppc64g1220:ppc64g1230:ppc64g1310:ppc64g1320:ppc64gtrunk:ppc64g1410:ppc64g1330:ppc64g1240:ppc64g1420:ppc64g1510:ppc64g1430:ppc64g1340:ppc64g1250:ppc64g1520 +group.ppc64.compilers=ppc64g8:ppc64g9:ppc64g1120:ppc64g1210:ppc64clang:ppc64g1220:ppc64g1230:ppc64g1310:ppc64g1320:ppc64gtrunk:ppc64g1410:ppc64g1330:ppc64g1240:ppc64g1420:ppc64g1510:ppc64g1430:ppc64g1340:ppc64g1250:ppc64g1520:ppc64g1610 compiler.ppc64g8.exe=/opt/compiler-explorer/powerpc64/gcc-at12/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-g++ compiler.ppc64g8.objdumper=/opt/compiler-explorer/powerpc64/gcc-at12/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump @@ -2703,6 +2762,11 @@ compiler.ppc64g1520.exe=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-un compiler.ppc64g1520.semver=15.2.0 compiler.ppc64g1520.objdumper=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump compiler.ppc64g1520.demangler=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt +compiler.ppc64g1610.exe=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-g++ +compiler.ppc64g1610.semver=16.1.0 +compiler.ppc64g1610.objdumper=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump +compiler.ppc64g1610.demangler=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt + compiler.ppc64gtrunk.exe=/opt/compiler-explorer/powerpc64/gcc-trunk/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-g++ compiler.ppc64gtrunk.semver=trunk @@ -2723,7 +2787,7 @@ compiler.ppc64clang.compilerCategories=clang ## POWER64LE group.ppc64le.groupName=POWER64LE GCC -group.ppc64le.compilers=ppc64leg630:ppc64leg8:ppc64leg9:ppc64leg1120:ppc64leg1210:ppc64leclang:ppc64leg1220:ppc64leg1230:ppc64leg1310:ppc64leg1320:ppc64legtrunk:ppc64leg1410:ppc64leg1330:ppc64leg1240:ppc64leg1420:ppc64leg1510:ppc64leg1430:ppc64leg1340:ppc64leg1250:ppc64leg1520 +group.ppc64le.compilers=ppc64leg630:ppc64leg8:ppc64leg9:ppc64leg1120:ppc64leg1210:ppc64leclang:ppc64leg1220:ppc64leg1230:ppc64leg1310:ppc64leg1320:ppc64legtrunk:ppc64leg1410:ppc64leg1330:ppc64leg1240:ppc64leg1420:ppc64leg1510:ppc64leg1430:ppc64leg1340:ppc64leg1250:ppc64leg1520:ppc64leg1610 group.ppc64le.baseName=power64le gcc compiler.ppc64leg630.exe=/opt/compiler-explorer/powerpc64le/gcc-6.3.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-g++ @@ -2812,6 +2876,11 @@ compiler.ppc64leg1520.exe=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc6 compiler.ppc64leg1520.semver=15.2.0 compiler.ppc64leg1520.objdumper=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump compiler.ppc64leg1520.demangler=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt +compiler.ppc64leg1610.exe=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-g++ +compiler.ppc64leg1610.semver=16.1.0 +compiler.ppc64leg1610.objdumper=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump +compiler.ppc64leg1610.demangler=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt + compiler.ppc64legtrunk.exe=/opt/compiler-explorer/powerpc64le/gcc-trunk/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-g++ compiler.ppc64legtrunk.semver=trunk @@ -2840,7 +2909,7 @@ group.gccarm.includeFlag=-I # 32 bit group.gcc32arm.groupName=Arm 32-bit GCC group.gcc32arm.baseName=ARM GCC -group.gcc32arm.compilers=armhfg54:armg454:armg464:arm541:armg630:armg640:arm710:armg730:armg750:armg820:armce820:arm831:armg850:arm921:arm930:arm940:arm950:arm1020:arm1021:arm1030:arm1031_07:arm1031_10:arm1040:armg1050:arm1100:arm1120:arm1121:arm1130:armg1140:arm1210:armg1220:armg1230:armg1240:armg1250:armg1310:armg1320:armug1320:armg1330:armug1330:armg1340:armug1340:armg1410:armug1410:armg1420:armug1420:armg1430:armug1430:armg1510:armug1510:armg1520:armug1520:armgtrunk +group.gcc32arm.compilers=armhfg54:armg454:armg464:arm541:armg630:armg640:arm710:armg730:armg750:armg820:armce820:arm831:armg850:arm921:arm930:arm940:arm950:arm1020:arm1021:arm1030:arm1031_07:arm1031_10:arm1040:armg1050:arm1100:arm1120:arm1121:arm1130:armg1140:arm1210:armg1220:armg1230:armg1240:armg1250:armg1310:armg1320:armug1320:armg1330:armug1330:armg1340:armug1340:armg1410:armug1410:armg1420:armug1420:armg1430:armug1430:armg1510:armug1510:armg1520:armug1520:armg1610:armug1610:armgtrunk group.gcc32arm.isSemVer=true group.gcc32arm.objdumper=/opt/compiler-explorer/arm/gcc-10.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump group.gcc32arm.instructionSet=arm32 @@ -2959,6 +3028,11 @@ compiler.armg1520.exe=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gn compiler.armg1520.semver=15.2.0 compiler.armg1520.objdumper=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump compiler.armg1520.demangler=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt +compiler.armg1610.exe=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-g++ +compiler.armg1610.semver=16.1.0 +compiler.armg1610.objdumper=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump +compiler.armg1610.demangler=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt + compiler.armug1320.exe=/opt/compiler-explorer/arm/gcc-arm-unknown-13.2.0/arm-unknown-eabi/bin/arm-unknown-eabi-g++ compiler.armug1320.name=ARM GCC 13.2.0 (unknown-eabi) @@ -3007,6 +3081,11 @@ compiler.armug1520.semver=15.2.0 compiler.armug1520.objdumper=/opt/compiler-explorer/arm/gcc-arm-unknown-15.2.0/arm-unknown-eabi/bin/arm-unknown-eabi-objdump compiler.armug1520.demangler=/opt/compiler-explorer/arm/gcc-arm-unknown-15.2.0/arm-unknown-eabi/bin/arm-unknown-eabi-c++filt compiler.armug1520.name=ARM GCC 15.2.0 (unknown-eabi) +compiler.armug1610.exe=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-g++ +compiler.armug1610.semver=16.1.0 +compiler.armug1610.objdumper=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-objdump +compiler.armug1610.demangler=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-c++filt + compiler.armce820.exe=/opt/compiler-explorer/arm-wince/gcc-ce-8.2.0/bin/arm-mingw32ce-g++ compiler.armce820.name=ARM gcc 8.2 (WinCE) @@ -3074,7 +3153,7 @@ compiler.armgtrunk.isNightly=true # 64 bit group.gcc64arm.groupName=Arm 64-bit GCC -group.gcc64arm.compilers=aarchg54:arm64g494:arm64g550:arm64g630:arm64g640:arm64g730:arm64g750:arm64g820:arm64g850:arm64g930:arm64g940:arm64g950:arm64g1020:arm64g1030:arm64g1040:arm64g1100:arm64g1120:arm64g1130:arm64g1140:arm64g1210:arm64gtrunk:arm64g1220:arm64g1230:arm64g1310:arm64g1050:arm64g1320:arm64g1410:arm64g1330:arm64g1240:arm64g1420:arm64g1510:arm64g1430:arm64g1340:arm64g1250:arm64g1520 +group.gcc64arm.compilers=aarchg54:arm64g494:arm64g550:arm64g630:arm64g640:arm64g730:arm64g750:arm64g820:arm64g850:arm64g930:arm64g940:arm64g950:arm64g1020:arm64g1030:arm64g1040:arm64g1100:arm64g1120:arm64g1130:arm64g1140:arm64g1210:arm64gtrunk:arm64g1220:arm64g1230:arm64g1310:arm64g1050:arm64g1320:arm64g1410:arm64g1330:arm64g1240:arm64g1420:arm64g1510:arm64g1430:arm64g1340:arm64g1250:arm64g1520:arm64g1610 group.gcc64arm.isSemVer=true group.gcc64arm.objdumper=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump group.gcc64arm.instructionSet=aarch64 @@ -3203,6 +3282,11 @@ compiler.arm64g1520.exe=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown- compiler.arm64g1520.semver=15.2.0 compiler.arm64g1520.objdumper=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump compiler.arm64g1520.demangler=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt +compiler.arm64g1610.exe=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-g++ +compiler.arm64g1610.semver=16.1.0 +compiler.arm64g1610.objdumper=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump +compiler.arm64g1610.demangler=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt + compiler.arm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-g++ compiler.arm64gtrunk.semver=trunk compiler.arm64gtrunk.isNightly=true @@ -3413,7 +3497,7 @@ compiler.cl4302161.versionFlag=-version ################################ # GCC for AVR -group.avr.compilers=avrg454:avrg464:avrg540:avrg730:avrg920:avrg930:avrg1030:avrg1100:avrg1210:avrg1220:avrg1230:avrg1240:avrg1250:avrg1310:avrg1320:avrg1330:avrg1340:avrg1410:avrg1420:avrg1430:avrg1510:avrg1520 +group.avr.compilers=avrg454:avrg464:avrg540:avrg730:avrg920:avrg930:avrg1030:avrg1100:avrg1210:avrg1220:avrg1230:avrg1240:avrg1250:avrg1310:avrg1320:avrg1330:avrg1340:avrg1410:avrg1420:avrg1430:avrg1510:avrg1520:avrg1610 group.avr.groupName=AVR GCC group.avr.baseName=AVR gcc group.avr.isSemVer=true @@ -3520,6 +3604,11 @@ compiler.avrg1520.exe=/opt/compiler-explorer/avr/gcc-15.2.0/avr/bin/avr-g++ compiler.avrg1520.semver=15.2.0 compiler.avrg1520.objdumper=/opt/compiler-explorer/avr/gcc-15.2.0/avr/bin/avr-objdump compiler.avrg1520.demangler=/opt/compiler-explorer/avr/gcc-15.2.0/avr/bin/avr-c++filt +compiler.avrg1610.exe=/opt/compiler-explorer/avr/gcc-16.1.0/avr/bin/avr-g++ +compiler.avrg1610.semver=16.1.0 +compiler.avrg1610.objdumper=/opt/compiler-explorer/avr/gcc-16.1.0/avr/bin/avr-objdump +compiler.avrg1610.demangler=/opt/compiler-explorer/avr/gcc-16.1.0/avr/bin/avr-c++filt + ############################### # Cross compiler for MIPS @@ -3707,7 +3796,7 @@ compiler.mips64el-clang1300.semver=13.0.0 ## MIPS group.mips.groupName=MIPS GCC -group.mips.compilers=mips5:mipsg494:mipsg550:mips930:mipsg950:mips1120:mipsg1210:mipsg1220:mipsg1230:mipsg1240:mipsg1250:mipsg1310:mipsg1320:mipsg1330:mipsg1340:mipsg1410:mipsg1420:mipsg1430:mipsg1510:mipsg1520 +group.mips.compilers=mips5:mipsg494:mipsg550:mips930:mipsg950:mips1120:mipsg1210:mipsg1220:mipsg1230:mipsg1240:mipsg1250:mipsg1310:mipsg1320:mipsg1330:mipsg1340:mipsg1410:mipsg1420:mipsg1430:mipsg1510:mipsg1520:mipsg1610 group.mips.baseName=mips gcc compiler.mipsg494.exe=/opt/compiler-explorer/mips/gcc-4.9.4/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-g++ @@ -3806,10 +3895,15 @@ compiler.mipsg1520.exe=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux compiler.mipsg1520.semver=15.2.0 compiler.mipsg1520.objdumper=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump compiler.mipsg1520.demangler=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt +compiler.mipsg1610.exe=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-g++ +compiler.mipsg1610.semver=16.1.0 +compiler.mipsg1610.objdumper=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump +compiler.mipsg1610.demangler=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt + ## MIPS 64 group.mips64.groupName=MIPS64 GCC -group.mips64.compilers=mips64g494:mips64g550:mips64g950:mips64g1210:mips64g1220:mips64g1230:mips64g1310:mips64g1320:mips64g1410:mips64g1330:mips64g1240:mips64g1420:mips64g1510:mips64g1430:mips64g1340:mips64g1250:mips64g1520:mips564:mips112064 +group.mips64.compilers=mips64g494:mips64g550:mips64g950:mips64g1210:mips64g1220:mips64g1230:mips64g1310:mips64g1320:mips64g1410:mips64g1330:mips64g1240:mips64g1420:mips64g1510:mips64g1430:mips64g1340:mips64g1250:mips64g1520:mips64g1610:mips564:mips112064 group.mips64.baseName=mips64 gcc compiler.mips64g494.exe=/opt/compiler-explorer/mips64/gcc-4.9.4/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-g++ @@ -3903,10 +3997,15 @@ compiler.mips64g1520.exe=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown compiler.mips64g1520.semver=15.2.0 compiler.mips64g1520.objdumper=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump compiler.mips64g1520.demangler=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt +compiler.mips64g1610.exe=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-g++ +compiler.mips64g1610.semver=16.1.0 +compiler.mips64g1610.objdumper=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump +compiler.mips64g1610.demangler=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt + ## MIPS EL group.mipsel.groupName=MIPSEL GCC -group.mipsel.compilers=mips5el:mipselg494:mipselg550:mipselg950:mipselg1210:mipselg1220:mipselg1230:mipselg1240:mipselg1250:mipselg1310:mipselg1320:mipselg1330:mipselg1340:mipselg1410:mipselg1420:mipselg1430:mipselg1510:mipselg1520 +group.mipsel.compilers=mips5el:mipselg494:mipselg550:mipselg950:mipselg1210:mipselg1220:mipselg1230:mipselg1240:mipselg1250:mipselg1310:mipselg1320:mipselg1330:mipselg1340:mipselg1410:mipselg1420:mipselg1430:mipselg1510:mipselg1520:mipselg1610 group.mipsel.baseName=mipsel gcc compiler.mipselg494.exe=/opt/compiler-explorer/mipsel/gcc-4.9.4/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-g++ @@ -3996,10 +4095,15 @@ compiler.mipselg1520.exe=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multili compiler.mipselg1520.semver=15.2.0 compiler.mipselg1520.objdumper=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump compiler.mipselg1520.demangler=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt +compiler.mipselg1610.exe=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-g++ +compiler.mipselg1610.semver=16.1.0 +compiler.mipselg1610.objdumper=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump +compiler.mipselg1610.demangler=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt + ## MIPS 64 EL group.mips64el.groupName=MIPS64EL GCC -group.mips64el.compilers=mips64elg494:mips64elg550:mips64elg950:mips64elg1210:mips64elg1220:mips64elg1230:mips64elg1310:mips64elg1320:mips64elg1410:mips64elg1330:mips64elg1240:mips64elg1420:mips64elg1510:mips64elg1430:mips64elg1340:mips64elg1250:mips64elg1520:mips564el +group.mips64el.compilers=mips64elg494:mips64elg550:mips64elg950:mips64elg1210:mips64elg1220:mips64elg1230:mips64elg1310:mips64elg1320:mips64elg1410:mips64elg1330:mips64elg1240:mips64elg1420:mips64elg1510:mips64elg1430:mips64elg1340:mips64elg1250:mips64elg1520:mips64elg1610:mips564el group.mips64el.baseName=mips64 (el) gcc group.mips64el.compilerCategories=gcc @@ -4090,6 +4194,11 @@ compiler.mips64elg1520.exe=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el-m compiler.mips64elg1520.semver=15.2.0 compiler.mips64elg1520.objdumper=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump compiler.mips64elg1520.demangler=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt +compiler.mips64elg1610.exe=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-g++ +compiler.mips64elg1610.semver=16.1.0 +compiler.mips64elg1610.objdumper=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump +compiler.mips64elg1610.demangler=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt + ############################### # GCC for nanoMIPS @@ -4125,7 +4234,7 @@ group.rvgcc.supportsBinary=true group.rvgcc.supportsBinaryObject=true ## GCC for RISC-V 32-bits -group.rv64gcc.compilers=rv64-gcctrunk:rv64-gcc1230:rv64-gcc1220:rv64-gcc1210:rv64-gcc1140:rv64-gcc1130:rv64-gcc1120:rv64-gcc1030:rv64-gcc1020:rv64-gcc940:rv64-gcc850:rv64-gcc820:rv64-gcc1310:rv64-gcc1320:rv64-gcc1410:rv64-gcc1330:rv64-gcc1240:rv64-gcc1420:rv64-gcc1510:rv64-gcc1430:rv64-gcc1340:rv64-gcc1250:rv64-gcc1520 +group.rv64gcc.compilers=rv64-gcctrunk:rv64-gcc1230:rv64-gcc1220:rv64-gcc1210:rv64-gcc1140:rv64-gcc1130:rv64-gcc1120:rv64-gcc1030:rv64-gcc1020:rv64-gcc940:rv64-gcc850:rv64-gcc820:rv64-gcc1310:rv64-gcc1320:rv64-gcc1410:rv64-gcc1330:rv64-gcc1240:rv64-gcc1420:rv64-gcc1510:rv64-gcc1430:rv64-gcc1340:rv64-gcc1250:rv64-gcc1520:rv64-gcc1610 group.rv64gcc.groupName=RISC-V (64-bits) gcc group.rv64gcc.baseName=RISC-V (64-bits) gcc @@ -4231,6 +4340,11 @@ compiler.rv64-gcc1520.exe=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unkn compiler.rv64-gcc1520.semver=15.2.0 compiler.rv64-gcc1520.objdumper=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump compiler.rv64-gcc1520.demangler=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt +compiler.rv64-gcc1610.exe=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-g++ +compiler.rv64-gcc1610.semver=16.1.0 +compiler.rv64-gcc1610.objdumper=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump +compiler.rv64-gcc1610.demangler=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt + compiler.rv64-gcctrunk.exe=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-g++ compiler.rv64-gcctrunk.semver=(trunk) @@ -4239,7 +4353,7 @@ compiler.rv64-gcctrunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv6 compiler.rv64-gcctrunk.demangler=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt ## GCC for RISC-V 32-bits -group.rv32gcc.compilers=rv32-gcctrunk:rv32-gcc1230:rv32-gcc1220:rv32-gcc1210:rv32-gcc1140:rv32-gcc1130:rv32-gcc1120:rv32-gcc1030:rv32-gcc1020:rv32-gcc940:rv32-gcc850:rv32-gcc820:rv32-gcc1310:rv32-gcc1320:rv32-gcc1410:rv32-gcc1330:rv32-gcc1240:rv32-gcc1420:rv32-gcc1510:rv32-gcc1430:rv32-gcc1340:rv32-gcc1250:rv32-gcc1520 +group.rv32gcc.compilers=rv32-gcctrunk:rv32-gcc1230:rv32-gcc1220:rv32-gcc1210:rv32-gcc1140:rv32-gcc1130:rv32-gcc1120:rv32-gcc1030:rv32-gcc1020:rv32-gcc940:rv32-gcc850:rv32-gcc820:rv32-gcc1310:rv32-gcc1320:rv32-gcc1410:rv32-gcc1330:rv32-gcc1240:rv32-gcc1420:rv32-gcc1510:rv32-gcc1430:rv32-gcc1340:rv32-gcc1250:rv32-gcc1520:rv32-gcc1610 group.rv32gcc.groupName=RISC-V (32-bits) gcc group.rv32gcc.baseName=RISC-V (32-bits) gcc @@ -4344,6 +4458,11 @@ compiler.rv32-gcc1520.exe=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unkn compiler.rv32-gcc1520.semver=15.2.0 compiler.rv32-gcc1520.objdumper=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump compiler.rv32-gcc1520.demangler=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt +compiler.rv32-gcc1610.exe=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-g++ +compiler.rv32-gcc1610.semver=16.1.0 +compiler.rv32-gcc1610.objdumper=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump +compiler.rv32-gcc1610.demangler=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt + compiler.rv32-gcctrunk.exe=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-g++ compiler.rv32-gcctrunk.semver=(trunk) diff --git a/etc/config/c.amazon.properties b/etc/config/c.amazon.properties index fd4d9a9aa..e73020234 100644 --- a/etc/config/c.amazon.properties +++ b/etc/config/c.amazon.properties @@ -1,5 +1,5 @@ compilers=&cgcc86:&cclang:&nvc_x86:&armcclang32:&armcclang64:&cmosclang-trunk:&rvcclang:&wasmcclang:&ppci:&cicc:&cicx:&ccross:&cgcc-classic:&cc65:&sdcc:&ctendra:&tinycc:&zigcc:&cproc86:&chibicc:&ccc:&z80-cclang:&z88dk:&compcert:godbolt.org@443/winprod:&movfuscator:&lc3:&upmem-clang:&cvast:&orcac:&c2rust:&nccarm -defaultCompiler=cg152 +defaultCompiler=cg161 # We use the llvm-trunk demangler for all c/c++ compilers, as c++filt tends to lag behind demangler=/opt/compiler-explorer/clang-trunk/bin/llvm-cxxfilt objdumper=/opt/compiler-explorer/gcc-15.1.0/bin/objdump @@ -15,7 +15,7 @@ llvmDisassembler=/opt/compiler-explorer/clang-19.1.0/bin/llvm-dis ############################### # GCC for x86 -group.cgcc86.compilers=&cgcc86assert:cg346:cg404:cg412:cg447:cg453:cg464:cg471:cg472:cg473:cg474:cg481:cg482:cg483:cg484:cg485:cg490:cg491:cg492:cg493:cg494:cg510:cg520:cg530:cg540:cg6:cg62:cg63:cg65:cg71:cg72:cg73:cg74:cg75:cg81:cg82:cg83:cg84:cg85:cg91:cg92:cg93:cg94:cg95:cg101:cg102:cg103:cg104:cg105:cg111:cg112:cg113:cg114:cg115:cg121:cg122:cg123:cg124:cg125:cg131:cg132:cg133:cg134:cg141:cg142:cg143:cg151:cg152:cgsnapshot:cgstatic-analysis +group.cgcc86.compilers=&cgcc86assert:cg346:cg404:cg412:cg447:cg453:cg464:cg471:cg472:cg473:cg474:cg481:cg482:cg483:cg484:cg485:cg490:cg491:cg492:cg493:cg494:cg510:cg520:cg530:cg540:cg6:cg62:cg63:cg65:cg71:cg72:cg73:cg74:cg75:cg81:cg82:cg83:cg84:cg85:cg91:cg92:cg93:cg94:cg95:cg101:cg102:cg103:cg104:cg105:cg111:cg112:cg113:cg114:cg115:cg121:cg122:cg123:cg124:cg125:cg131:cg132:cg133:cg134:cg141:cg142:cg143:cg151:cg152:cg161:cgsnapshot:cgstatic-analysis group.cgcc86.groupName=GCC x86-64 group.cgcc86.instructionSet=amd64 group.cgcc86.isSemVer=true @@ -179,6 +179,8 @@ compiler.cg151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/gcc compiler.cg151.semver=15.1 compiler.cg152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gcc compiler.cg152.semver=15.2 +compiler.cg161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gcc +compiler.cg161.semver=16.1 compiler.cgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gcc compiler.cgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt @@ -200,7 +202,7 @@ compiler.cg71.needsMulti=true compiler.cg72.needsMulti=true ## GCC x86 build with "assertions" (--enable-checking=XXX) -group.cgcc86assert.compilers=cg103assert:cg104assert:cg105assert:cg111assert:cg112assert:cg113assert:cg114assert:cg121assert:cg122assert:cg123assert:cg124assert:cg125assert:cg131assert:cg132assert:cg133assert:cg134assert:cg141assert:cg142assert:cg143assert:cg151assert:cg152assert +group.cgcc86assert.compilers=cg103assert:cg104assert:cg105assert:cg111assert:cg112assert:cg113assert:cg114assert:cg121assert:cg122assert:cg123assert:cg124assert:cg125assert:cg131assert:cg132assert:cg133assert:cg134assert:cg141assert:cg142assert:cg143assert:cg151assert:cg152assert:cg161assert group.cgcc86assert.groupName=GCC x86-64 (assertions) compiler.cg103assert.exe=/opt/compiler-explorer/gcc-assertions-10.3.0/bin/gcc @@ -245,6 +247,8 @@ compiler.cg151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/gcc compiler.cg151assert.semver=15.1 (assertions) compiler.cg152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gcc compiler.cg152assert.semver=15.2 (assertions) +compiler.cg161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gcc +compiler.cg161assert.semver=16.1 (assertions) # Classic x86 compilers (32-bit only) @@ -1267,7 +1271,7 @@ compiler.cbpfclang1300.exe=/opt/compiler-explorer/clang-13.0.0/bin/clang compiler.cbpfclang1300.semver=13.0.0 # GCC for BPF -group.cgccbpf.compilers=cbpfg1310:cbpfg1320:cbpfg1330:cbpfg1340:cbpfg1410:cbpfg1420:cbpfg1430:cbpfg1510:cbpfg1520:cbpfgtrunk +group.cgccbpf.compilers=cbpfg1310:cbpfg1320:cbpfg1330:cbpfg1340:cbpfg1410:cbpfg1420:cbpfg1430:cbpfg1510:cbpfg1520:cbpfg1610:cbpfgtrunk group.cgccbpf.supportsBinary=true group.cgccbpf.supportsExecute=false group.cgccbpf.baseName=BPF gcc @@ -1319,6 +1323,11 @@ compiler.cbpfg1520.exe=/opt/compiler-explorer/bpf/gcc-15.2.0/bpf-unknown-none/bi compiler.cbpfg1520.semver=15.2.0 compiler.cbpfg1520.objdumper=/opt/compiler-explorer/bpf/gcc-15.2.0/bpf-unknown-none/bin/bpf-unknown-objdump compiler.cbpfg1520.demangler=/opt/compiler-explorer/bpf/gcc-15.2.0/bpf-unknown-none/bin/bpf-unknown-none-c++filt +compiler.cbpfg1610.exe=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-gcc +compiler.cbpfg1610.semver=16.1.0 +compiler.cbpfg1610.objdumper=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-objdump +compiler.cbpfg1610.demangler=/opt/compiler-explorer/bpf/gcc-16.1.0/bpf-unknown-none/bin/bpf-unknown-none-c++filt + compiler.cbpfgtrunk.exe=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-gcc compiler.cbpfgtrunk.semver=trunk @@ -1348,7 +1357,7 @@ compiler.ctricoreg1130.demangler=/opt/compiler-explorer/tricore/gcc-11.3.0/trico group.chppa.compilers=&cgcchppa # GCC for HPPA -group.cgcchppa.compilers=chppag1420:chppag1430:chppag1510:chppag1520 +group.cgcchppa.compilers=chppag1420:chppag1430:chppag1510:chppag1520:chppag1610 group.cgcchppa.baseName=HPPA gcc group.cgcchppa.groupName=HPPA GCC group.cgcchppa.isSemVer=true @@ -1374,6 +1383,11 @@ compiler.chppag1520.exe=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linu compiler.chppag1520.semver=15.2.0 compiler.chppag1520.objdumper=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump compiler.chppag1520.demangler=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt +compiler.chppag1610.exe=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-gcc +compiler.chppag1610.semver=16.1.0 +compiler.chppag1610.objdumper=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump +compiler.chppag1610.demangler=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt + ############################### # ArchieSDK (Acorn Archimedes ARM2) @@ -1414,7 +1428,7 @@ compiler.cm68kclangtrunk.isNightly=true # GCC for m68k group.cgccm68k.compilerType=m68k -group.cgccm68k.compilers=cm68kg1310:cm68kg1320:cm68kg1410:cm68kg1330:cm68kg1420:cm68kg1510:cm68kg1430:cm68kg1340:cm68kg1520 +group.cgccm68k.compilers=cm68kg1310:cm68kg1320:cm68kg1410:cm68kg1330:cm68kg1420:cm68kg1510:cm68kg1430:cm68kg1340:cm68kg1520:cm68kg1610 group.cgccm68k.supportsBinary=true group.cgccm68k.supportsExecute=false group.cgccm68k.baseName=M68K gcc @@ -1466,13 +1480,18 @@ compiler.cm68kg1520.exe=/opt/compiler-explorer/m68k/gcc-15.2.0/m68k-unknown-elf/ compiler.cm68kg1520.semver=15.2.0 compiler.cm68kg1520.objdumper=/opt/compiler-explorer/m68k/gcc-15.2.0/m68k-unknown-elf/bin/m68k-unknown-elf-objdump compiler.cm68kg1520.demangler=/opt/compiler-explorer/m68k/gcc-15.2.0/m68k-unknown-elf/bin/m68k-unknown-elf-c++filt +compiler.cm68kg1610.exe=/opt/compiler-explorer/m68k/gcc-16.1.0/m68k-unknown-elf/bin/m68k-unknown-elf-gcc +compiler.cm68kg1610.semver=16.1.0 +compiler.cm68kg1610.objdumper=/opt/compiler-explorer/m68k/gcc-16.1.0/m68k-unknown-elf/bin/m68k-unknown-elf-objdump +compiler.cm68kg1610.demangler=/opt/compiler-explorer/m68k/gcc-16.1.0/m68k-unknown-elf/bin/m68k-unknown-elf-c++filt + ############################### # Cross for SPARC group.csparc.compilers=&cgccsparc # GCC for SPARC -group.cgccsparc.compilers=csparcg1220:csparcg1230:csparcg1240:csparcg1250:csparcg1310:csparcg1320:csparcg1330:csparcg1340:csparcg1410:csparcg1420:csparcg1430:csparcg1510:csparcg1520 +group.cgccsparc.compilers=csparcg1220:csparcg1230:csparcg1240:csparcg1250:csparcg1310:csparcg1320:csparcg1330:csparcg1340:csparcg1410:csparcg1420:csparcg1430:csparcg1510:csparcg1520:csparcg1610 group.cgccsparc.baseName=SPARC gcc group.cgccsparc.groupName=SPARC GCC group.cgccsparc.isSemVer=true @@ -1541,13 +1560,18 @@ compiler.csparcg1520.exe=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-l compiler.csparcg1520.semver=15.2.0 compiler.csparcg1520.objdumper=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump compiler.csparcg1520.demangler=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt +compiler.csparcg1610.exe=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-gcc +compiler.csparcg1610.semver=16.1.0 +compiler.csparcg1610.objdumper=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump +compiler.csparcg1610.demangler=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt + ############################### # Cross for SPARC64 group.csparc64.compilers=&cgccsparc64 # GCC for SPARC64 -group.cgccsparc64.compilers=csparc64g1220:csparc64g1230:csparc64g1310:csparc64g1320:csparc64g1410:csparc64g1330:csparc64g1240:csparc64g1420:csparc64g1510:csparc64g1430:csparc64g1340:csparc64g1250:csparc64g1520 +group.cgccsparc64.compilers=csparc64g1220:csparc64g1230:csparc64g1310:csparc64g1320:csparc64g1410:csparc64g1330:csparc64g1240:csparc64g1420:csparc64g1510:csparc64g1430:csparc64g1340:csparc64g1250:csparc64g1520:csparc64g1610 group.cgccsparc64.baseName=SPARC64 gcc group.cgccsparc64.groupName=SPARC64 GCC group.cgccsparc64.isSemVer=true @@ -1616,13 +1640,18 @@ compiler.csparc64g1520.exe=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-mul compiler.csparc64g1520.semver=15.2.0 compiler.csparc64g1520.objdumper=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump compiler.csparc64g1520.demangler=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt +compiler.csparc64g1610.exe=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-gcc +compiler.csparc64g1610.semver=16.1.0 +compiler.csparc64g1610.objdumper=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump +compiler.csparc64g1610.demangler=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt + ############################### # Cross for SPARC-LEON group.csparcleon.compilers=&cgccsparcleon # GCC for SPARC-LEON -group.cgccsparcleon.compilers=csparcleong1220:csparcleong1220-1:csparcleong1230:csparcleong1240:csparcleong1250:csparcleong1310:csparcleong1320:csparcleong1330:csparcleong1340:csparcleong1410:csparcleong1420:csparcleong1430:csparcleong1510:csparcleong1520 +group.cgccsparcleon.compilers=csparcleong1220:csparcleong1220-1:csparcleong1230:csparcleong1240:csparcleong1250:csparcleong1310:csparcleong1320:csparcleong1330:csparcleong1340:csparcleong1410:csparcleong1420:csparcleong1430:csparcleong1510:csparcleong1520:csparcleong1610 group.cgccsparcleon.baseName=SPARC LEON gcc group.cgccsparcleon.groupName=SPARC LEON GCC group.cgccsparcleon.isSemVer=true @@ -1693,6 +1722,11 @@ compiler.csparcleong1520.exe=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc- compiler.csparcleong1520.semver=15.2.0 compiler.csparcleong1520.objdumper=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump compiler.csparcleong1520.demangler=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt +compiler.csparcleong1610.exe=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-gcc +compiler.csparcleong1610.semver=16.1.0 +compiler.csparcleong1610.objdumper=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump +compiler.csparcleong1610.demangler=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt + compiler.csparcleong1220-1.exe=/opt/compiler-explorer/sparc-leon/gcc-12.2.0-1/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-gcc compiler.csparcleong1220-1.semver=12.2.0 @@ -1704,7 +1738,7 @@ compiler.csparcleong1220-1.demangler=/opt/compiler-explorer/sparc-leon/gcc-12.2. group.cc6x.compilers=&cgccc6x # GCC for TI C6x -group.cgccc6x.compilers=cc6xg1220:cc6xg1230:cc6xg1310:cc6xg1320:cc6xg1410:cc6xg1330:cc6xg1240:cc6xg1420:cc6xg1510:cc6xg1430:cc6xg1340:cc6xg1250:cc6xg1520 +group.cgccc6x.compilers=cc6xg1220:cc6xg1230:cc6xg1310:cc6xg1320:cc6xg1410:cc6xg1330:cc6xg1240:cc6xg1420:cc6xg1510:cc6xg1430:cc6xg1340:cc6xg1250:cc6xg1520:cc6xg1610 group.cgccc6x.baseName=TI C6x gcc group.cgccc6x.groupName=TI C6x GCC group.cgccc6x.isSemVer=true @@ -1773,13 +1807,18 @@ compiler.cc6xg1520.exe=/opt/compiler-explorer/c6x/gcc-15.2.0/tic6x-elf/bin/tic6x compiler.cc6xg1520.semver=15.2.0 compiler.cc6xg1520.objdumper=/opt/compiler-explorer/c6x/gcc-15.2.0/tic6x-elf/bin/tic6x-elf-objdump compiler.cc6xg1520.demangler=/opt/compiler-explorer/c6x/gcc-15.2.0/tic6x-elf/bin/tic6x-elf-c++filt +compiler.cc6xg1610.exe=/opt/compiler-explorer/c6x/gcc-16.1.0/tic6x-elf/bin/tic6x-elf-gcc +compiler.cc6xg1610.semver=16.1.0 +compiler.cc6xg1610.objdumper=/opt/compiler-explorer/c6x/gcc-16.1.0/tic6x-elf/bin/tic6x-elf-objdump +compiler.cc6xg1610.demangler=/opt/compiler-explorer/c6x/gcc-16.1.0/tic6x-elf/bin/tic6x-elf-c++filt + ############################### # Cross for loongarch64 group.cloongarch64.compilers=&cgccloongarch64 # GCC for loongarch64 -group.cgccloongarch64.compilers=cloongarch64g1220:cloongarch64g1230:cloongarch64g1310:cloongarch64g1320:cloongarch64g1410:cloongarch64g1330:cloongarch64g1240:cloongarch64g1420:cloongarch64g1510:cloongarch64g1430:cloongarch64g1340:cloongarch64g1250:cloongarch64g1520 +group.cgccloongarch64.compilers=cloongarch64g1220:cloongarch64g1230:cloongarch64g1310:cloongarch64g1320:cloongarch64g1410:cloongarch64g1330:cloongarch64g1240:cloongarch64g1420:cloongarch64g1510:cloongarch64g1430:cloongarch64g1340:cloongarch64g1250:cloongarch64g1520:cloongarch64g1610 group.cgccloongarch64.baseName=loongarch64 gcc group.cgccloongarch64.groupName=loongarch64 GCC group.cgccloongarch64.isSemVer=true @@ -1848,13 +1887,18 @@ compiler.cloongarch64g1520.exe=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loo compiler.cloongarch64g1520.semver=15.2.0 compiler.cloongarch64g1520.objdumper=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump compiler.cloongarch64g1520.demangler=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt +compiler.cloongarch64g1610.exe=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-gcc +compiler.cloongarch64g1610.semver=16.1.0 +compiler.cloongarch64g1610.objdumper=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump +compiler.cloongarch64g1610.demangler=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt + ############################### # Cross for sh group.csh.compilers=&cgccsh # GCC for sh -group.cgccsh.compilers=cshg494:cshg950:cshg1220:cshg1230:cshg1240:cshg1250:cshg1310:cshg1320:cshg1330:cshg1340:cshg1410:cshg1420:cshg1430:cshg1510:cshg1520 +group.cgccsh.compilers=cshg494:cshg950:cshg1220:cshg1230:cshg1240:cshg1250:cshg1310:cshg1320:cshg1330:cshg1340:cshg1410:cshg1420:cshg1430:cshg1510:cshg1520:cshg1610 group.cgccsh.baseName=sh gcc group.cgccsh.groupName=sh GCC group.cgccsh.isSemVer=true @@ -1933,13 +1977,18 @@ compiler.cshg1520.exe=/opt/compiler-explorer/sh/gcc-15.2.0/sh-unknown-elf/bin/sh compiler.cshg1520.semver=15.2.0 compiler.cshg1520.objdumper=/opt/compiler-explorer/sh/gcc-15.2.0/sh-unknown-elf/bin/sh-unknown-elf-objdump compiler.cshg1520.demangler=/opt/compiler-explorer/sh/gcc-15.2.0/sh-unknown-elf/bin/sh-unknown-elf-c++filt +compiler.cshg1610.exe=/opt/compiler-explorer/sh/gcc-16.1.0/sh-unknown-elf/bin/sh-unknown-elf-gcc +compiler.cshg1610.semver=16.1.0 +compiler.cshg1610.objdumper=/opt/compiler-explorer/sh/gcc-16.1.0/sh-unknown-elf/bin/sh-unknown-elf-objdump +compiler.cshg1610.demangler=/opt/compiler-explorer/sh/gcc-16.1.0/sh-unknown-elf/bin/sh-unknown-elf-c++filt + ############################### # Cross for s390x group.cs390x.compilers=&cgccs390x # GCC for s390x -group.cgccs390x.compilers=cgccs390x112:cs390xg1210:cs390xg1220:cs390xg1230:cs390xg1310:cs390xg1320:cs390xg1410:cs390xg1330:cs390xg1240:cs390xg1420:cs390xg1510:cs390xg1430:cs390xg1340:cs390xg1250:cs390xg1520 +group.cgccs390x.compilers=cgccs390x112:cs390xg1210:cs390xg1220:cs390xg1230:cs390xg1310:cs390xg1320:cs390xg1410:cs390xg1330:cs390xg1240:cs390xg1420:cs390xg1510:cs390xg1430:cs390xg1340:cs390xg1250:cs390xg1520:cs390xg1610 group.cgccs390x.baseName=s390x gcc group.cgccs390x.groupName=s390x GCC group.cgccs390x.isSemVer=true @@ -2016,6 +2065,11 @@ compiler.cs390xg1520.exe=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux compiler.cs390xg1520.semver=15.2.0 compiler.cs390xg1520.objdumper=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump compiler.cs390xg1520.demangler=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt +compiler.cs390xg1610.exe=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-gcc +compiler.cs390xg1610.semver=16.1.0 +compiler.cs390xg1610.objdumper=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump +compiler.cs390xg1610.demangler=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt + ############################### # Cross compilers for PPC @@ -2023,7 +2077,7 @@ group.cppcs.compilers=&cppc:&cppc64:&cppc64le group.cppcs.isSemVer=true group.cppcs.instructionSet=powerpc -group.cppc.compilers=cppcg48:cppcg1120:cppcg1210:cppcg1220:cppcg1230:cppcg1240:cppcg1250:cppcg1310:cppcg1320:cppcg1330:cppcg1340:cppcg1410:cppcg1420:cppcg1430:cppcg1510:cppcg1520 +group.cppc.compilers=cppcg48:cppcg1120:cppcg1210:cppcg1220:cppcg1230:cppcg1240:cppcg1250:cppcg1310:cppcg1320:cppcg1330:cppcg1340:cppcg1410:cppcg1420:cppcg1430:cppcg1510:cppcg1520:cppcg1610 group.cppc.groupName=POWER group.cppc.baseName=power gcc @@ -2103,8 +2157,13 @@ compiler.cppcg1520.exe=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown compiler.cppcg1520.semver=15.2.0 compiler.cppcg1520.objdumper=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump compiler.cppcg1520.demangler=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt +compiler.cppcg1610.exe=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-gcc +compiler.cppcg1610.semver=16.1.0 +compiler.cppcg1610.objdumper=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump +compiler.cppcg1610.demangler=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt -group.cppc64.compilers=cppc64g8:cppc64g9:cppc64g1120:cppc64g1210:cppc64clang:cppc64g1220:cppc64g1230:cppc64g1310:cppc64g1320:cppc64gtrunk:cppc64g1410:cppc64g1330:cppc64g1240:cppc64g1420:cppc64g1510:cppc64g1430:cppc64g1340:cppc64g1250:cppc64g1520 + +group.cppc64.compilers=cppc64g8:cppc64g9:cppc64g1120:cppc64g1210:cppc64clang:cppc64g1220:cppc64g1230:cppc64g1310:cppc64g1320:cppc64gtrunk:cppc64g1410:cppc64g1330:cppc64g1240:cppc64g1420:cppc64g1510:cppc64g1430:cppc64g1340:cppc64g1250:cppc64g1520:cppc64g1610 group.cppc64.groupName=POWER64 group.cppc64.baseName=POWER64 gcc @@ -2190,6 +2249,11 @@ compiler.cppc64g1520.exe=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-u compiler.cppc64g1520.semver=15.2.0 compiler.cppc64g1520.objdumper=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump compiler.cppc64g1520.demangler=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt +compiler.cppc64g1610.exe=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gcc +compiler.cppc64g1610.semver=16.1.0 +compiler.cppc64g1610.objdumper=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump +compiler.cppc64g1610.demangler=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt + compiler.cppc64gtrunk.exe=/opt/compiler-explorer/powerpc64/gcc-trunk/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gcc compiler.cppc64gtrunk.semver=trunk @@ -2205,7 +2269,7 @@ compiler.cppc64clang.semver=(snapshot) compiler.cppc64clang.isNightly=true compiler.cppc64clang.compilerCategories=clang -group.cppc64le.compilers=cppc64leg630:cppc64leg8:cppc64leg9:cppc64leg1120:cppc64leg1210:cppc64leclang:cppc64leg1220:cppc64leg1230:cppc64leg1310:cppc64leg1320:cppc64legtrunk:cppc64leg1410:cppc64leg1330:cppc64leg1240:cppc64leg1420:cppc64leg1510:cppc64leg1430:cppc64leg1340:cppc64leg1250:cppc64leg1520 +group.cppc64le.compilers=cppc64leg630:cppc64leg8:cppc64leg9:cppc64leg1120:cppc64leg1210:cppc64leclang:cppc64leg1220:cppc64leg1230:cppc64leg1310:cppc64leg1320:cppc64legtrunk:cppc64leg1410:cppc64leg1330:cppc64leg1240:cppc64leg1420:cppc64leg1510:cppc64leg1430:cppc64leg1340:cppc64leg1250:cppc64leg1520:cppc64leg1610 group.cppc64le.groupName=POWER64LE GCC group.cppc64le.baseName=power64le gcc @@ -2295,6 +2359,11 @@ compiler.cppc64leg1520.exe=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc compiler.cppc64leg1520.semver=15.2.0 compiler.cppc64leg1520.objdumper=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump compiler.cppc64leg1520.demangler=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt +compiler.cppc64leg1610.exe=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gcc +compiler.cppc64leg1610.semver=16.1.0 +compiler.cppc64leg1610.objdumper=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump +compiler.cppc64leg1610.demangler=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt + compiler.cppc64legtrunk.exe=/opt/compiler-explorer/powerpc64le/gcc-trunk/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gcc compiler.cppc64legtrunk.semver=trunk @@ -2322,7 +2391,7 @@ group.cgccarm.includeFlag=-I # 32 bit group.cgcc32arm.groupName=Arm 32-bit GCC group.cgcc32arm.baseName=ARM GCC -group.cgcc32arm.compilers=carmhfg54:carmg454:carmg464:carm541:carmg630:carmg640:carm710:carmg730:carmg750:carmg820:carmce820:carm831:carmg850:carm921:carm930:carm1020:carm1021:carm1030:carm1031_07:carm1031_10:carmg1050:carm1100:carm1120:carm1121:carm1130:carmg1140:carm1210:carmg1220:carmg1230:carmg1240:carmg1250:carmg1310:carmg1320:carmug1320:carmg1330:carmug1330:carmg1340:carmug1340:carmg1410:carmug1410:carmg1420:carmug1420:carmg1430:carmug1430:carmg1510:carmug1510:carmg1520:carmug1520:carmgtrunk +group.cgcc32arm.compilers=carmhfg54:carmg454:carmg464:carm541:carmg630:carmg640:carm710:carmg730:carmg750:carmg820:carmce820:carm831:carmg850:carm921:carm930:carm1020:carm1021:carm1030:carm1031_07:carm1031_10:carmg1050:carm1100:carm1120:carm1121:carm1130:carmg1140:carm1210:carmg1220:carmg1230:carmg1240:carmg1250:carmg1310:carmg1320:carmug1320:carmg1330:carmug1330:carmg1340:carmug1340:carmg1410:carmug1410:carmg1420:carmug1420:carmg1430:carmug1430:carmg1510:carmug1510:carmg1520:carmug1520:carmg1610:carmug1610:carmgtrunk group.cgcc32arm.isSemVer=true group.cgcc32arm.objdumper=/opt/compiler-explorer/arm/gcc-10.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump group.cgcc32arm.instructionSet=arm32 @@ -2428,6 +2497,11 @@ compiler.carmg1520.exe=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-g compiler.carmg1520.semver=15.2.0 compiler.carmg1520.objdumper=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump compiler.carmg1520.demangler=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt +compiler.carmg1610.exe=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc +compiler.carmg1610.semver=16.1.0 +compiler.carmg1610.objdumper=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump +compiler.carmg1610.demangler=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt + compiler.carmug1320.exe=/opt/compiler-explorer/arm/gcc-arm-unknown-13.2.0/arm-unknown-eabi/bin/arm-unknown-eabi-gcc compiler.carmug1320.name=ARM GCC 13.2.0 (unknown-eabi) @@ -2476,6 +2550,11 @@ compiler.carmug1520.semver=15.2.0 compiler.carmug1520.objdumper=/opt/compiler-explorer/arm/gcc-arm-unknown-15.2.0/arm-unknown-eabi/bin/arm-unknown-eabi-objdump compiler.carmug1520.demangler=/opt/compiler-explorer/arm/gcc-arm-unknown-15.2.0/arm-unknown-eabi/bin/arm-unknown-eabi-c++filt compiler.carmug1520.name=ARM GCC 15.2.0 (unknown-eabi) +compiler.carmug1610.exe=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-gcc +compiler.carmug1610.semver=16.1.0 +compiler.carmug1610.objdumper=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-objdump +compiler.carmug1610.demangler=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-c++filt + compiler.carmce820.exe=/opt/compiler-explorer/arm-wince/gcc-ce-8.2.0/bin/arm-mingw32ce-gcc compiler.carmce820.semver=8.2.0 (WinCE) @@ -2524,7 +2603,7 @@ compiler.carmgtrunk.isNightly=true # 64 bit group.cgcc64arm.groupName=ARM64 gcc group.cgcc64arm.baseName=ARM64 GCC -group.cgcc64arm.compilers=caarchg54:carm64g494:carm64g550:carm64g630:carm64g640:carm64g730:carm64g750:carm64g820:carm64g850:carm64g930:carm64g940:carm64g950:carm64g1020:carm64g1030:carm64g1040:carm64g1100:carm64g1120:carm64g1130:carm64g1140:carm64g1210:carm64gtrunk:carm64g1220:carm64g1230:carm64g1310:carm64g1050:carm64g1320:carm64g1410:carm64g1330:carm64g1240:carm64g1420:carm64g1510:carm64g1430:carm64g1340:carm64g1250:carm64g1520 +group.cgcc64arm.compilers=caarchg54:carm64g494:carm64g550:carm64g630:carm64g640:carm64g730:carm64g750:carm64g820:carm64g850:carm64g930:carm64g940:carm64g950:carm64g1020:carm64g1030:carm64g1040:carm64g1100:carm64g1120:carm64g1130:carm64g1140:carm64g1210:carm64gtrunk:carm64g1220:carm64g1230:carm64g1310:carm64g1050:carm64g1320:carm64g1410:carm64g1330:carm64g1240:carm64g1420:carm64g1510:carm64g1430:carm64g1340:carm64g1250:carm64g1520:carm64g1610 group.cgcc64arm.isSemVer=true group.cgcc64arm.objdumper=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump group.cgcc64arm.instructionSet=aarch64 @@ -2651,6 +2730,11 @@ compiler.carm64g1520.exe=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown compiler.carm64g1520.semver=15.2.0 compiler.carm64g1520.objdumper=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump compiler.carm64g1520.demangler=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt +compiler.carm64g1610.exe=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc +compiler.carm64g1610.semver=16.1.0 +compiler.carm64g1610.objdumper=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump +compiler.carm64g1610.demangler=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt + compiler.carm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc compiler.carm64gtrunk.semver=trunk @@ -2928,7 +3012,7 @@ compiler.ccl4302161.versionFlag=-version ################################ # GCC for AVR -group.cavr.compilers=cavrg454:cavrg464:cavrg540:cavrg730:cavrg920:cavrg930:cavrg1030:cavrg1100:cavrg1210:cavrg1220:cavrg1230:cavrg1240:cavrg1250:cavrg1310:cavrg1320:cavrg1330:cavrg1340:cavrg1410:cavrg1420:cavrg1430:cavrg1510:cavrg1520 +group.cavr.compilers=cavrg454:cavrg464:cavrg540:cavrg730:cavrg920:cavrg930:cavrg1030:cavrg1100:cavrg1210:cavrg1220:cavrg1230:cavrg1240:cavrg1250:cavrg1310:cavrg1320:cavrg1330:cavrg1340:cavrg1410:cavrg1420:cavrg1430:cavrg1510:cavrg1520:cavrg1610 group.cavr.groupName=AVR GCC group.cavr.baseName=AVR gcc group.cavr.isSemVer=true @@ -3033,6 +3117,11 @@ compiler.cavrg1520.exe=/opt/compiler-explorer/avr/gcc-15.2.0/avr/bin/avr-gcc compiler.cavrg1520.semver=15.2.0 compiler.cavrg1520.objdumper=/opt/compiler-explorer/avr/gcc-15.2.0/avr/bin/avr-objdump compiler.cavrg1520.demangler=/opt/compiler-explorer/avr/gcc-15.2.0/avr/bin/avr-c++filt +compiler.cavrg1610.exe=/opt/compiler-explorer/avr/gcc-16.1.0/avr/bin/avr-gcc +compiler.cavrg1610.semver=16.1.0 +compiler.cavrg1610.objdumper=/opt/compiler-explorer/avr/gcc-16.1.0/avr/bin/avr-objdump +compiler.cavrg1610.demangler=/opt/compiler-explorer/avr/gcc-16.1.0/avr/bin/avr-c++filt + ############################### # Cross compilers for MIPS @@ -3214,7 +3303,7 @@ compiler.mips64el-cclang1300.semver=13.0.0 # GCC for all MIPS ## MIPS -group.cmips.compilers=cmips5:cmipsg494:cmipsg550:cmips930:cmipsg950:cmips1120:cmipsg1210:cmipsg1220:cmipsg1230:cmipsg1240:cmipsg1250:cmipsg1310:cmipsg1320:cmipsg1330:cmipsg1340:cmipsg1410:cmipsg1420:cmipsg1430:cmipsg1510:cmipsg1520 +group.cmips.compilers=cmips5:cmipsg494:cmipsg550:cmips930:cmipsg950:cmips1120:cmipsg1210:cmipsg1220:cmipsg1230:cmipsg1240:cmipsg1250:cmipsg1310:cmipsg1320:cmipsg1330:cmipsg1340:cmipsg1410:cmipsg1420:cmipsg1430:cmipsg1510:cmipsg1520:cmipsg1610 group.cmips.groupName=MIPS GCC group.cmips.baseName=mips gcc @@ -3314,10 +3403,15 @@ compiler.cmipsg1520.exe=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linu compiler.cmipsg1520.semver=15.2.0 compiler.cmipsg1520.objdumper=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump compiler.cmipsg1520.demangler=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt +compiler.cmipsg1610.exe=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-gcc +compiler.cmipsg1610.semver=16.1.0 +compiler.cmipsg1610.objdumper=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump +compiler.cmipsg1610.demangler=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt + ## MIPS64 group.cmips64.groupName=MIPS64 GCC -group.cmips64.compilers=cmips64g494:cmips64g550:cmips64g950:cmips64g1210:cmips64g1220:cmips64g1230:cmips64g1310:cmips64g1320:cmips64g1410:cmips64g1330:cmips64g1240:cmips64g1420:cmips64g1510:cmips64g1430:cmips64g1340:cmips64g1250:cmips64g1520:cmips564:cmips112064 +group.cmips64.compilers=cmips64g494:cmips64g550:cmips64g950:cmips64g1210:cmips64g1220:cmips64g1230:cmips64g1310:cmips64g1320:cmips64g1410:cmips64g1330:cmips64g1240:cmips64g1420:cmips64g1510:cmips64g1430:cmips64g1340:cmips64g1250:cmips64g1520:cmips564:cmips112064:cmips64g1610 group.cmips64.baseName=mips64 gcc compiler.cmips64g494.exe=/opt/compiler-explorer/mips64/gcc-4.9.4/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gcc @@ -3411,10 +3505,15 @@ compiler.cmips64g1520.exe=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknow compiler.cmips64g1520.semver=15.2.0 compiler.cmips64g1520.objdumper=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump compiler.cmips64g1520.demangler=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt +compiler.cmips64g1610.exe=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gcc +compiler.cmips64g1610.semver=16.1.0 +compiler.cmips64g1610.objdumper=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump +compiler.cmips64g1610.demangler=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt + ## MIPS EL group.cmipsel.groupName=MIPSEL GCC -group.cmipsel.compilers=cmips5el:cmipselg494:cmipselg550:cmipselg950:cmipselg1210:cmipselg1220:cmipselg1230:cmipselg1240:cmipselg1250:cmipselg1310:cmipselg1320:cmipselg1330:cmipselg1340:cmipselg1410:cmipselg1420:cmipselg1430:cmipselg1510:cmipselg1520 +group.cmipsel.compilers=cmips5el:cmipselg494:cmipselg550:cmipselg950:cmipselg1210:cmipselg1220:cmipselg1230:cmipselg1240:cmipselg1250:cmipselg1310:cmipselg1320:cmipselg1330:cmipselg1340:cmipselg1410:cmipselg1420:cmipselg1430:cmipselg1510:cmipselg1520:cmipselg1610 group.cmipsel.baseName=mips (el) gcc compiler.cmipselg494.exe=/opt/compiler-explorer/mipsel/gcc-4.9.4/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc @@ -3504,10 +3603,15 @@ compiler.cmipselg1520.exe=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multil compiler.cmipselg1520.semver=15.2.0 compiler.cmipselg1520.objdumper=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump compiler.cmipselg1520.demangler=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt +compiler.cmipselg1610.exe=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-gcc +compiler.cmipselg1610.semver=16.1.0 +compiler.cmipselg1610.objdumper=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump +compiler.cmipselg1610.demangler=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt + ## MIPS64 EL group.cmips64el.groupName=MIPS64EL GCC -group.cmips64el.compilers=cmips64elg494:cmips64elg550:cmips64elg950:cmips64elg1210:cmips64elg1220:cmips64elg1230:cmips64elg1310:cmips64elg1320:cmips64elg1410:cmips64elg1330:cmips64elg1240:cmips64elg1420:cmips64elg1510:cmips64elg1430:cmips64elg1340:cmips64elg1250:cmips64elg1520:cmips564el +group.cmips64el.compilers=cmips64elg494:cmips64elg550:cmips64elg950:cmips64elg1210:cmips64elg1220:cmips64elg1230:cmips64elg1310:cmips64elg1320:cmips64elg1410:cmips64elg1330:cmips64elg1240:cmips64elg1420:cmips64elg1510:cmips64elg1430:cmips64elg1340:cmips64elg1250:cmips64elg1520:cmips564el:cmips64elg1610 group.cmips64el.baseName=mips64 (el) gcc compiler.cmips64elg494.exe=/opt/compiler-explorer/mips64el/gcc-4.9.4/mips64el-unknown-linux-gnu/bin/mips64el-unknown-linux-gnu-gcc @@ -3597,6 +3701,11 @@ compiler.cmips64elg1520.exe=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el- compiler.cmips64elg1520.semver=15.2.0 compiler.cmips64elg1520.objdumper=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump compiler.cmips64elg1520.demangler=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt +compiler.cmips64elg1610.exe=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-gcc +compiler.cmips64elg1610.semver=16.1.0 +compiler.cmips64elg1610.objdumper=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump +compiler.cmips64elg1610.demangler=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt + ############################### # GCC for nanoMIPS @@ -3633,7 +3742,7 @@ group.rvcgcc.supportsBinary=true group.rvcgcc.supportsBinaryObject=true ## GCC for RISC-V 64-bits -group.rv64-cgccs.compilers=rv64-cgcctrunk:rv64-cgcc1230:rv64-cgcc1210:rv64-cgcc1140:rv64-cgcc1130:rv64-cgcc1220:rv64-cgcc1120:rv64-cgcc1030:rv64-cgcc1020:rv64-cgcc940:rv64-cgcc850:rv64-cgcc820:rv64-cgcc1310:rv64-cgcc1320:rv64-cgcc1410:rv64-cgcc1330:rv64-cgcc1240:rv64-cgcc1420:rv64-cgcc1510:rv64-cgcc1430:rv64-cgcc1340:rv64-cgcc1250:rv64-cgcc1520 +group.rv64-cgccs.compilers=rv64-cgcctrunk:rv64-cgcc1230:rv64-cgcc1210:rv64-cgcc1140:rv64-cgcc1130:rv64-cgcc1220:rv64-cgcc1120:rv64-cgcc1030:rv64-cgcc1020:rv64-cgcc940:rv64-cgcc850:rv64-cgcc820:rv64-cgcc1310:rv64-cgcc1320:rv64-cgcc1410:rv64-cgcc1330:rv64-cgcc1240:rv64-cgcc1420:rv64-cgcc1510:rv64-cgcc1430:rv64-cgcc1340:rv64-cgcc1250:rv64-cgcc1520:rv64-cgcc1610 group.rv64-cgccs.groupName=RISC-V (64-bits) gcc group.rv64-cgccs.baseName=RISC-V (64-bits) gcc @@ -3739,6 +3848,11 @@ compiler.rv64-cgcc1520.exe=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unk compiler.rv64-cgcc1520.semver=15.2.0 compiler.rv64-cgcc1520.objdumper=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump compiler.rv64-cgcc1520.demangler=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt +compiler.rv64-cgcc1610.exe=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gcc +compiler.rv64-cgcc1610.semver=16.1.0 +compiler.rv64-cgcc1610.objdumper=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump +compiler.rv64-cgcc1610.demangler=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt + compiler.rv64-cgcctrunk.exe=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gcc compiler.rv64-cgcctrunk.semver=(trunk) @@ -3747,7 +3861,7 @@ compiler.rv64-cgcctrunk.demangler=/opt/compiler-explorer/riscv64/gcc-trunk/riscv compiler.rv64-cgcctrunk.isNightly=true ## GCC for RISC-V 32-bits -group.rv32-cgccs.compilers=rv32-cgcctrunk:rv32-cgcc1220:rv32-cgcc1210:rv32-cgcc1140:rv32-cgcc1130:rv32-cgcc1120:rv32-cgcc1030:rv32-cgcc1020:rv32-cgcc940:rv32-cgcc850:rv32-cgcc820:rv32-cgcc1310:rv32-cgcc1230:rv32-cgcc1320:rv32-cgcc1410:rv32-cgcc1330:rv32-cgcc1240:rv32-cgcc1420:rv32-cgcc1510:rv32-cgcc1430:rv32-cgcc1340:rv32-cgcc1250:rv32-cgcc1520 +group.rv32-cgccs.compilers=rv32-cgcctrunk:rv32-cgcc1220:rv32-cgcc1210:rv32-cgcc1140:rv32-cgcc1130:rv32-cgcc1120:rv32-cgcc1030:rv32-cgcc1020:rv32-cgcc940:rv32-cgcc850:rv32-cgcc820:rv32-cgcc1310:rv32-cgcc1230:rv32-cgcc1320:rv32-cgcc1410:rv32-cgcc1330:rv32-cgcc1240:rv32-cgcc1420:rv32-cgcc1510:rv32-cgcc1430:rv32-cgcc1340:rv32-cgcc1250:rv32-cgcc1520:rv32-cgcc1610 group.rv32-cgccs.groupName=RISC-V (32-bits) gcc group.rv32-cgccs.baseName=RISC-V (32-bits) gcc @@ -3853,6 +3967,11 @@ compiler.rv32-cgcc1520.exe=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unk compiler.rv32-cgcc1520.semver=15.2.0 compiler.rv32-cgcc1520.objdumper=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump compiler.rv32-cgcc1520.demangler=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt +compiler.rv32-cgcc1610.exe=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-gcc +compiler.rv32-cgcc1610.semver=16.1.0 +compiler.rv32-cgcc1610.objdumper=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump +compiler.rv32-cgcc1610.demangler=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt + compiler.rv32-cgcctrunk.exe=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-gcc compiler.rv32-cgcctrunk.semver=(trunk) diff --git a/etc/config/cobol.amazon.properties b/etc/config/cobol.amazon.properties index d45d09d49..4d59553d5 100644 --- a/etc/config/cobol.amazon.properties +++ b/etc/config/cobol.amazon.properties @@ -1,6 +1,6 @@ compilers=&gnucobol:&gcccobol defaultCompiler=gnucobol32 -objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump +objdumper=/opt/compiler-explorer/gcc-16.1.0/bin/objdump group.gnucobol.groupName=GnuCOBOL group.gnucobol.compilers=gnucobol32:gnucobol32rc2:gnucobol31:gnucobol22:gnucobol11 @@ -30,7 +30,7 @@ compiler.gnucobol11.licensePreamble=Copyright (c) 2012 Free Software Foundation, group.gcccobol.compilerType=gcccobol group.gcccobol.groupName=GCC -group.gcccobol.compilers=&gcccobolassert:gcccobolsnapshot:gcccobol151:gcccobol152:gcccoboltrunk +group.gcccobol.compilers=&gcccobolassert:gcccobolsnapshot:gcccobol151:gcccobol152:gcccobol161:gcccoboltrunk group.gcccobol.unwiseOptions=-march=native group.gcccobol.isSemVer=true group.gcccobol.baseName=GCC @@ -47,12 +47,14 @@ compiler.gcccobol151.semver=15.1.0 compiler.gcccobol152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gcobol compiler.gcccobol152.semver=15.2.0 +compiler.gcccobol161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gcobol +compiler.gcccobol161.semver=16.1.0 compiler.gcccoboltrunk.exe=/opt/compiler-explorer/gcc-snapshot/bin/gcobol compiler.gcccoboltrunk.semver=(GCC master) ## GCC (from upstream GCC, not GCCRS github) x86 build with "assertions" (--enable-checking=XXX) -group.gcccobolassert.compilers=gcccobol151assert:gcccobol152assert +group.gcccobolassert.compilers=gcccobol151assert:gcccobol152assert:gcccobol161assert group.gcccobolassert.groupName=x86-64 GCC (assertions) compiler.gcccobol151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/gcobol @@ -60,3 +62,5 @@ compiler.gcccobol151assert.semver=15.1.0 (GCC assertions) compiler.gcccobol152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gcobol compiler.gcccobol152assert.semver=15.2.0 (GCC assertions) +compiler.gcccobol161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gcobol +compiler.gcccobol161assert.semver=16.1.0 (GCC assertions) diff --git a/etc/config/d.amazon.properties b/etc/config/d.amazon.properties index 6ac0d173d..32c7f9eb7 100644 --- a/etc/config/d.amazon.properties +++ b/etc/config/d.amazon.properties @@ -1,7 +1,7 @@ compilers=&gdc:&ldc:&dmd:&dmd1:&gdccross defaultCompiler=ldc1_42 -group.gdc.compilers=&gdcassert:gdc48:gdc49:gdc52:gdc92:gdc93:gdc95:gdc101:gdc102:gdc105:gdc111:gdc113:gdc114:gdc121:gdc122:gdc123:gdc124:gdc125:gdc131:gdc132:gdc133:gdc134:gdc141:gdc142:gdc143:gdc151:gdc152:gdctrunk +group.gdc.compilers=&gdcassert:gdc48:gdc49:gdc52:gdc92:gdc93:gdc95:gdc101:gdc102:gdc105:gdc111:gdc113:gdc114:gdc121:gdc122:gdc123:gdc124:gdc125:gdc131:gdc132:gdc133:gdc134:gdc141:gdc142:gdc143:gdc151:gdc152:gdc161:gdctrunk group.gdc.groupName=GDC x86-64 group.gdc.includeFlag=-isystem group.gdc.isSemVer=true @@ -66,6 +66,8 @@ compiler.gdc151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/gdc compiler.gdc151.semver=15.1 compiler.gdc152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gdc compiler.gdc152.semver=15.2 +compiler.gdc161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gdc +compiler.gdc161.semver=16.1 compiler.gdctrunk.exe=/opt/compiler-explorer/gcc-snapshot/bin/gdc compiler.gdctrunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump @@ -73,7 +75,7 @@ compiler.gdctrunk.semver=(trunk) compiler.gdctrunk.isNightly=true ## GDC x86 build with "assertions" (--enable-checking=XXX) -group.gdcassert.compilers=gdc105assert:gdc111assert:gdc113assert:gdc114assert:gdc121assert:gdc122assert:gdc123assert:gdc124assert:gdc125assert:gdc131assert:gdc132assert:gdc133assert:gdc134assert:gdc141assert:gdc142assert:gdc143assert:gdc151assert:gdc152assert +group.gdcassert.compilers=gdc105assert:gdc111assert:gdc113assert:gdc114assert:gdc121assert:gdc122assert:gdc123assert:gdc124assert:gdc125assert:gdc131assert:gdc132assert:gdc133assert:gdc134assert:gdc141assert:gdc142assert:gdc143assert:gdc151assert:gdc152assert:gdc161assert group.gdcassert.groupName=GDC x86-64 (assertions) compiler.gdc105assert.exe=/opt/compiler-explorer/gcc-assertions-10.5.0/bin/gdc @@ -112,6 +114,8 @@ compiler.gdc151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/gdc compiler.gdc151assert.semver=15.1 (assertions) compiler.gdc152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gdc compiler.gdc152assert.semver=15.2 (assertions) +compiler.gdc161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gdc +compiler.gdc161assert.semver=16.1 (assertions) ## CROSS GDC group.gdccross.compilers=&gdcloongarch64:&gdcs390x:&gdcppc:&gdcppc64:&gdcppc64le:&gdcmips64:&gdcmips:&gdcmipsel:&gdcarm:&gdcarm64:&gdcriscv:&gdcriscv64:&gdchppa diff --git a/etc/config/fortran.amazon.properties b/etc/config/fortran.amazon.properties index 3651440f1..8b7d40013 100644 --- a/etc/config/fortran.amazon.properties +++ b/etc/config/fortran.amazon.properties @@ -1,7 +1,7 @@ compilers=&gfortran_86:&ifort:&ifx:&nvfortran_x86:&cross:&clang_llvmflang:&lfortran -defaultCompiler=gfortran152 -demangler=/opt/compiler-explorer/gcc-15.2.0/bin/c++filt -objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump +defaultCompiler=gfortran161 +demangler=/opt/compiler-explorer/gcc-16.1.0/bin/c++filt +objdumper=/opt/compiler-explorer/gcc-16.1.0/bin/objdump compilerType=fortran buildenvsetup=ceconan-fortran @@ -9,7 +9,7 @@ buildenvsetup.host=https://conan.compiler-explorer.com ############################### # GCC (as in GNU Compiler Collection) for x86 -group.gfortran_86.compilers=&gfortranassert:gfortran494:gfortran550:gfortran63:gfortran71:gfortran72:gfortran73:gfortran81:gfortran82:gfortran83:gfortran84:gfortran85:gfortran91:gfortran92:gfortran93:gfortran94:gfortran101:gfortran102:gfortran103:gfortran104:gfortran105:gfortran111:gfortran112:gfortran113:gfortran114:gfortran121:gfortran122:gfortran123:gfortran124:gfortran125:gfortran131:gfortran132:gfortran133:gfortran134:gfortran141:gfortran142:gfortran143:gfortran151:gfortran152:gfortransnapshot +group.gfortran_86.compilers=&gfortranassert:gfortran494:gfortran550:gfortran63:gfortran71:gfortran72:gfortran73:gfortran81:gfortran82:gfortran83:gfortran84:gfortran85:gfortran91:gfortran92:gfortran93:gfortran94:gfortran101:gfortran102:gfortran103:gfortran104:gfortran105:gfortran111:gfortran112:gfortran113:gfortran114:gfortran121:gfortran122:gfortran123:gfortran124:gfortran125:gfortran131:gfortran132:gfortran133:gfortran134:gfortran141:gfortran142:gfortran143:gfortran151:gfortran152:gfortran161:gfortransnapshot group.gfortran_86.groupName=GFORTRAN x86-64 group.gfortran_86.isSemVer=true group.gfortran_86.baseName=x86-64 gfortran @@ -90,6 +90,8 @@ compiler.gfortran151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/gfortran compiler.gfortran151.semver=15.1 compiler.gfortran152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gfortran compiler.gfortran152.semver=15.2 +compiler.gfortran161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gfortran +compiler.gfortran161.semver=16.1 compiler.gfortransnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gfortran compiler.gfortransnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt @@ -98,7 +100,7 @@ compiler.gfortransnapshot.semver=(trunk) compiler.gfortransnapshot.isNightly=true ## GFORTRAN x86 build with "assertions" (--enable-checking=XXX) -group.gfortranassert.compilers=gfortran103assert:gfortran104assert:gfortran105assert:gfortran111assert:gfortran112assert:gfortran113assert:gfortran114assert:gfortran121assert:gfortran122assert:gfortran123assert:gfortran124assert:gfortran125assert:gfortran131assert:gfortran132assert:gfortran133assert:gfortran134assert:gfortran141assert:gfortran142assert:gfortran143assert:gfortran151assert:gfortran152assert +group.gfortranassert.compilers=gfortran103assert:gfortran104assert:gfortran105assert:gfortran111assert:gfortran112assert:gfortran113assert:gfortran114assert:gfortran121assert:gfortran122assert:gfortran123assert:gfortran124assert:gfortran125assert:gfortran131assert:gfortran132assert:gfortran133assert:gfortran134assert:gfortran141assert:gfortran142assert:gfortran143assert:gfortran151assert:gfortran152assert:gfortran161assert group.gfortranassert.groupName=GFORTRAN x86-64 (assertions) group.gfortranassert.compilerCategories=gfortran @@ -144,6 +146,8 @@ compiler.gfortran151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/ compiler.gfortran151assert.semver=15.1 (assertions) compiler.gfortran152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gfortran compiler.gfortran152assert.semver=15.2 (assertions) +compiler.gfortran161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gfortran +compiler.gfortran161assert.semver=16.1 (assertions) ############################### # Intel Parallel Studio XE for x86 diff --git a/etc/config/gimple.amazon.properties b/etc/config/gimple.amazon.properties index c5fe49e58..2ad1badf4 100644 --- a/etc/config/gimple.amazon.properties +++ b/etc/config/gimple.amazon.properties @@ -1,7 +1,7 @@ compilers=&gimplegcc86:&gimplecross:&wyrm -defaultCompiler=gimpleg152 -demangler=/opt/compiler-explorer/gcc-15.2.0/bin/c++filt -objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump +defaultCompiler=gimpleg161 +demangler=/opt/compiler-explorer/gcc-16.1.0/bin/c++filt +objdumper=/opt/compiler-explorer/gcc-16.1.0/bin/objdump needsMulti=false compilerType=gimple buildenvsetup=ceconan @@ -12,7 +12,7 @@ externalparser.exe=/usr/local/bin/asm-parser ############################### # GCC for x86 -group.gimplegcc86.compilers=&gimplegcc86assert:gimpleg91:gimpleg92:gimpleg93:gimpleg94:gimpleg95:gimpleg101:gimpleg102:gimpleg103:gimpleg104:gimpleg105:gimpleg111:gimpleg112:gimpleg113:gimpleg114:gimpleg121:gimpleg122:gimpleg123:gimpleg124:gimpleg125:gimpleg131:gimpleg132:gimpleg133:gimpleg134:gimpleg141:gimpleg142:gimpleg143:gimpleg151:gimpleg152:gimplegsnapshot:gimplegstatic-analysis +group.gimplegcc86.compilers=&gimplegcc86assert:gimpleg91:gimpleg92:gimpleg93:gimpleg94:gimpleg95:gimpleg101:gimpleg102:gimpleg103:gimpleg104:gimpleg105:gimpleg111:gimpleg112:gimpleg113:gimpleg114:gimpleg121:gimpleg122:gimpleg123:gimpleg124:gimpleg125:gimpleg131:gimpleg132:gimpleg133:gimpleg134:gimpleg141:gimpleg142:gimpleg143:gimpleg151:gimpleg152:gimpleg161:gimplegsnapshot:gimplegstatic-analysis group.gimplegcc86.groupName=GCC x86-64 group.gimplegcc86.instructionSet=amd64 group.gimplegcc86.isSemVer=true @@ -78,6 +78,8 @@ compiler.gimpleg151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/gcc compiler.gimpleg151.semver=15.1 compiler.gimpleg152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gcc compiler.gimpleg152.semver=15.2 +compiler.gimpleg161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gcc +compiler.gimpleg161.semver=16.1 compiler.gimplegsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gcc compiler.gimplegsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt @@ -94,7 +96,7 @@ compiler.gimplegstatic-analysis.options=-fanalyzer -fdiagnostics-urls=never -fdi compiler.gimplegstatic-analysis.notification=Experimental static analyzer; see GCC wiki page ## GCC build with "assertions" (--enable-checking=XXX) -group.gimplegcc86assert.compilers=gimpleg103assert:gimpleg104assert:gimpleg105assert:gimpleg111assert:gimpleg112assert:gimpleg113assert:gimpleg114assert:gimpleg121assert:gimpleg122assert:gimpleg123assert:gimpleg124assert:gimpleg125assert:gimpleg131assert:gimpleg132assert:gimpleg133assert:gimpleg134assert:gimpleg141assert:gimpleg142assert:gimpleg143assert:gimpleg151assert:gimpleg152assert +group.gimplegcc86assert.compilers=gimpleg103assert:gimpleg104assert:gimpleg105assert:gimpleg111assert:gimpleg112assert:gimpleg113assert:gimpleg114assert:gimpleg121assert:gimpleg122assert:gimpleg123assert:gimpleg124assert:gimpleg125assert:gimpleg131assert:gimpleg132assert:gimpleg133assert:gimpleg134assert:gimpleg141assert:gimpleg142assert:gimpleg143assert:gimpleg151assert:gimpleg152assert:gimpleg161assert group.gimplegcc86assert.groupName=GCC x86-64 (assertions) compiler.gimpleg103assert.exe=/opt/compiler-explorer/gcc-assertions-10.3.0/bin/gcc @@ -139,6 +141,8 @@ compiler.gimpleg151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/g compiler.gimpleg151assert.semver=15.1 (assertions) compiler.gimpleg152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gcc compiler.gimpleg152assert.semver=15.2 (assertions) +compiler.gimpleg161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gcc +compiler.gimpleg161assert.semver=16.1 (assertions) ################################ # GCC for AVR diff --git a/etc/config/go.amazon.properties b/etc/config/go.amazon.properties index d70a07e52..851bed25c 100644 --- a/etc/config/go.amazon.properties +++ b/etc/config/go.amazon.properties @@ -3,7 +3,7 @@ defaultCompiler=gl1260 objdumper=/opt/compiler-explorer/gcc-13.1.0/bin/objdump buildenvsetup.host=https://conan.compiler-explorer.com -group.gccgo.compilers=&gccgoassert:gccgo494:gccgo630:gccgo720:gccgo830:gccgo930:gccgo950:gccgo102:gccgo105:gccgo111:gccgo112:gccgo113:gccgo114:gccgo121:gccgo122:gccgo123:gccgo124:gccgo125:gccgo131:gccgo132:gccgo133:gccgo134:gccgo141:gccgo142:gccgo143:gccgo151:gccgo152 +group.gccgo.compilers=&gccgoassert:gccgo494:gccgo630:gccgo720:gccgo830:gccgo930:gccgo950:gccgo102:gccgo105:gccgo111:gccgo112:gccgo113:gccgo114:gccgo121:gccgo122:gccgo123:gccgo124:gccgo125:gccgo131:gccgo132:gccgo133:gccgo134:gccgo141:gccgo142:gccgo143:gccgo151:gccgo152:gccgo161 group.gccgo.isSemVer=true group.gccgo.baseName=x86 gccgo compiler.gccgo494.exe=/opt/compiler-explorer/gcc-4.9.4/bin/gccgo @@ -60,9 +60,11 @@ compiler.gccgo151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/gccgo compiler.gccgo151.semver=15.1 compiler.gccgo152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gccgo compiler.gccgo152.semver=15.2 +compiler.gccgo161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gccgo +compiler.gccgo161.semver=16.1 ## GCC x86 build with "assertions" (--enable-checking=XXX) -group.gccgoassert.compilers=gccgo105assert:gccgo111assert:gccgo112assert:gccgo113assert:gccgo114assert:gccgo121assert:gccgo122assert:gccgo123assert:gccgo124assert:gccgo125assert:gccgo131assert:gccgo132assert:gccgo133assert:gccgo134assert:gccgo141assert:gccgo142assert:gccgo143assert:gccgo151assert:gccgo152assert +group.gccgoassert.compilers=gccgo105assert:gccgo111assert:gccgo112assert:gccgo113assert:gccgo114assert:gccgo121assert:gccgo122assert:gccgo123assert:gccgo124assert:gccgo125assert:gccgo131assert:gccgo132assert:gccgo133assert:gccgo134assert:gccgo141assert:gccgo142assert:gccgo143assert:gccgo151assert:gccgo152assert:gccgo161assert group.gccgoassert.groupName=x86 gccgo (assertions) compiler.gccgo105assert.exe=/opt/compiler-explorer/gcc-assertions-10.5.0/bin/gccgo @@ -103,6 +105,8 @@ compiler.gccgo151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/gcc compiler.gccgo151assert.semver=15.1 (assertions) compiler.gccgo152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gccgo compiler.gccgo152assert.semver=15.2 (assertions) +compiler.gccgo161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gccgo +compiler.gccgo161assert.semver=16.1 (assertions) group.gl.compilers=&x86gl:&armgl:&mipsgl:&ppcgl:&riscvgl:&s390xgl:&wasmgl group.gl.versionFlag=version diff --git a/etc/config/modula2.amazon.properties b/etc/config/modula2.amazon.properties index 3fbe4e24a..384bc9ded 100644 --- a/etc/config/modula2.amazon.properties +++ b/etc/config/modula2.amazon.properties @@ -1,6 +1,6 @@ # Default settings for modula2 compilers=&gm2 -defaultCompiler=gm2152 +defaultCompiler=gm2161 demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump @@ -15,7 +15,7 @@ needsMulti=false externalparser=CEAsmParser externalparser.exe=/usr/local/bin/asm-parser -group.gm2.compilers=&gm2assert:gm2131:gm2132:gm2133:gm2134:gm2141:gm2142:gm2143:gm2151:gm2152:gm2snapshot +group.gm2.compilers=&gm2assert:gm2131:gm2132:gm2133:gm2134:gm2141:gm2142:gm2143:gm2151:gm2152:gm2161:gm2snapshot group.gm2.compilerType=gm2 group.gm2.instructionSet=amd64 group.gm2.isSemVer=true @@ -40,12 +40,14 @@ compiler.gm2151.exe=/opt/compiler-explorer/gcc-15.1.0/bin/gm2 compiler.gm2151.semver=15.1 compiler.gm2152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gm2 compiler.gm2152.semver=15.2 +compiler.gm2161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gm2 +compiler.gm2161.semver=16.1 compiler.gm2snapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gm2 compiler.gm2snapshot.semver=(snapshot) ## GFORTRAN x86 build with "assertions" (--enable-checking=XXX) -group.gm2assert.compilers=gm2131assert:gm2132assert:gm2133assert:gm2134assert:gm2141assert:gm2142assert:gm2143assert:gm2151assert:gm2152assert +group.gm2assert.compilers=gm2131assert:gm2132assert:gm2133assert:gm2134assert:gm2141assert:gm2142assert:gm2143assert:gm2151assert:gm2152assert:gm2161assert group.gm2assert.groupName=GM2 x86-64 (assertions) compiler.gm2131assert.exe=/opt/compiler-explorer/gcc-assertions-13.1.0/bin/gm2 @@ -66,3 +68,5 @@ compiler.gm2151assert.exe=/opt/compiler-explorer/gcc-assertions-15.1.0/bin/gm2 compiler.gm2151assert.semver=15.1 (assertions) compiler.gm2152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gm2 compiler.gm2152assert.semver=15.2 (assertions) +compiler.gm2161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gm2 +compiler.gm2161assert.semver=16.1 (assertions) diff --git a/etc/config/objc++.amazon.properties b/etc/config/objc++.amazon.properties index afd22b97d..3ca1fe78c 100644 --- a/etc/config/objc++.amazon.properties +++ b/etc/config/objc++.amazon.properties @@ -1,7 +1,7 @@ compilers=&objcppgcc86:&objcppcross -defaultCompiler=objcppg152 -demangler=/opt/compiler-explorer/gcc-15.2.0/bin/c++filt -objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump +defaultCompiler=objcppg161 +demangler=/opt/compiler-explorer/gcc-16.1.0/bin/c++filt +objdumper=/opt/compiler-explorer/gcc-16.1.0/bin/objdump needsMulti=false buildenvsetup=ceconan @@ -14,7 +14,7 @@ llvmDisassembler=/opt/compiler-explorer/clang-19.1.0/bin/llvm-dis ############################### # GCC for x86 -group.objcppgcc86.compilers=&objcppgcc86assert:objcppg105:objcppg114:objcppg122:objcppg123:objcppg124:objcppg125:objcppg131:objcppg132:objcppg133:objcppg134:objcppg141:objcppg142:objcppg143:objcppg151:objcppg152:objcppgsnapshot +group.objcppgcc86.compilers=&objcppgcc86assert:objcppg105:objcppg114:objcppg122:objcppg123:objcppg124:objcppg125:objcppg131:objcppg132:objcppg133:objcppg134:objcppg141:objcppg142:objcppg143:objcppg151:objcppg152:objcppg161:objcppgsnapshot group.objcppgcc86.groupName=GCC x86-64 group.objcppgcc86.instructionSet=amd64 group.objcppgcc86.baseName=x86-64 gcc @@ -70,6 +70,8 @@ compiler.objcppg151.semver=15.1 compiler.objcppg152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/g++ compiler.objcppg152.semver=15.2 +compiler.objcppg161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/g++ +compiler.objcppg161.semver=16.1 compiler.objcppgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/g++ compiler.objcppgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt @@ -79,7 +81,7 @@ compiler.objcppgsnapshot.isNightly=true ## OBJC++ GCC x86 build with "assertions" (--enable-checking=XXX) group.objcppgcc86assert.groupName=GCC x86-64 (assertions) -group.objcppgcc86assert.compilers=objcppg105assert:objcppg114assert:objcppg122assert:objcppg123assert:objcppg124assert:objcppg125assert:objcppg131assert:objcppg132assert:objcppg133assert:objcppg134assert:objcppg141assert:objcppg142assert:objcppg143assert:objcppg151assert:objcppg152assert +group.objcppgcc86assert.compilers=objcppg105assert:objcppg114assert:objcppg122assert:objcppg123assert:objcppg124assert:objcppg125assert:objcppg131assert:objcppg132assert:objcppg133assert:objcppg134assert:objcppg141assert:objcppg142assert:objcppg143assert:objcppg151assert:objcppg152assert:objcppg161assert compiler.objcppg105assert.exe=/opt/compiler-explorer/gcc-assertions-10.5.0/bin/g++ compiler.objcppg105assert.semver=10.5 (assertions) @@ -125,6 +127,8 @@ compiler.objcppg151assert.semver=15.1 (assertions) compiler.objcppg152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/g++ compiler.objcppg152assert.semver=15.2 (assertions) +compiler.objcppg161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/g++ +compiler.objcppg161assert.semver=16.1 (assertions) group.objcppcross.compilers=&objcppgccs diff --git a/etc/config/objc.amazon.properties b/etc/config/objc.amazon.properties index 14d91322f..e5b16cc72 100644 --- a/etc/config/objc.amazon.properties +++ b/etc/config/objc.amazon.properties @@ -1,7 +1,7 @@ compilers=&objcgcc86:&objccross -defaultCompiler=objcg152 -demangler=/opt/compiler-explorer/gcc-15.2.0/bin/c++filt -objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump +defaultCompiler=objcg161 +demangler=/opt/compiler-explorer/gcc-16.1.0/bin/c++filt +objdumper=/opt/compiler-explorer/gcc-16.1.0/bin/objdump needsMulti=false externalparser=CEAsmParser @@ -9,7 +9,7 @@ externalparser.exe=/usr/local/bin/asm-parser ############################### # GCC for x86 -group.objcgcc86.compilers=&objcgcc86assert:objcg346:objcg404:objcg650:objcg105:objcg114:objcg122:objcg123:objcg124:objcg125:objcg131:objcg132:objcg133:objcg134:objcg141:objcg142:objcg143:objcg151:objcg152:objcgsnapshot +group.objcgcc86.compilers=&objcgcc86assert:objcg346:objcg404:objcg650:objcg105:objcg114:objcg122:objcg123:objcg124:objcg125:objcg131:objcg132:objcg133:objcg134:objcg141:objcg142:objcg143:objcg151:objcg152:objcg161:objcgsnapshot group.objcgcc86.groupName=GCC x86-64 group.objcgcc86.instructionSet=amd64 group.objcgcc86.isSemVer=true @@ -72,6 +72,8 @@ compiler.objcg151.semver=15.1 compiler.objcg152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gcc compiler.objcg152.semver=15.2 +compiler.objcg161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gcc +compiler.objcg161.semver=16.1 compiler.objcgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gcc compiler.objcgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt @@ -80,7 +82,7 @@ compiler.objcgsnapshot.semver=(trunk) compiler.objcgsnapshot.isNightly=true ## OBJC GCC x86 build with "assertions" (--enable-checking=XXX) -group.objcgcc86assert.compilers=objcg105assert:objcg114assert:objcg122assert:objcg123assert:objcg124assert:objcg125assert:objcg131assert:objcg132assert:objcg133assert:objcg134assert:objcg141assert:objcg142assert:objcg143assert:objcg151assert:objcg152assert +group.objcgcc86assert.compilers=objcg105assert:objcg114assert:objcg122assert:objcg123assert:objcg124assert:objcg125assert:objcg131assert:objcg132assert:objcg133assert:objcg134assert:objcg141assert:objcg142assert:objcg143assert:objcg151assert:objcg152assert:objcg161assert group.objcgcc86assert.groupName=GCC x86-64 (assertions) compiler.objcg105assert.exe=/opt/compiler-explorer/gcc-assertions-10.5.0/bin/gcc @@ -127,6 +129,8 @@ compiler.objcg151assert.semver=15.1 (assertions) compiler.objcg152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gcc compiler.objcg152assert.semver=15.2 (assertions) +compiler.objcg161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gcc +compiler.objcg161assert.semver=16.1 (assertions) ############################### # Cross Compilers diff --git a/etc/config/rust.amazon.properties b/etc/config/rust.amazon.properties index 72319577f..85e934cde 100644 --- a/etc/config/rust.amazon.properties +++ b/etc/config/rust.amazon.properties @@ -1,6 +1,6 @@ compilers=&rust:&rustgcc:&mrustc:&rustccggcc:&rustccgcranelift -objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump -linker=/opt/compiler-explorer/gcc-15.2.0/bin/gcc +objdumper=/opt/compiler-explorer/gcc-16.1.0/bin/objdump +linker=/opt/compiler-explorer/gcc-16.1.0/bin/gcc aarch64linker=/opt/compiler-explorer/arm64/gcc-14.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc defaultCompiler=r1950 demangler=/opt/compiler-explorer/demanglers/rust/bin/rustfilt @@ -254,7 +254,7 @@ group.rustgcc.options=-frust-incomplete-and-experimental-compiler-do-not-use group.rustgcc.notification=Rust GCC Frontend - Very early snapshot # native compiler -group.gcc86.compilers=&gccrsassert:gccrs-snapshot:gccrs-g141:gccrs-g142:gccrs-g143:gccrs-g151:gccrs-g152:gcc-snapshot +group.gcc86.compilers=&gccrsassert:gccrs-snapshot:gccrs-g141:gccrs-g142:gccrs-g143:gccrs-g151:gccrs-g152:gccrs-g161:gcc-snapshot group.gcc86.groupName=x86-64 GCCRS group.gcc86.baseName=x86-64 GCCRS group.gcc86.unwiseOptions=-march=native @@ -273,6 +273,8 @@ compiler.gccrs-g151.semver=15.1 (GCC) compiler.gccrs-g152.exe=/opt/compiler-explorer/gcc-15.2.0/bin/gccrs compiler.gccrs-g152.semver=15.2 (GCC) +compiler.gccrs-g161.exe=/opt/compiler-explorer/gcc-16.1.0/bin/gccrs +compiler.gccrs-g161.semver=16.1 (GCC) compiler.gcc-snapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gccrs compiler.gcc-snapshot.semver=(GCC master) @@ -283,7 +285,7 @@ compiler.gccrs-snapshot.semver=(GCCRS master) compiler.gccrs-snapshot.isNightly=true ## GCC (from upstream GCC, not GCCRS github) x86 build with "assertions" (--enable-checking=XXX) -group.gccrsassert.compilers=gccrs-g141assert:gccrs-g142assert:gccrs-g143assert:gccrs-g151assert:gccrs-g152assert +group.gccrsassert.compilers=gccrs-g141assert:gccrs-g142assert:gccrs-g143assert:gccrs-g151assert:gccrs-g152assert:gccrs-g161assert group.gccrsassert.groupName=x86-64 GCC (assertions) compiler.gccrs-g141assert.exe=/opt/compiler-explorer/gcc-assertions-14.1.0/bin/gccrs @@ -300,6 +302,8 @@ compiler.gccrs-g151assert.semver=15.1 (GCC assertions) compiler.gccrs-g152assert.exe=/opt/compiler-explorer/gcc-assertions-15.2.0/bin/gccrs compiler.gccrs-g152assert.semver=15.2 (GCC assertions) +compiler.gccrs-g161assert.exe=/opt/compiler-explorer/gcc-assertions-16.1.0/bin/gccrs +compiler.gccrs-g161assert.semver=16.1 (GCC assertions) # cross compilers group.gcccross.compilers=&rustgccbpf From 967e04fe8afe6a74b9e811f9659b40904fa5512e Mon Sep 17 00:00:00 2001 From: "Matt Godbolt (bot acct)" Date: Thu, 30 Apr 2026 15:21:14 -0500 Subject: [PATCH 40/51] Fix duplicate ARM GCC 16.1.0 name (missing unknown-eabi suffix) (#8651) Fixes a cosmetic bug introduced in #8642: \`armug1610\` and \`carmug1610\` were missing the \`name\` property, causing both the regular and unknown-eabi ARM GCC 16.1.0 compilers to appear identically as "ARM GCC 16.1.0" in the UI. All other \`armug*\` / \`carmug*\` entries have an explicit \`name=ARM GCC X.Y.Z (unknown-eabi)\` property; this PR adds the same for 16.1.0. *(I'm Molty, an AI assistant acting on behalf of @mattgodbolt)* Co-authored-by: mattgodbolt-molty --- etc/config/c++.amazon.properties | 1 + etc/config/c.amazon.properties | 1 + 2 files changed, 2 insertions(+) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index 7b783b478..3cc1b6f27 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -3085,6 +3085,7 @@ compiler.armug1610.exe=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unk compiler.armug1610.semver=16.1.0 compiler.armug1610.objdumper=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-objdump compiler.armug1610.demangler=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-c++filt +compiler.armug1610.name=ARM GCC 16.1.0 (unknown-eabi) compiler.armce820.exe=/opt/compiler-explorer/arm-wince/gcc-ce-8.2.0/bin/arm-mingw32ce-g++ diff --git a/etc/config/c.amazon.properties b/etc/config/c.amazon.properties index e73020234..0ef27c296 100644 --- a/etc/config/c.amazon.properties +++ b/etc/config/c.amazon.properties @@ -2554,6 +2554,7 @@ compiler.carmug1610.exe=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-un compiler.carmug1610.semver=16.1.0 compiler.carmug1610.objdumper=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-objdump compiler.carmug1610.demangler=/opt/compiler-explorer/arm/gcc-arm-unknown-16.1.0/arm-unknown-eabi/bin/arm-unknown-eabi-c++filt +compiler.carmug1610.name=ARM GCC 16.1.0 (unknown-eabi) compiler.carmce820.exe=/opt/compiler-explorer/arm-wince/gcc-ce-8.2.0/bin/arm-mingw32ce-gcc From 39a3300539c4d795e2ce7e74e8ae76ef4fb2fc29 Mon Sep 17 00:00:00 2001 From: "Matt Godbolt (bot acct)" Date: Fri, 1 May 2026 10:44:24 -0500 Subject: [PATCH 41/51] Add GCC 16.1.0 cross Ada (GNAT) and Fortran compilers (#8653) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to #8642 which added native GCC 16.1.0 and cross C/C++ compilers but missed the Ada and Fortran cross-compiler entries. ## Ada (GNAT) cross compilers added (13 architectures) arm, arm64, hppa, loongarch64, mips, mips64, powerpc, powerpc64, powerpc64le, riscv64, s390x, sparc, sparc64 Note: sparc-leon skipped — `CT_CC_LANG_ADA` is disabled in the 16.1.0 ct-ng config for that target. Arches with Ada disabled in ct-ng (avr, bpf, c6x, m68k, mips64el, mipsel, msp430, riscv32) are also skipped. ## Fortran cross compilers added (17 architectures) arm, arm64, hppa, loongarch64, mips, mips64, mips64el, mipsel, powerpc, powerpc64, powerpc64le, riscv32, riscv64, s390x, sparc, sparc64, sparc-leon refs #7948 *(I'm Molty, an AI assistant acting on behalf of @mattgodbolt)* 🤖 Generated by LLM (Claude, via OpenClaw) Co-authored-by: mattgodbolt-molty --- etc/config/ada.amazon.properties | 78 ++++++++++++++++---- etc/config/fortran.amazon.properties | 102 ++++++++++++++++++++++----- 2 files changed, 150 insertions(+), 30 deletions(-) diff --git a/etc/config/ada.amazon.properties b/etc/config/ada.amazon.properties index 7ec5cb932..b928f9418 100644 --- a/etc/config/ada.amazon.properties +++ b/etc/config/ada.amazon.properties @@ -137,7 +137,7 @@ group.gnatcross.compilerCategories=gcc ################################ # GNAT for loongarch64 -group.gnatloongarch64.compilers=gnatloongarch641410:gnatloongarch641420:gnatloongarch641430:gnatloongarch641510:gnatloongarch641520 +group.gnatloongarch64.compilers=gnatloongarch641410:gnatloongarch641420:gnatloongarch641430:gnatloongarch641510:gnatloongarch641520:gnatloongarch641610 group.gnatloongarch64.groupName=LOONGARCH64 GNAT group.gnatloongarch64.baseName=loongarch64 gnat @@ -165,6 +165,10 @@ compiler.gnatloongarch641520.exe=/opt/compiler-explorer/loongarch64/gcc-15.2.0/l compiler.gnatloongarch641520.semver=15.2.0 compiler.gnatloongarch641520.objdumper=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump compiler.gnatloongarch641520.demangler=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt +compiler.gnatloongarch641610.exe=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-gnatmake +compiler.gnatloongarch641610.semver=16.1.0 +compiler.gnatloongarch641610.objdumper=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump +compiler.gnatloongarch641610.demangler=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt ################################ # GNAT for sparc-leon @@ -209,7 +213,7 @@ compiler.gnatsparcleon1430.demangler=/opt/compiler-explorer/sparc-leon/gcc-14.3. ################################ # GNAT for sparc -group.gnatsparcs.compilers=gnatsparc1220:gnatsparc1230:gnatsparc1240:gnatsparc1250:gnatsparc1310:gnatsparc1320:gnatsparc1330:gnatsparc1340:gnatsparc1410:gnatsparc1420:gnatsparc1430:gnatsparc1510:gnatsparc1520 +group.gnatsparcs.compilers=gnatsparc1220:gnatsparc1230:gnatsparc1240:gnatsparc1250:gnatsparc1310:gnatsparc1320:gnatsparc1330:gnatsparc1340:gnatsparc1410:gnatsparc1420:gnatsparc1430:gnatsparc1510:gnatsparc1520:gnatsparc1610 group.gnatsparcs.groupName=SPARC GNAT group.gnatsparcs.baseName=sparc gnat @@ -277,10 +281,14 @@ compiler.gnatsparc1520.exe=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown compiler.gnatsparc1520.semver=15.2.0 compiler.gnatsparc1520.objdumper=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump compiler.gnatsparc1520.demangler=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt +compiler.gnatsparc1610.exe=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-gnatmake +compiler.gnatsparc1610.semver=16.1.0 +compiler.gnatsparc1610.objdumper=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump +compiler.gnatsparc1610.demangler=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt ################################ # GNAT for sparc64 -group.gnatsparc64s.compilers=gnatsparc641220:gnatsparc641230:gnatsparc641240:gnatsparc641250:gnatsparc641310:gnatsparc641320:gnatsparc641330:gnatsparc641340:gnatsparc641410:gnatsparc641420:gnatsparc641430:gnatsparc641510:gnatsparc641520 +group.gnatsparc64s.compilers=gnatsparc641220:gnatsparc641230:gnatsparc641240:gnatsparc641250:gnatsparc641310:gnatsparc641320:gnatsparc641330:gnatsparc641340:gnatsparc641410:gnatsparc641420:gnatsparc641430:gnatsparc641510:gnatsparc641520:gnatsparc641610 group.gnatsparc64s.groupName=SPARC64 GNAT group.gnatsparc64s.baseName=sparc64 gnat @@ -348,10 +356,14 @@ compiler.gnatsparc641520.exe=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-m compiler.gnatsparc641520.semver=15.2.0 compiler.gnatsparc641520.objdumper=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump compiler.gnatsparc641520.demangler=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt +compiler.gnatsparc641610.exe=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-gnatmake +compiler.gnatsparc641610.semver=16.1.0 +compiler.gnatsparc641610.objdumper=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump +compiler.gnatsparc641610.demangler=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt ################################ # GNAT for riscv64 -group.gnatriscv64.compilers=gnatriscv64103:gnatriscv64112:gnatriscv641230:gnatriscv641240:gnatriscv641250:gnatriscv641310:gnatriscv641320:gnatriscv641330:gnatriscv641340:gnatriscv641410:gnatriscv641420:gnatriscv641430:gnatriscv641510:gnatriscv641520 +group.gnatriscv64.compilers=gnatriscv64103:gnatriscv64112:gnatriscv641230:gnatriscv641240:gnatriscv641250:gnatriscv641310:gnatriscv641320:gnatriscv641330:gnatriscv641340:gnatriscv641410:gnatriscv641420:gnatriscv641430:gnatriscv641510:gnatriscv641520:gnatriscv641610 group.gnatriscv64.groupName=RISCV64 GNAT group.gnatriscv64.baseName=riscv64 gnat group.gnatriscv64.instructionSet=riscv64 @@ -425,10 +437,14 @@ compiler.gnatriscv641520.exe=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-u compiler.gnatriscv641520.semver=15.2.0 compiler.gnatriscv641520.objdumper=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump compiler.gnatriscv641520.demangler=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt +compiler.gnatriscv641610.exe=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gnatmake +compiler.gnatriscv641610.semver=16.1.0 +compiler.gnatriscv641610.objdumper=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump +compiler.gnatriscv641610.demangler=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt ################################ # GNAT for s390x -group.gnats390x.compilers=gnats390x1120:gnats390x1210:gnats390x1220:gnats390x1230:gnats390x1240:gnats390x1310:gnats390x1320:gnats390x1330:gnats390x1410:gnats390x1420:gnats390x1510:gnats390x1430:gnats390x1340:gnats390x1250:gnats390x1520 +group.gnats390x.compilers=gnats390x1120:gnats390x1210:gnats390x1220:gnats390x1230:gnats390x1240:gnats390x1310:gnats390x1320:gnats390x1330:gnats390x1410:gnats390x1420:gnats390x1510:gnats390x1430:gnats390x1340:gnats390x1250:gnats390x1520:gnats390x1610 group.gnats390x.groupName=S390X GNAT group.gnats390x.baseName=S390X GNAT @@ -503,6 +519,10 @@ compiler.gnats390x1520.exe=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-lin compiler.gnats390x1520.semver=15.2.0 compiler.gnats390x1520.objdumper=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump compiler.gnats390x1520.demangler=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt +compiler.gnats390x1610.exe=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-gnatmake +compiler.gnats390x1610.semver=16.1.0 +compiler.gnats390x1610.objdumper=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump +compiler.gnats390x1610.demangler=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt ################################ # GNAT for ppc @@ -511,7 +531,7 @@ group.gnatppcs.instructionSet=powerpc ## POWER group.gnatppc.groupName=POWERPC GNAT -group.gnatppc.compilers=gnatppc1120:gnatppc1210:gnatppc1220:gnatppc1230:gnatppc1240:gnatppc1250:gnatppc1310:gnatppc1320:gnatppc1330:gnatppc1340:gnatppc1410:gnatppc1420:gnatppc1430:gnatppc1510:gnatppc1520 +group.gnatppc.compilers=gnatppc1120:gnatppc1210:gnatppc1220:gnatppc1230:gnatppc1240:gnatppc1250:gnatppc1310:gnatppc1320:gnatppc1330:gnatppc1340:gnatppc1410:gnatppc1420:gnatppc1430:gnatppc1510:gnatppc1520:gnatppc1610 group.gnatppc.baseName=powerpc gnat compiler.gnatppc1120.exe=/opt/compiler-explorer/powerpc/gcc-11.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-gnatmake @@ -586,11 +606,15 @@ compiler.gnatppc1520.exe=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unkno compiler.gnatppc1520.semver=15.2.0 compiler.gnatppc1520.objdumper=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump compiler.gnatppc1520.demangler=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt +compiler.gnatppc1610.exe=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-gnatmake +compiler.gnatppc1610.semver=16.1.0 +compiler.gnatppc1610.objdumper=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump +compiler.gnatppc1610.demangler=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt ## POWER64 group.gnatppc64.groupName=POWER64 GNAT group.gnatppc64.baseName=powerpc64 gnat -group.gnatppc64.compilers=gnatppc64trunk:gnatppc641120:gnatppc641210:gnatppc641220:gnatppc641230:gnatppc641240:gnatppc641250:gnatppc641310:gnatppc641320:gnatppc641330:gnatppc641340:gnatppc641410:gnatppc641420:gnatppc641430:gnatppc641510:gnatppc641520 +group.gnatppc64.compilers=gnatppc64trunk:gnatppc641120:gnatppc641210:gnatppc641220:gnatppc641230:gnatppc641240:gnatppc641250:gnatppc641310:gnatppc641320:gnatppc641330:gnatppc641340:gnatppc641410:gnatppc641420:gnatppc641430:gnatppc641510:gnatppc641520:gnatppc641610 compiler.gnatppc641120.exe=/opt/compiler-explorer/powerpc64/gcc-11.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gnatmake compiler.gnatppc641120.demangler=/opt/compiler-explorer/powerpc64/gcc-11.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt @@ -664,6 +688,10 @@ compiler.gnatppc641520.exe=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64 compiler.gnatppc641520.semver=15.2.0 compiler.gnatppc641520.objdumper=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump compiler.gnatppc641520.demangler=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt +compiler.gnatppc641610.exe=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gnatmake +compiler.gnatppc641610.semver=16.1.0 +compiler.gnatppc641610.objdumper=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump +compiler.gnatppc641610.demangler=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt compiler.gnatppc64trunk.exe=/opt/compiler-explorer/powerpc64/gcc-trunk/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gnatmake compiler.gnatppc64trunk.semver=trunk @@ -673,7 +701,7 @@ compiler.gnatppc64trunk.demangler=/opt/compiler-explorer/powerpc64/gcc-trunk/pow ## POWER64LE group.gnatppc64le.groupName=POWER64LE GNAT group.gnatppc64le.baseName=powerpc64le gnat -group.gnatppc64le.compilers=gnatppc64le1120:gnatppc64le1210:gnatppc64le1220:gnatppc64le1230:gnatppc64le1310:gnatppc64le1320:gnatppc64letrunk:gnatppc64le1410:gnatppc64le1330:gnatppc64le1240:gnatppc64le1420:gnatppc64le1510:gnatppc64le1430:gnatppc64le1340:gnatppc64le1250:gnatppc64le1520 +group.gnatppc64le.compilers=gnatppc64le1120:gnatppc64le1210:gnatppc64le1220:gnatppc64le1230:gnatppc64le1310:gnatppc64le1320:gnatppc64letrunk:gnatppc64le1410:gnatppc64le1330:gnatppc64le1240:gnatppc64le1420:gnatppc64le1510:gnatppc64le1430:gnatppc64le1340:gnatppc64le1250:gnatppc64le1520:gnatppc64le1610 compiler.gnatppc64le1120.exe=/opt/compiler-explorer/powerpc64le/gcc-11.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gnatmake compiler.gnatppc64le1120.demangler=/opt/compiler-explorer/powerpc64le/gcc-11.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt @@ -747,6 +775,10 @@ compiler.gnatppc64le1520.exe=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/power compiler.gnatppc64le1520.semver=15.2.0 compiler.gnatppc64le1520.objdumper=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump compiler.gnatppc64le1520.demangler=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt +compiler.gnatppc64le1610.exe=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gnatmake +compiler.gnatppc64le1610.semver=16.1.0 +compiler.gnatppc64le1610.objdumper=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump +compiler.gnatppc64le1610.demangler=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt compiler.gnatppc64letrunk.exe=/opt/compiler-explorer/powerpc64le/gcc-trunk/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gnatmake compiler.gnatppc64letrunk.semver=trunk @@ -761,7 +793,7 @@ group.gnatmipss.compilers=&gnatmips:&gnatmips64 ## MIPS group.gnatmips.groupName=MIPS GNAT group.gnatmips.baseName=mips gnat -group.gnatmips.compilers=gnatmips1120:gnatmips1210:gnatmips1220:gnatmips1230:gnatmips1240:gnatmips1250:gnatmips1310:gnatmips1320:gnatmips1330:gnatmips1340:gnatmips1410:gnatmips1420:gnatmips1430:gnatmips1510:gnatmips1520 +group.gnatmips.compilers=gnatmips1120:gnatmips1210:gnatmips1220:gnatmips1230:gnatmips1240:gnatmips1250:gnatmips1310:gnatmips1320:gnatmips1330:gnatmips1340:gnatmips1410:gnatmips1420:gnatmips1430:gnatmips1510:gnatmips1520:gnatmips1610 compiler.gnatmips1120.exe=/opt/compiler-explorer/mips/gcc-11.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-gnatmake compiler.gnatmips1120.demangler=/opt/compiler-explorer/mips/gcc-11.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt @@ -835,11 +867,15 @@ compiler.gnatmips1520.exe=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-li compiler.gnatmips1520.semver=15.2.0 compiler.gnatmips1520.objdumper=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump compiler.gnatmips1520.demangler=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt +compiler.gnatmips1610.exe=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-gnatmake +compiler.gnatmips1610.semver=16.1.0 +compiler.gnatmips1610.objdumper=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump +compiler.gnatmips1610.demangler=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt ## MIPS64 group.gnatmips64.groupName=MIPS64 GNAT group.gnatmips64.baseName=mips64 gnat -group.gnatmips64.compilers=gnatmips641120:gnatmips641210:gnatmips641220:gnatmips641230:gnatmips641240:gnatmips641250:gnatmips641310:gnatmips641320:gnatmips641330:gnatmips641340:gnatmips641410:gnatmips641420:gnatmips641430:gnatmips641510:gnatmips641520 +group.gnatmips64.compilers=gnatmips641120:gnatmips641210:gnatmips641220:gnatmips641230:gnatmips641240:gnatmips641250:gnatmips641310:gnatmips641320:gnatmips641330:gnatmips641340:gnatmips641410:gnatmips641420:gnatmips641430:gnatmips641510:gnatmips641520:gnatmips641610 compiler.gnatmips641120.exe=/opt/compiler-explorer/mips64/gcc-11.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gnatmake compiler.gnatmips641120.demangler=/opt/compiler-explorer/mips64/gcc-11.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt @@ -913,10 +949,14 @@ compiler.gnatmips641520.exe=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unkn compiler.gnatmips641520.semver=15.2.0 compiler.gnatmips641520.objdumper=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump compiler.gnatmips641520.demangler=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt +compiler.gnatmips641610.exe=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gnatmake +compiler.gnatmips641610.semver=16.1.0 +compiler.gnatmips641610.objdumper=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump +compiler.gnatmips641610.demangler=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt ################################ # GNAT for arm64 -group.gnatarm64.compilers=gnatarm641210:gnatarm641220:gnatarm641230:gnatarm641240:gnatarm641250:gnatarm641310:gnatarm641320:gnatarm641330:gnatarm641340:gnatarm641410:gnatarm641420:gnatarm641430:gnatarm641510:gnatarm641520 +group.gnatarm64.compilers=gnatarm641210:gnatarm641220:gnatarm641230:gnatarm641240:gnatarm641250:gnatarm641310:gnatarm641320:gnatarm641330:gnatarm641340:gnatarm641410:gnatarm641420:gnatarm641430:gnatarm641510:gnatarm641520:gnatarm641610 group.gnatarm64.groupName=ARM64 GNAT group.gnatarm64.baseName=arm64 gnat group.gnatarm64.instructionSet=aarch64 @@ -989,10 +1029,14 @@ compiler.gnatarm641520.exe=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unkno compiler.gnatarm641520.semver=15.2.0 compiler.gnatarm641520.objdumper=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump compiler.gnatarm641520.demangler=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt +compiler.gnatarm641610.exe=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gnatmake +compiler.gnatarm641610.semver=16.1.0 +compiler.gnatarm641610.objdumper=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump +compiler.gnatarm641610.demangler=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt ################################ # GNAT for arm -group.gnatarm.compilers=gnatarm103:gnatarm112:gnatarm1310:gnatarm1320:gnatarm1330:gnatarm1340:gnatarm1410:gnatarm1420:gnatarm1430:gnatarm1510:gnatarm1520 +group.gnatarm.compilers=gnatarm103:gnatarm112:gnatarm1310:gnatarm1320:gnatarm1330:gnatarm1340:gnatarm1410:gnatarm1420:gnatarm1430:gnatarm1510:gnatarm1520:gnatarm1610 group.gnatarm.groupName=ARM GNAT group.gnatarm.baseName=arm gnat group.gnatarm.instructionSet=arm32 @@ -1051,10 +1095,14 @@ compiler.gnatarm1520.exe=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux compiler.gnatarm1520.semver=15.2.0 compiler.gnatarm1520.objdumper=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump compiler.gnatarm1520.demangler=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt +compiler.gnatarm1610.exe=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gnatmake +compiler.gnatarm1610.semver=16.1.0 +compiler.gnatarm1610.objdumper=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump +compiler.gnatarm1610.demangler=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt ################################ # GNAT for HPPA -group.gnathppa.compilers=gnathppa1420:gnathppa1430:gnathppa1510:gnathppa1520 +group.gnathppa.compilers=gnathppa1420:gnathppa1430:gnathppa1510:gnathppa1520:gnathppa1610 group.gnathppa.groupName=HPPA GNAT group.gnathppa.baseName=hppa gnat group.gnathppa.isSemVer=true @@ -1080,6 +1128,10 @@ compiler.gnathppa1520.exe=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-li compiler.gnathppa1520.semver=15.2.0 compiler.gnathppa1520.objdumper=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump compiler.gnathppa1520.demangler=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt +compiler.gnathppa1610.exe=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-gnatmake +compiler.gnathppa1610.semver=16.1.0 +compiler.gnathppa1610.objdumper=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump +compiler.gnathppa1610.demangler=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt ################################# ################################# diff --git a/etc/config/fortran.amazon.properties b/etc/config/fortran.amazon.properties index 8b7d40013..1ed0eab07 100644 --- a/etc/config/fortran.amazon.properties +++ b/etc/config/fortran.amazon.properties @@ -452,7 +452,7 @@ compiler.ftricoreg1130.demangler=/opt/compiler-explorer/tricore/gcc-11.3.0/trico ############################### # GCC for HPPA -group.gcchppa.compilers=fhppag1420:fhppag1430:fhppag1510:fhppag1520 +group.gcchppa.compilers=fhppag1420:fhppag1430:fhppag1510:fhppag1520:fhppag1610 group.gcchppa.groupName=HPPA gfortran group.gcchppa.baseName=HPPA gfortran group.gcchppa.supportsBinary=true @@ -477,10 +477,14 @@ compiler.fhppag1520.exe=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linu compiler.fhppag1520.semver=15.2.0 compiler.fhppag1520.objdumper=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump compiler.fhppag1520.demangler=/opt/compiler-explorer/hppa/gcc-15.2.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt +compiler.fhppag1610.exe=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-gfortran +compiler.fhppag1610.semver=16.1.0 +compiler.fhppag1610.objdumper=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-objdump +compiler.fhppag1610.demangler=/opt/compiler-explorer/hppa/gcc-16.1.0/hppa-unknown-linux-gnu/bin/hppa-unknown-linux-gnu-c++filt ############################### # GCC for SPARC -group.gccsparc.compilers=fsparcg1220:fsparcg1230:fsparcg1240:fsparcg1250:fsparcg1310:fsparcg1320:fsparcg1330:fsparcg1340:fsparcg1410:fsparcg1420:fsparcg1430:fsparcg1510:fsparcg1520 +group.gccsparc.compilers=fsparcg1220:fsparcg1230:fsparcg1240:fsparcg1250:fsparcg1310:fsparcg1320:fsparcg1330:fsparcg1340:fsparcg1410:fsparcg1420:fsparcg1430:fsparcg1510:fsparcg1520:fsparcg1610 group.gccsparc.groupName=SPARC gfortran group.gccsparc.baseName=SPARC gfortran group.gccsparc.compilerCategories=gfortran @@ -549,10 +553,14 @@ compiler.fsparcg1520.exe=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-l compiler.fsparcg1520.semver=15.2.0 compiler.fsparcg1520.objdumper=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump compiler.fsparcg1520.demangler=/opt/compiler-explorer/sparc/gcc-15.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt +compiler.fsparcg1610.exe=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-gfortran +compiler.fsparcg1610.semver=16.1.0 +compiler.fsparcg1610.objdumper=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump +compiler.fsparcg1610.demangler=/opt/compiler-explorer/sparc/gcc-16.1.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt ############################### # GCC for SPARC64 -group.gccsparc64.compilers=fsparc64g1220:fsparc64g1230:fsparc64g1310:fsparc64g1320:fsparc64g1410:fsparc64g1330:fsparc64g1240:fsparc64g1420:fsparc64g1510:fsparc64g1430:fsparc64g1340:fsparc64g1250:fsparc64g1520 +group.gccsparc64.compilers=fsparc64g1220:fsparc64g1230:fsparc64g1310:fsparc64g1320:fsparc64g1410:fsparc64g1330:fsparc64g1240:fsparc64g1420:fsparc64g1510:fsparc64g1430:fsparc64g1340:fsparc64g1250:fsparc64g1520:fsparc64g1610 group.gccsparc64.groupName=SPARC64 gfortran group.gccsparc64.baseName=SPARC64 gfortran group.gccsparc64.compilerCategories=gfortran @@ -621,10 +629,14 @@ compiler.fsparc64g1520.exe=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-mul compiler.fsparc64g1520.semver=15.2.0 compiler.fsparc64g1520.objdumper=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump compiler.fsparc64g1520.demangler=/opt/compiler-explorer/sparc64/gcc-15.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt +compiler.fsparc64g1610.exe=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-gfortran +compiler.fsparc64g1610.semver=16.1.0 +compiler.fsparc64g1610.objdumper=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump +compiler.fsparc64g1610.demangler=/opt/compiler-explorer/sparc64/gcc-16.1.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt ############################### # GCC for SPARC LEON -group.gccsparcleon.compilers=fsparcleong1220:fsparcleong1220-1:fsparcleong1230:fsparcleong1240:fsparcleong1250:fsparcleong1310:fsparcleong1320:fsparcleong1330:fsparcleong1340:fsparcleong1410:fsparcleong1420:fsparcleong1430:fsparcleong1510:fsparcleong1520 +group.gccsparcleon.compilers=fsparcleong1220:fsparcleong1220-1:fsparcleong1230:fsparcleong1240:fsparcleong1250:fsparcleong1310:fsparcleong1320:fsparcleong1330:fsparcleong1340:fsparcleong1410:fsparcleong1420:fsparcleong1430:fsparcleong1510:fsparcleong1520:fsparcleong1610 group.gccsparcleon.groupName=SPARC LEON gfortran group.gccsparcleon.baseName=SPARC LEON gfortran group.gccsparcleon.compilerCategories=gfortran @@ -700,10 +712,14 @@ compiler.fsparcleong1520.exe=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc- compiler.fsparcleong1520.semver=15.2.0 compiler.fsparcleong1520.objdumper=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump compiler.fsparcleong1520.demangler=/opt/compiler-explorer/sparc-leon/gcc-15.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt +compiler.fsparcleong1610.exe=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-gfortran +compiler.fsparcleong1610.semver=16.1.0 +compiler.fsparcleong1610.objdumper=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump +compiler.fsparcleong1610.demangler=/opt/compiler-explorer/sparc-leon/gcc-16.1.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt ############################### # GCC for LOONGARCH64 -group.gccloongarch64.compilers=floongarch64g1220:floongarch64g1230:floongarch64g1310:floongarch64g1320:floongarch64g1410:floongarch64g1330:floongarch64g1240:floongarch64g1420:floongarch64g1510:floongarch64g1430:floongarch64g1340:floongarch64g1250:floongarch64g1520 +group.gccloongarch64.compilers=floongarch64g1220:floongarch64g1230:floongarch64g1310:floongarch64g1320:floongarch64g1410:floongarch64g1330:floongarch64g1240:floongarch64g1420:floongarch64g1510:floongarch64g1430:floongarch64g1340:floongarch64g1250:floongarch64g1520:floongarch64g1610 group.gccloongarch64.groupName=LOONGARCH64 gfortran group.gccloongarch64.baseName=LOONGARCH64 gfortran group.gccloongarch64.compilerCategories=gfortran @@ -772,10 +788,14 @@ compiler.floongarch64g1520.exe=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loo compiler.floongarch64g1520.semver=15.2.0 compiler.floongarch64g1520.objdumper=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump compiler.floongarch64g1520.demangler=/opt/compiler-explorer/loongarch64/gcc-15.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt +compiler.floongarch64g1610.exe=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-gfortran +compiler.floongarch64g1610.semver=16.1.0 +compiler.floongarch64g1610.objdumper=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump +compiler.floongarch64g1610.demangler=/opt/compiler-explorer/loongarch64/gcc-16.1.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt ############################### # GCC for RISCV64 -group.gccriscv64.compilers=friscv64g1140:friscv64g1220:friscv64g1230:friscv64g1310:friscv64g1320:friscv64g1410:friscv64g1330:friscv64g1240:friscv64g1420:friscv64g1510:friscv64g1430:friscv64g1340:friscv64g1250:friscv64g1520 +group.gccriscv64.compilers=friscv64g1140:friscv64g1220:friscv64g1230:friscv64g1310:friscv64g1320:friscv64g1410:friscv64g1330:friscv64g1240:friscv64g1420:friscv64g1510:friscv64g1430:friscv64g1340:friscv64g1250:friscv64g1520:friscv64g1610 group.gccriscv64.groupName=RISCV64 gfortran group.gccriscv64.baseName=RISCV64 gfortran group.gccriscv64.compilerCategories=gfortran @@ -849,10 +869,14 @@ compiler.friscv64g1520.exe=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unk compiler.friscv64g1520.semver=15.2.0 compiler.friscv64g1520.objdumper=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump compiler.friscv64g1520.demangler=/opt/compiler-explorer/riscv64/gcc-15.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt +compiler.friscv64g1610.exe=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gfortran +compiler.friscv64g1610.semver=16.1.0 +compiler.friscv64g1610.objdumper=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump +compiler.friscv64g1610.demangler=/opt/compiler-explorer/riscv64/gcc-16.1.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt ############################### # GCC for RISCV -group.gccriscv.compilers=friscvg1140:friscvg1220:friscvg1230:friscvg1240:friscvg1250:friscvg1310:friscvg1320:friscvg1330:friscvg1340:friscvg1410:friscvg1420:friscvg1430:friscvg1510:friscvg1520 +group.gccriscv.compilers=friscvg1140:friscvg1220:friscvg1230:friscvg1240:friscvg1250:friscvg1310:friscvg1320:friscvg1330:friscvg1340:friscvg1410:friscvg1420:friscvg1430:friscvg1510:friscvg1520:friscvg1610 group.gccriscv.groupName=RISCV (32bit) gfortran group.gccriscv.baseName=RISCV (32bit) gfortran group.gccriscv.compilerCategories=gfortran @@ -926,10 +950,14 @@ compiler.friscvg1520.exe=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unkno compiler.friscvg1520.semver=15.2.0 compiler.friscvg1520.objdumper=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump compiler.friscvg1520.demangler=/opt/compiler-explorer/riscv32/gcc-15.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt +compiler.friscvg1610.exe=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-gfortran +compiler.friscvg1610.semver=16.1.0 +compiler.friscvg1610.objdumper=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump +compiler.friscvg1610.demangler=/opt/compiler-explorer/riscv32/gcc-16.1.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt ############################### # GCC for ARM -group.gccarm.compilers=farmg640:farmg730:farmg820:farmg1050:farmg1140:farmg1210:farmg1220:farmg1230:farmg1240:farmg1250:farmg1310:farmg1320:farmg1330:farmg1340:farmg1410:farmg1420:farmg1430:farmg1510:farmg1520 +group.gccarm.compilers=farmg640:farmg730:farmg820:farmg1050:farmg1140:farmg1210:farmg1220:farmg1230:farmg1240:farmg1250:farmg1310:farmg1320:farmg1330:farmg1340:farmg1410:farmg1420:farmg1430:farmg1510:farmg1520:farmg1610 group.gccarm.groupName=ARM (32bit) gfortran group.gccarm.baseName=ARM (32bit) gfortran group.gccarm.compilerCategories=gfortran @@ -1020,10 +1048,14 @@ compiler.farmg1520.exe=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-g compiler.farmg1520.semver=15.2.0 compiler.farmg1520.objdumper=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump compiler.farmg1520.demangler=/opt/compiler-explorer/arm/gcc-15.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt +compiler.farmg1610.exe=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gfortran +compiler.farmg1610.semver=16.1.0 +compiler.farmg1610.objdumper=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump +compiler.farmg1610.demangler=/opt/compiler-explorer/arm/gcc-16.1.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt ############################### ## GCC for s390x -group.gccs390x.compilers=fs390xg1210:fs390xg1220:fs390xg1230:fs390xg1310:fs390xg1320:fs390xg1410:fs390xg1330:fs390xg1240:fs390xg1420:fs390xg1510:fs390xg1430:fs390xg1340:fs390xg1250:fs390xg1520 +group.gccs390x.compilers=fs390xg1210:fs390xg1220:fs390xg1230:fs390xg1310:fs390xg1320:fs390xg1410:fs390xg1330:fs390xg1240:fs390xg1420:fs390xg1510:fs390xg1430:fs390xg1340:fs390xg1250:fs390xg1520:fs390xg1610 group.gccs390x.groupName=s390x gfortran group.gccs390x.baseName=s390x gfortran group.gccs390x.compilerCategories=gfortran @@ -1096,6 +1128,10 @@ compiler.fs390xg1520.exe=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux compiler.fs390xg1520.semver=15.2.0 compiler.fs390xg1520.objdumper=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump compiler.fs390xg1520.demangler=/opt/compiler-explorer/s390x/gcc-15.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt +compiler.fs390xg1610.exe=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-gfortran +compiler.fs390xg1610.semver=16.1.0 +compiler.fs390xg1610.objdumper=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump +compiler.fs390xg1610.demangler=/opt/compiler-explorer/s390x/gcc-16.1.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt ############################### # LLVM Flang for X86 @@ -1212,7 +1248,7 @@ compiler.lfortran0590.clang=/opt/compiler-explorer/clang-19.1.0/bin/clang ############################### # GCC for ARM 64bit -group.gccaarch64.compilers=farm64g494:farm64g550:farm64g640:farm64g730:farm64g820:farm64g1050:farm64g1210:farm64g1220:farm64g1230:farm64g1310:farm64g1140:farm64g1320:farm64g1410:farm64g1330:farm64g1240:farm64g1420:farm64g1510:farm64g1430:farm64g1340:farm64g1250:farm64g1520 +group.gccaarch64.compilers=farm64g494:farm64g550:farm64g640:farm64g730:farm64g820:farm64g1050:farm64g1210:farm64g1220:farm64g1230:farm64g1310:farm64g1140:farm64g1320:farm64g1410:farm64g1330:farm64g1240:farm64g1420:farm64g1510:farm64g1430:farm64g1340:farm64g1250:farm64g1520:farm64g1610 group.gccaarch64.groupName=ARM (AARCH64) GCC group.gccaarch64.baseName=AARCH64 gfortran group.gccaarch64.compilerCategories=gfortran @@ -1313,6 +1349,10 @@ compiler.farm64g1520.exe=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown compiler.farm64g1520.semver=15.2.0 compiler.farm64g1520.objdumper=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump compiler.farm64g1520.demangler=/opt/compiler-explorer/arm64/gcc-15.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt +compiler.farm64g1610.exe=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gfortran +compiler.farm64g1610.semver=16.1.0 +compiler.farm64g1610.objdumper=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump +compiler.farm64g1610.demangler=/opt/compiler-explorer/arm64/gcc-16.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt ############################### # GCC for PPCs @@ -1323,7 +1363,7 @@ group.ppcs.compilerCategories=gfortran ############################### # GCC for PPC -group.ppc.compilers=fppcg1210:fppcg1220:fppcg1230:fppcg1240:fppcg1250:fppcg1310:fppcg1320:fppcg1330:fppcg1340:fppcg1410:fppcg1420:fppcg1430:fppcg1510:fppcg1520 +group.ppc.compilers=fppcg1210:fppcg1220:fppcg1230:fppcg1240:fppcg1250:fppcg1310:fppcg1320:fppcg1330:fppcg1340:fppcg1410:fppcg1420:fppcg1430:fppcg1510:fppcg1520:fppcg1610 group.ppc.groupName=POWER gfortran group.ppc.baseName=POWER gfortran group.ppc.compilerCategories=gfortran @@ -1396,10 +1436,14 @@ compiler.fppcg1520.exe=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown compiler.fppcg1520.semver=15.2.0 compiler.fppcg1520.objdumper=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump compiler.fppcg1520.demangler=/opt/compiler-explorer/powerpc/gcc-15.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt +compiler.fppcg1610.exe=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-gfortran +compiler.fppcg1610.semver=16.1.0 +compiler.fppcg1610.objdumper=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump +compiler.fppcg1610.demangler=/opt/compiler-explorer/powerpc/gcc-16.1.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt ############################### # GCC for PPC64 -group.ppc64.compilers=fppc64g8:fppc64g9:fppc64g1210:fppc64g1220:fppc64g1230:fppc64g1310:fppc64g1320:fppc64gtrunk:fppc64g1410:fppc64g1330:fppc64g1240:fppc64g1420:fppc64g1510:fppc64g1430:fppc64g1340:fppc64g1250:fppc64g1520 +group.ppc64.compilers=fppc64g8:fppc64g9:fppc64g1210:fppc64g1220:fppc64g1230:fppc64g1310:fppc64g1320:fppc64gtrunk:fppc64g1410:fppc64g1330:fppc64g1240:fppc64g1420:fppc64g1510:fppc64g1430:fppc64g1340:fppc64g1250:fppc64g1520:fppc64g1610 group.ppc64.groupName=POWER64 gfortran group.ppc64.baseName=POWER64 gfortran group.ppc64.compilerCategories=gfortran @@ -1480,6 +1524,10 @@ compiler.fppc64g1520.exe=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-u compiler.fppc64g1520.semver=15.2.0 compiler.fppc64g1520.objdumper=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump compiler.fppc64g1520.demangler=/opt/compiler-explorer/powerpc64/gcc-15.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt +compiler.fppc64g1610.exe=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gfortran +compiler.fppc64g1610.semver=16.1.0 +compiler.fppc64g1610.objdumper=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump +compiler.fppc64g1610.demangler=/opt/compiler-explorer/powerpc64/gcc-16.1.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt compiler.fppc64gtrunk.exe=/opt/compiler-explorer/powerpc64/gcc-trunk/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gfortran compiler.fppc64gtrunk.semver=trunk @@ -1488,7 +1536,7 @@ compiler.fppc64gtrunk.demangler=/opt/compiler-explorer/powerpc64/gcc-trunk/power ############################### # GCC for PPC64LE -group.ppc64le.compilers=fppc64leg8:fppc64leg9:fppc64leg1210:fppc64leg1220:fppc64leg1230:fppc64leg1310:fppc64leg1320:fppc64legtrunk:fppc64leg1410:fppc64leg1330:fppc64leg1240:fppc64leg1420:fppc64leg1510:fppc64leg1430:fppc64leg1340:fppc64leg1250:fppc64leg1520 +group.ppc64le.compilers=fppc64leg8:fppc64leg9:fppc64leg1210:fppc64leg1220:fppc64leg1230:fppc64leg1310:fppc64leg1320:fppc64legtrunk:fppc64leg1410:fppc64leg1330:fppc64leg1240:fppc64leg1420:fppc64leg1510:fppc64leg1430:fppc64leg1340:fppc64leg1250:fppc64leg1520:fppc64leg1610 group.ppc64le.groupName=POWER64le gfortran group.ppc64le.baseName=POWER64le gfortran group.ppc64le.compilerCategories=gfortran @@ -1569,6 +1617,10 @@ compiler.fppc64leg1520.exe=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc compiler.fppc64leg1520.semver=15.2.0 compiler.fppc64leg1520.objdumper=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump compiler.fppc64leg1520.demangler=/opt/compiler-explorer/powerpc64le/gcc-15.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt +compiler.fppc64leg1610.exe=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gfortran +compiler.fppc64leg1610.semver=16.1.0 +compiler.fppc64leg1610.objdumper=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump +compiler.fppc64leg1610.demangler=/opt/compiler-explorer/powerpc64le/gcc-16.1.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt compiler.fppc64legtrunk.exe=/opt/compiler-explorer/powerpc64le/gcc-trunk/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gfortran compiler.fppc64legtrunk.semver=trunk @@ -1614,7 +1666,7 @@ compiler.frv64gtrunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64- ################################ # GCC for MIPS -group.gccmips.compilers=fmipsg494:fmipsg550:fmipsg950:fmipsg1210:fmipsg1220:fmipsg1230:fmipsg1240:fmipsg1250:fmipsg1310:fmipsg1320:fmipsg1330:fmipsg1340:fmipsg1410:fmipsg1420:fmipsg1430:fmipsg1510:fmipsg1520 +group.gccmips.compilers=fmipsg494:fmipsg550:fmipsg950:fmipsg1210:fmipsg1220:fmipsg1230:fmipsg1240:fmipsg1250:fmipsg1310:fmipsg1320:fmipsg1330:fmipsg1340:fmipsg1410:fmipsg1420:fmipsg1430:fmipsg1510:fmipsg1520:fmipsg1610 group.gccmips.groupName=MIPS gfortran group.gccmips.baseName=MIPS gfortran group.gccmips.compilerCategories=gfortran @@ -1702,10 +1754,14 @@ compiler.fmipsg1520.exe=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linu compiler.fmipsg1520.semver=15.2.0 compiler.fmipsg1520.objdumper=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump compiler.fmipsg1520.demangler=/opt/compiler-explorer/mips/gcc-15.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt +compiler.fmipsg1610.exe=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-gfortran +compiler.fmipsg1610.semver=16.1.0 +compiler.fmipsg1610.objdumper=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump +compiler.fmipsg1610.demangler=/opt/compiler-explorer/mips/gcc-16.1.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt ################################ # GCC for MIPS64 -group.gccmips64.compilers=fmips64g494:fmips64g550:fmips64g950:fmips64g1210:fmips64g1220:fmips64g1230:fmips64g1310:fmips64g1320:fmips64g1410:fmips64g1330:fmips64g1240:fmips64g1420:fmips64g1510:fmips64g1430:fmips64g1340:fmips64g1250:fmips64g1520 +group.gccmips64.compilers=fmips64g494:fmips64g550:fmips64g950:fmips64g1210:fmips64g1220:fmips64g1230:fmips64g1310:fmips64g1320:fmips64g1410:fmips64g1330:fmips64g1240:fmips64g1420:fmips64g1510:fmips64g1430:fmips64g1340:fmips64g1250:fmips64g1520:fmips64g1610 group.gccmips64.groupName=MIPS64 gfortran group.gccmips64.baseName=MIPS64 gfortran group.gccmips64.compilerCategories=gfortran @@ -1793,10 +1849,14 @@ compiler.fmips64g1520.exe=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknow compiler.fmips64g1520.semver=15.2.0 compiler.fmips64g1520.objdumper=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump compiler.fmips64g1520.demangler=/opt/compiler-explorer/mips64/gcc-15.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt +compiler.fmips64g1610.exe=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gfortran +compiler.fmips64g1610.semver=16.1.0 +compiler.fmips64g1610.objdumper=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump +compiler.fmips64g1610.demangler=/opt/compiler-explorer/mips64/gcc-16.1.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt ################################ # GCC for MIPSEL -group.gccmipsel.compilers=fmipselg494:fmipselg550:fmipselg950:fmipselg1210:fmipselg1220:fmipselg1230:fmipselg1240:fmipselg1250:fmipselg1310:fmipselg1320:fmipselg1330:fmipselg1340:fmipselg1410:fmipselg1420:fmipselg1430:fmipselg1510:fmipselg1520 +group.gccmipsel.compilers=fmipselg494:fmipselg550:fmipselg950:fmipselg1210:fmipselg1220:fmipselg1230:fmipselg1240:fmipselg1250:fmipselg1310:fmipselg1320:fmipselg1330:fmipselg1340:fmipselg1410:fmipselg1420:fmipselg1430:fmipselg1510:fmipselg1520:fmipselg1610 group.gccmipsel.groupName=MIPSel gfortran group.gccmipsel.baseName=MIPSel gfortran group.gccmipsel.compilerCategories=gfortran @@ -1884,10 +1944,14 @@ compiler.fmipselg1520.exe=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multil compiler.fmipselg1520.semver=15.2.0 compiler.fmipselg1520.objdumper=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump compiler.fmipselg1520.demangler=/opt/compiler-explorer/mipsel/gcc-15.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt +compiler.fmipselg1610.exe=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-gfortran +compiler.fmipselg1610.semver=16.1.0 +compiler.fmipselg1610.objdumper=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump +compiler.fmipselg1610.demangler=/opt/compiler-explorer/mipsel/gcc-16.1.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt ################################ # GCC for MIPS64el -group.gccmips64el.compilers=fmips64elg494:fmips64elg550:fmips64elg950:fmips64elg1210:fmips64elg1220:fmips64elg1230:fmips64elg1310:fmips64elg1320:fmips64elg1410:fmips64elg1330:fmips64elg1240:fmips64elg1420:fmips64elg1510:fmips64elg1430:fmips64elg1340:fmips64elg1250:fmips64elg1520 +group.gccmips64el.compilers=fmips64elg494:fmips64elg550:fmips64elg950:fmips64elg1210:fmips64elg1220:fmips64elg1230:fmips64elg1310:fmips64elg1320:fmips64elg1410:fmips64elg1330:fmips64elg1240:fmips64elg1420:fmips64elg1510:fmips64elg1430:fmips64elg1340:fmips64elg1250:fmips64elg1520:fmips64elg1610 group.gccmips64el.groupName=MIPS64el gfortran group.gccmips64el.baseName=MIPS64el gfortran group.gccmips64el.compilerCategories=gfortran @@ -1975,6 +2039,10 @@ compiler.fmips64elg1520.exe=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el- compiler.fmips64elg1520.semver=15.2.0 compiler.fmips64elg1520.objdumper=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump compiler.fmips64elg1520.demangler=/opt/compiler-explorer/mips64el/gcc-15.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt +compiler.fmips64elg1610.exe=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-gfortran +compiler.fmips64elg1610.semver=16.1.0 +compiler.fmips64elg1610.objdumper=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump +compiler.fmips64elg1610.demangler=/opt/compiler-explorer/mips64el/gcc-16.1.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt ################################# ################################# From c38a886b692b8faafa3c7d703e59344dd51e6c47 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 10:44:55 -0500 Subject: [PATCH 42/51] [bot] Update browsers list (#8652) Automatic run of `npm run-update-browerslist` which needs to be done periodically to keep in-date. See [here](https://github.com/browserslist/browserslist#browsers-data-updating) for more details. Co-authored-by: Compiler Explorer Bot --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index fe2bb6ee7..52b7ff235 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6884,9 +6884,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.13", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.13.tgz", - "integrity": "sha512-BL2sTuHOdy0YT1lYieUxTw/QMtPBC3pmlJC6xk8BBYVv6vcw3SGdKemQ+Xsx9ik2F/lYDO9tqsFQH1r9PFuHKw==", + "version": "2.10.24", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", + "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -7279,9 +7279,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001782", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001782.tgz", - "integrity": "sha512-dZcaJLJeDMh4rELYFw1tvSn1bhZWYFOt468FcbHHxx/Z/dFidd1I6ciyFdi3iwfQCyOjqo9upF6lGQYtMiJWxw==", + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", "funding": [ { "type": "opencollective", From 08adcc29318a2b309f963a0bf23b26ad2a183279 Mon Sep 17 00:00:00 2001 From: Barry Revzin Date: Fri, 1 May 2026 14:43:38 -0500 Subject: [PATCH 43/51] Adding experimental Clang for Barry (#8659) Following https://github.com/compiler-explorer/infra/pull/2084 --------- Co-authored-by: Matt Godbolt --- etc/config/c++.amazon.properties | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index 3cc1b6f27..e222b56a1 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -537,7 +537,7 @@ compiler.clang2210.ldPath=${exePath}/../lib|${exePath}/../lib/x86_64-unknown-lin compiler.clang2210.debugPatched=true -group.clangx86trunk.compilers=clang_trunk:clang_assertions_trunk:clang_concepts:clang_p1144:clang_autonsdmi:clang_p2561:clang_bb_p2996:clang_p2998:clang_p3039:clang_p3068:clang_p3309:clang_p3334:clang_p3367:clang_p3372:clang_p3385:clang_p3412:clang_p3776:clang_p3822:clang_p3951:clang_implicit_constexpr:clang_hana:clang_lifetime:clang_p1061:clang_parmexpr:clang_patmat:clang_embed:clang_dang:clang_reflection:clang_variadic_friends:clang_widberg:clang_resugar:clang_clangir:clang_dascandy_contracts:clang_ericwf_contracts:clang_p1974:clang_chrisbazley +group.clangx86trunk.compilers=clang_trunk:clang_assertions_trunk:clang_concepts:clang_p1144:clang_autonsdmi:clang_p2561:clang_bb_p2996:clang_p2998:clang_p3039:clang_p3068:clang_p3309:clang_p3334:clang_p3367:clang_p3372:clang_p3385:clang_p3412:clang_p3776:clang_p3822:clang_p3951:clang_barry:clang_implicit_constexpr:clang_hana:clang_lifetime:clang_p1061:clang_parmexpr:clang_patmat:clang_embed:clang_dang:clang_reflection:clang_variadic_friends:clang_widberg:clang_resugar:clang_clangir:clang_dascandy_contracts:clang_ericwf_contracts:clang_p1974:clang_chrisbazley group.clangx86trunk.intelAsm=-mllvm --x86-asm-syntax=intel group.clangx86trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-snapshot group.clangx86trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump @@ -625,6 +625,10 @@ compiler.clang_p3951.exe=/opt/compiler-explorer/clang-p3951-trunk/bin/clang++ compiler.clang_p3951.semver=(template strings - P3951) compiler.clang_p3951.notification=Experimental P3951 Support (t"..."); see P3951 compiler.clang_p3951.options=-std=c++26 -freflection -fexpansion-statements -stdlib=libc++ +compiler.clang_barry.exe=/opt/compiler-explorer/clang-barry-clang-trunk/bin/clang++ +compiler.clang_barry.semver=(barry prototypes) +compiler.clang_barry.notification=Barry's various prototypes; see github +compiler.clang_barry.options=-std=c++26 -freflection -fexpansion-statements -stdlib=libc++ compiler.clang_p1061.exe=/opt/compiler-explorer/clang-p1061-trunk/bin/clang++ compiler.clang_p1061.semver=(experimental P1061) compiler.clang_p1061.notification=Experimental Structure Bindings can introduce a Pack; see P1061 From c7382de888a78eb2842fc02eb5d9a7687cf09de4 Mon Sep 17 00:00:00 2001 From: Jamie <2119834+jamieQ@users.noreply.github.com> Date: Fri, 1 May 2026 14:56:34 -0500 Subject: [PATCH 44/51] [swift]: add 2.2.x compilers (#8647) Adds support for the available 2.x Swift compilers. Depends on: https://github.com/compiler-explorer/infra/pull/2081 --- etc/config/swift.amazon.properties | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/etc/config/swift.amazon.properties b/etc/config/swift.amazon.properties index e2cb87e59..77c3be528 100644 --- a/etc/config/swift.amazon.properties +++ b/etc/config/swift.amazon.properties @@ -8,7 +8,7 @@ objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump ################################# # swift (x86_64) -group.swift.compilers=swift63:swift624:swift62:swift61:swift603:swift510:swift59:swift58:swift57:swift56:swift55:swift54:swift53:swift52:swift51:swift50:swift42:swift412:swift411:swift41:swift403:swift402:swift311:swiftdevsnapshot:swiftnightly +group.swift.compilers=swift63:swift624:swift62:swift61:swift603:swift510:swift59:swift58:swift57:swift56:swift55:swift54:swift53:swift52:swift51:swift50:swift42:swift412:swift411:swift41:swift403:swift402:swift311:swift221:swift22:swiftdevsnapshot:swiftnightly group.swift.isSemVer=true group.swift.groupName=swift (x86-64) group.swift.baseName=x86-64 swiftc @@ -144,6 +144,16 @@ compiler.swift311.exe=/opt/compiler-explorer/swift-3.1.1/usr/bin/swiftc compiler.swift311.semver=3.1.1 compiler.swift311.supportsBinary=false +# 2.x + +compiler.swift221.exe=/opt/compiler-explorer/swift-2.2.1/usr/bin/swiftc +compiler.swift221.semver=2.2.1 +compiler.swift221.supportsBinary=false + +compiler.swift22.exe=/opt/compiler-explorer/swift-2.2/usr/bin/swiftc +compiler.swift22.semver=2.2 +compiler.swift22.supportsBinary=false + ################################# ################################# # Installed libs (See c++.amazon.properties for a scheme of libs group) From ca615992c2a5c9977edc17b7eed05a575570beb4 Mon Sep 17 00:00:00 2001 From: Ashley Coleman Date: Fri, 1 May 2026 13:57:07 -0600 Subject: [PATCH 45/51] [HLSL] Add DXC 1.10.2605.2 release (#8650) This change adds the new DXC 1.10.2605.2 release. This PR depends on the infra PR below being merged and compilers built: https://github.com/compiler-explorer/infra/pull/2082 --- etc/config/hlsl.amazon.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/etc/config/hlsl.amazon.properties b/etc/config/hlsl.amazon.properties index e47f0481c..8c6c7b3e1 100644 --- a/etc/config/hlsl.amazon.properties +++ b/etc/config/hlsl.amazon.properties @@ -1,6 +1,6 @@ compilers=&dxc:&rga:&clang:godbolt.org@443/winprod -group.dxc.compilers=dxc_trunk:dxc_1_6_2112:dxc_1_7_2207:dxc_1_7_2212:dxc_1_7_2308:dxc_1_8_2306:dxc_1_8_2403:dxc_1_8_2403_1:dxc_1_8_2403_2:dxc_1_8_2405:dxc_1_8_2407:dxc_1_8_2502:dxc_1_8_2505:dxc_1_8_2505_1:dxc_1_9_2602 +group.dxc.compilers=dxc_trunk:dxc_1_6_2112:dxc_1_7_2207:dxc_1_7_2212:dxc_1_7_2308:dxc_1_8_2306:dxc_1_8_2403:dxc_1_8_2403_1:dxc_1_8_2403_2:dxc_1_8_2405:dxc_1_8_2407:dxc_1_8_2502:dxc_1_8_2505:dxc_1_8_2505_1:dxc_1_9_2602:dxc_1_10_2605_2 group.dxc.groupName=DXC group.dxc.isSemVer=true group.dxc.baseName=DXC @@ -36,6 +36,8 @@ compiler.dxc_1_8_2505_1.exe=/opt/compiler-explorer/dxc-1.8.2505.1/bin/dxc compiler.dxc_1_8_2505_1.semver=1.8.2505.1 compiler.dxc_1_9_2602.exe=/opt/compiler-explorer/dxc-1.9.2602/bin/dxc compiler.dxc_1_9_2602.semver=1.9.2602 +compiler.dxc_1_10_2605_2.exe=/opt/compiler-explorer/dxc-1.10.2605.2/bin/dxc +compiler.dxc_1_10_2605_2.semver=1.10.2605.2 group.rga.compilers=rga262_dxctrunk:rga262_dxc172207:rga262_dxc162112:rga261_dxc172207:rga261_dxc162112:rga290_dxctrunk group.rga.groupName=RGA From 8cf50ac8d240b7bb39d03ee0ba50a4d79b626f7e Mon Sep 17 00:00:00 2001 From: The Phantom Derpstorm Date: Sat, 2 May 2026 09:01:43 -0400 Subject: [PATCH 46/51] =?UTF-8?q?=E2=9C=A8=20Updated=20and=20maintained=20?= =?UTF-8?q?(thephd.dev)=20compiler=20for=20Clang=20(#8662)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR is fixing the previously-calcified Clang (thephd.dev) that was based off a branch that previously wasn't building (and now no longer exists). I plan to keep this one going and helping for as long as I can, which should hopefully be better than earlier! - [x] clang-builder: https://github.com/compiler-explorer/clang-builder/pull/107 - [x] clang-builder (with usable libunwind): https://github.com/compiler-explorer/clang-builder/pull/108 - [x] compiler-workflows: https://github.com/compiler-explorer/compiler-workflows/pull/62 - [ ] infra: https://github.com/compiler-explorer/infra/pull/2086 --- etc/config/c++.amazon.properties | 14 ++++++++++---- etc/config/c.amazon.properties | 9 ++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index e222b56a1..f29067dff 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -537,7 +537,7 @@ compiler.clang2210.ldPath=${exePath}/../lib|${exePath}/../lib/x86_64-unknown-lin compiler.clang2210.debugPatched=true -group.clangx86trunk.compilers=clang_trunk:clang_assertions_trunk:clang_concepts:clang_p1144:clang_autonsdmi:clang_p2561:clang_bb_p2996:clang_p2998:clang_p3039:clang_p3068:clang_p3309:clang_p3334:clang_p3367:clang_p3372:clang_p3385:clang_p3412:clang_p3776:clang_p3822:clang_p3951:clang_barry:clang_implicit_constexpr:clang_hana:clang_lifetime:clang_p1061:clang_parmexpr:clang_patmat:clang_embed:clang_dang:clang_reflection:clang_variadic_friends:clang_widberg:clang_resugar:clang_clangir:clang_dascandy_contracts:clang_ericwf_contracts:clang_p1974:clang_chrisbazley +group.clangx86trunk.compilers=clang_trunk:clang_assertions_trunk:clang_concepts:clang_p1144:clang_autonsdmi:clang_p2561:clang_bb_p2996:clang_p2998:clang_p3039:clang_p3068:clang_p3309:clang_p3334:clang_p3367:clang_p3372:clang_p3385:clang_p3412:clang_p3776:clang_p3822:clang_p3951:clang_barry:clang_implicit_constexpr:clang_hana:clang_lifetime:clang_p1061:clang_parmexpr:clang_patmat:clang_embed:clang_dang:clang_thephd_dev:clang_reflection:clang_variadic_friends:clang_widberg:clang_resugar:clang_clangir:clang_dascandy_contracts:clang_ericwf_contracts:clang_p1974:clang_chrisbazley group.clangx86trunk.intelAsm=-mllvm --x86-asm-syntax=intel group.clangx86trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-snapshot group.clangx86trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump @@ -653,10 +653,16 @@ compiler.clang_embed.semver=(std::embed) compiler.clang_embed.options=-std=c++2a -stdlib=libc++ compiler.clang_embed.notification=Experimental std::embed Support; see github compiler.clang_embed.hidden=true -compiler.clang_dang.exe=/opt/compiler-explorer/clang-dang-main/bin/clang++ +compiler.clang_dang.exe=/opt/compiler-explorer/clang-thephd.dev/bin/clang++ compiler.clang_dang.semver=(thephd.dev) -compiler.clang_dang.options=-std=c++2a -stdlib=libc++ -compiler.clang_dang.notification=Embed, Transparent Function Aliases, and more in this custom clang-derived playground; see github for other potential proposal implementations! +compiler.clang_dang.options=-std=c++2d -stdlib=libc++ +compiler.clang_dang.notification=Generic, std::embed, Transparent Function Aliases, and more in this custom clang-derived playground; see github for other potential proposal implementations! +compiler.clang_dang.hidden=true +compiler.clang_thephd_dev.exe=/opt/compiler-explorer/clang-thephd.dev/bin/clang++ +compiler.clang_thephd_dev.semver=(thephd.dev) +compiler.clang_thephd_dev.options=-std=c++2d -stdlib=libc++ +compiler.clang_thephd_dev.isNightly=true +compiler.clang_thephd_dev.notification=std::embed and more in this custom clang-derived playground; see github for other potential proposal implementations! compiler.clang_widberg.exe=/opt/compiler-explorer/clang-widberg-main/bin/clang++ compiler.clang_widberg.semver=(widberg) compiler.clang_widberg.options=-std=c++2a -stdlib=libc++ diff --git a/etc/config/c.amazon.properties b/etc/config/c.amazon.properties index 0ef27c296..53786f8cf 100644 --- a/etc/config/c.amazon.properties +++ b/etc/config/c.amazon.properties @@ -266,7 +266,7 @@ compiler.cg127.exe=/opt/compiler-explorer/gcc-1.27/bin/gcc compiler.cg127.semver=1.27 # Clang for x86 -group.cclang.compilers=cclang30:cclang31:cclang32:cclang33:cclang341:cclang350:cclang351:cclang352:cclang37x:cclang36x:cclang371:cclang380:cclang381:cclang390:cclang391:cclang400:cclang401:cclang500:cclang501:cclang502:cclang600:cclang601:cclang700:cclang701:cclang710:cclang800:cclang801:cclang900:cclang901:cclang1000:cclang1001:cclang1100:cclang1101:cclang1200:cclang1201:cclang1300:cclang1301:cclang1400:cclang1500:cclang1600:cclang1701:cclang1810:cclang1910:cclang2010:cclang2110:cclang2210:cclang_trunk:cclang_assertions_trunk:cclang_dang:cclang_widberg:cclang_swiftlang +group.cclang.compilers=cclang30:cclang31:cclang32:cclang33:cclang341:cclang350:cclang351:cclang352:cclang37x:cclang36x:cclang371:cclang380:cclang381:cclang390:cclang391:cclang400:cclang401:cclang500:cclang501:cclang502:cclang600:cclang601:cclang700:cclang701:cclang710:cclang800:cclang801:cclang900:cclang901:cclang1000:cclang1001:cclang1100:cclang1101:cclang1200:cclang1201:cclang1300:cclang1301:cclang1400:cclang1500:cclang1600:cclang1701:cclang1810:cclang1910:cclang2010:cclang2110:cclang2210:cclang_trunk:cclang_assertions_trunk:cclang_dang:cclang_thephd_dev:cclang_widberg:cclang_swiftlang group.cclang.intelAsm=-mllvm --x86-asm-syntax=intel group.cclang.options=--gcc-toolchain=/opt/compiler-explorer/gcc-7.2.0 group.cclang.groupName=Clang x86-64 @@ -425,6 +425,13 @@ compiler.cclang_dang.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump compiler.cclang_dang.semver=(thephd.dev) compiler.cclang_dang.isNightly=true compiler.cclang_dang.options=--gcc-toolchain=/opt/compiler-explorer/gcc-11.2.0 -std=c2x +compiler.cclang_dang.hidden=true +compiler.cclang_thephd_dev.exe=/opt/compiler-explorer/clang-thephd.dev/bin/clang +compiler.cclang_thephd_dev.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump +compiler.cclang_thephd_dev.semver=(thephd.dev) +compiler.cclang_thephd_dev.isNightly=true +compiler.cclang_thephd_dev.options=--gcc-toolchain=/opt/compiler-explorer/gcc-16.1.0 -std=c2y +compiler.cclang_thephd_dev.notification=Generic, Transparent Function Aliases, and more in this custom clang-derived playground; see github for other potential proposal implementations! compiler.cclang_widberg.exe=/opt/compiler-explorer/clang-widberg-main/bin/clang compiler.cclang_widberg.semver=(widberg) compiler.cclang_widberg.isNightly=true From 1efb2a209fe1c65cd67f85f6a8a6e6f9ee3d1e4d Mon Sep 17 00:00:00 2001 From: Frank Leon Rose Date: Sat, 2 May 2026 09:03:08 -0400 Subject: [PATCH 47/51] Further fixes to Clojure compiler execution in CE infra (#8300) - [x] Ensure `CLJ_CACHE` environment variable is set to a writable directory - [x] Remove unnecessary `CLJ_CONFIG` environment variable - [x] ~~Configure location of `clojure_wrapper.clj` (not necessary)~~ - [x] Remove logging of namespace injection - text output causes UI to show compiler error flag --- etc/scripts/clojure_wrapper.clj | 2 +- lib/compilers/clojure.ts | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/etc/scripts/clojure_wrapper.clj b/etc/scripts/clojure_wrapper.clj index 1bfd29a0b..94c5d3ec7 100644 --- a/etc/scripts/clojure_wrapper.clj +++ b/etc/scripts/clojure_wrapper.clj @@ -113,7 +113,7 @@ (with-open [out (io/writer (io/output-stream compile-filename))] (when missing-namespace? (let [ns-form (str "(ns " namespace ")")] - (println "Injecting namespace form on first line:" ns-form) + ;; Don't log injection - any text output results in compilation error indicator in UI (.write out ns-form))) (io/copy input-file out)) diff --git a/lib/compilers/clojure.ts b/lib/compilers/clojure.ts index 438c0ad3d..c0adef732 100644 --- a/lib/compilers/clojure.ts +++ b/lib/compilers/clojure.ts @@ -39,7 +39,6 @@ import {JavaCompiler} from './java.js'; export class ClojureCompiler extends JavaCompiler { compilerWrapperPath: string; defaultDeps: string; - configDir: string; javaHome: string; static override get key() { @@ -55,9 +54,6 @@ export class ClojureCompiler extends JavaCompiler { this.compilerProps('compilerWrapper', '') || utils.resolvePathFromAppRoot('etc', 'scripts', 'clojure_wrapper.clj'); this.compiler.supportsClojureMacroExpView = true; - this.configDir = - this.compilerProps(`compiler.${this.compiler.id}.config_dir`) || - path.resolve(path.dirname(this.compiler.exe), '../.config'); const repoDir = this.compilerProps(`compiler.${this.compiler.id}.repo_dir`) || path.resolve(path.dirname(this.compiler.exe), '../.m2/repository'); @@ -69,7 +65,6 @@ export class ClojureCompiler extends JavaCompiler { if (this.javaHome) { execOptions.env.JAVA_HOME = this.javaHome; } - execOptions.env.CLJ_CONFIG = this.configDir; return execOptions; } @@ -123,6 +118,8 @@ export class ClojureCompiler extends JavaCompiler { if (!execOptions.customCwd) { execOptions.customCwd = path.dirname(inputFilename); } + const tmpDir = path.dirname(inputFilename); + execOptions.env.CLJ_CACHE = tmpDir; // The items in 'options' before the source file are user inputs. const sourceFileOptionIndex = options.findIndex(option => { From 75a5b68b067e24617bf4ac60556fb05ccd7ac268 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 2 May 2026 22:05:38 +0900 Subject: [PATCH 48/51] .NET: Improve NativeAOT compilation and unsupported execution error mode (#8637) We only support running .NET code on CoreCLR and Mono, so we should reject execution on other compilers otherwise this can confuse users a lot. In addition, removing the --notrimwarn and --noaotwarn so that users can see warnings during NativeAOT compilations, and adding missing arguments to ilc. --- lib/compilers/dotnet.ts | 38 ++++++++++++++++++++++----- lib/execution/dotnet-execution-env.ts | 4 +-- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/lib/compilers/dotnet.ts b/lib/compilers/dotnet.ts index e53dd6f53..8d5b29b30 100644 --- a/lib/compilers/dotnet.ts +++ b/lib/compilers/dotnet.ts @@ -846,7 +846,7 @@ do() await fs.writeFile( outputPath, - `// ${isMono ? 'mono' : 'coreclr'} ${await this.getRuntimeVersion()}\n\n${result.stdout + `// ${isMono ? 'mono' : 'coreclr'} ${await this.getRuntimeVersion()}${result.stdout .map(o => o.text) .reduce((a, n) => `${a}\n${n}`, '')}`, ); @@ -876,7 +876,7 @@ do() await fs.writeFile( outputPath, - `// ilspy ${await this.getRuntimeVersion()}\n\n${result.stdout + `// ilspy ${await this.getRuntimeVersion()}${result.stdout .map(o => o.text) .reduce((a, n) => `${a}\n${n}`, '')}`, ); @@ -892,7 +892,7 @@ do() await fs.writeFile( outputPath, - `// ildasm ${await this.getRuntimeVersion()}\n\n${result.stdout + `// ildasm ${await this.getRuntimeVersion()}${result.stdout .map(o => o.text) .reduce((a, n) => `${a}\n${n}`, '')}`, ); @@ -940,7 +940,7 @@ do() await fs.writeFile( outputPath, - `// crossgen2 ${await this.getRuntimeVersion()}\n\n${result.stdout + `// crossgen2 ${await this.getRuntimeVersion()}${result.stdout .map(o => o.text) .reduce((a, n) => `${a}\n${n}`, '')}`, ); @@ -976,13 +976,26 @@ do() '--directpinvoke:libSystem.IO.Compression.Native', '--directpinvoke:libSystem.Net.Security.Native', '--directpinvoke:libSystem.Security.Cryptography.Native.OpenSsl', + '--feature:System.Reflection.Metadata.MetadataUpdater.IsSupported=false', + '--feature:System.Resources.ResourceManager.AllowCustomResourceTypes=false', + '--feature:System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported=false', + '--feature:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false', + '--feature:System.Runtime.InteropServices.EnableCppCLIHostActivation=false', + '--feature:System.StartupHookProvider.IsSupported=false', + '--feature:System.Linq.Expressions.CanEmitObjectArrayDelegate=false', + '--feature:System.Diagnostics.Debugger.IsSupported=false', + '--runtimeknob:System.Reflection.Metadata.MetadataUpdater.IsSupported=false', + '--runtimeknob:System.Resources.ResourceManager.AllowCustomResourceTypes=false', + '--runtimeknob:System.Runtime.CompilerServices.RuntimeFeature.IsDynamicCodeSupported=false', + '--runtimeknob:System.Runtime.InteropServices.EnableConsumingManagedCodeFromNativeHosting=false', + '--runtimeknob:System.Runtime.InteropServices.EnableCppCLIHostActivation=false', + '--runtimeknob:System.StartupHookProvider.IsSupported=false', + '--runtimeknob:System.Linq.Expressions.CanEmitObjectArrayDelegate=false', '--resilient', '--singlewarn', '--scanreflection', '--nosinglewarnassembly:CompilerExplorer', '--generateunmanagedentrypoints:System.Private.CoreLib', - '--notrimwarn', - '--noaotwarn', ].concat(options); if (!buildToBinary) { @@ -994,7 +1007,7 @@ do() await fs.writeFile( outputPath, - `// ilc ${await this.getRuntimeVersion()}\n\n${result.stdout + `// ilc ${await this.getRuntimeVersion()}${result.stdout .map(o => o.text) .reduce((a, n) => `${a}\n${n}`, '')}`, ); @@ -1012,7 +1025,18 @@ do() executable = this.compiler.executionWrapper; } + const isCoreClr = this.compiler.group === 'dotnetcoreclr'; const isMono = this.compiler.group === 'dotnetmono'; + + if (!isCoreClr && !isMono) { + return { + ...utils.getEmptyExecutionResult(), + stdout: [], + stderr: utils.parseOutput('Execution is only supported for CoreCLR and Mono compilers'), + code: -1, + }; + } + const compilerInfo = await this.getCompilerInfo(this.lang.id); const extraConfiguration: DotnetExtraConfiguration = { buildConfig: this.buildConfig, diff --git a/lib/execution/dotnet-execution-env.ts b/lib/execution/dotnet-execution-env.ts index 236578dd8..db2ceef7b 100644 --- a/lib/execution/dotnet-execution-env.ts +++ b/lib/execution/dotnet-execution-env.ts @@ -47,7 +47,7 @@ export class DotnetExecutionEnvironment extends LocalExecutionEnvironment { executable: string, executeParameters: ExecutableExecutionOptions, homeDir: string, - extraConfiguration: any, + extraConfiguration: DotnetExtraConfiguration, ): Promise { const programDir = path.dirname(executable); const programOutputPath = path.join( @@ -70,7 +70,7 @@ export class DotnetExecutionEnvironment extends LocalExecutionEnvironment { execOptions.input = executeParameters.stdin; const execArgs = ['-p', 'System.Runtime.TieredCompilation=false', programDllPath, ...executeParameters.args]; try { - return this.execBinaryMaybeWrapped( + return await this.execBinaryMaybeWrapped( extraConfiguration.corerunPath, execArgs, execOptions, From 2aa7ea731d4f0e38b4dcbf70456241dd35f0d1e5 Mon Sep 17 00:00:00 2001 From: narpfel Date: Sat, 2 May 2026 15:07:10 +0200 Subject: [PATCH 49/51] Make opt remarks selectable (#8655) Resolves #8654. --- static/panes/opt-view.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/static/panes/opt-view.ts b/static/panes/opt-view.ts index db8165830..f18a92bce 100644 --- a/static/panes/opt-view.ts +++ b/static/panes/opt-view.ts @@ -179,6 +179,9 @@ export class Opt extends MonacoPane e.stopPropagation(); // let the browser calculate the height that the text needs domNode.style.visibility = 'hidden'; From 2d3b738967dc81bc27046d0f0180be6a382ed261 Mon Sep 17 00:00:00 2001 From: LJ <81748770+elle-j@users.noreply.github.com> Date: Sat, 2 May 2026 15:09:32 +0200 Subject: [PATCH 50/51] Add resolc Solidity compiler v1.0.0 and v1.1.0 (#8656) Adds resolc v1.0.0 and v1.1.0. Infra PR: [compiler-explorer/infra/pull/2083](https://github.com/compiler-explorer/infra/pull/2083) --- etc/config/solidity.amazon.properties | 12 ++++++++---- etc/config/solidity.defaults.properties | 12 ++++++------ etc/config/yul.amazon.properties | 12 ++++++++---- etc/config/yul.defaults.properties | 14 +++++++------- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/etc/config/solidity.amazon.properties b/etc/config/solidity.amazon.properties index 315bfa2a8..4d2a58c56 100644 --- a/etc/config/solidity.amazon.properties +++ b/etc/config/solidity.amazon.properties @@ -62,7 +62,7 @@ compiler.solx012.name=solx 0.1.2 # The Resolc compiler supports compiling both Solidity and Yul (Solidity IR), thus # the same compiler is used for both languages. The compiler config IDs will clash # if they are not unique, therefore the IDs contain either 'yul' or 'sol'. -group.resolc.compilers=resolc040_sol:resolc050_sol:resolc060_sol +group.resolc.compilers=resolc040_sol:resolc050_sol:resolc060_sol:resolc100_sol:resolc110_sol group.resolc.compilerType=resolc group.resolc.objdumper=/opt/compiler-explorer/clang-21.1.0/bin/llvm-objdump group.resolc.objdumperType=llvm @@ -72,18 +72,22 @@ group.resolc.intelAsm=false group.resolc.supportsBinaryObject=true group.resolc.supportsBinary=false group.resolc.supportsExecute=false +group.resolc.instructionSet=riscv64 compiler.resolc040_sol.exe=/opt/compiler-explorer/resolc-0.4.0/resolc compiler.resolc040_sol.semver=0.4.0 compiler.resolc040_sol.name=resolc 0.4.0 -compiler.resolc040_sol.instructionSet=riscv64 compiler.resolc050_sol.exe=/opt/compiler-explorer/resolc-0.5.0/resolc compiler.resolc050_sol.semver=0.5.0 compiler.resolc050_sol.name=resolc 0.5.0 -compiler.resolc050_sol.instructionSet=riscv64 compiler.resolc060_sol.exe=/opt/compiler-explorer/resolc-0.6.0/resolc compiler.resolc060_sol.semver=0.6.0 compiler.resolc060_sol.name=resolc 0.6.0 -compiler.resolc060_sol.instructionSet=riscv64 +compiler.resolc100_sol.exe=/opt/compiler-explorer/resolc-1.0.0/resolc +compiler.resolc100_sol.semver=1.0.0 +compiler.resolc100_sol.name=resolc 1.0.0 +compiler.resolc110_sol.exe=/opt/compiler-explorer/resolc-1.1.0/resolc +compiler.resolc110_sol.semver=1.1.0 +compiler.resolc110_sol.name=resolc 1.1.0 ################################# ################################# diff --git a/etc/config/solidity.defaults.properties b/etc/config/solidity.defaults.properties index 7ab9ef456..b83920265 100644 --- a/etc/config/solidity.defaults.properties +++ b/etc/config/solidity.defaults.properties @@ -24,9 +24,9 @@ compiler.solx.compilerType=solx compiler.solx.instructionSet=evm compiler.solx.isSemVer=true -group.resolc.compilers=resolc060_sol +group.resolc.compilers=resolc110_sol group.resolc.compilerType=resolc -group.resolc.objdumper=/usr/local/bin/llvm-objdump +group.resolc.objdumper=/opt/compiler-explorer/clang-21.1.0/bin/llvm-objdump group.resolc.objdumperType=llvm group.resolc.isSemver=true group.resolc.versionFlag=--version @@ -34,10 +34,10 @@ group.resolc.intelAsm=false group.resolc.supportsBinaryObject=true group.resolc.supportsBinary=false group.resolc.supportsExecute=false -compiler.resolc060_sol.exe=/opt/compiler-explorer/resolc-0.6.0/resolc -compiler.resolc060_sol.semver=0.6.0 -compiler.resolc060_sol.name=resolc 0.6.0 -compiler.resolc060_sol.instructionSet=riscv64 +group.resolc.instructionSet=riscv64 +compiler.resolc110_sol.exe=/opt/compiler-explorer/resolc-1.1.0/resolc +compiler.resolc110_sol.semver=1.1.0 +compiler.resolc110_sol.name=resolc 1.1.0 ################################# ################################# diff --git a/etc/config/yul.amazon.properties b/etc/config/yul.amazon.properties index 66c519ded..def04c45d 100644 --- a/etc/config/yul.amazon.properties +++ b/etc/config/yul.amazon.properties @@ -5,7 +5,7 @@ supportsLibraryCodeFilter=true # The Resolc compiler supports compiling both Solidity and Yul (Solidity IR), thus # the same compiler is used for both languages. The compiler config IDs will clash # if they are not unique, therefore the IDs contain either 'yul' or 'sol'. -group.resolc.compilers=resolc040_yul:resolc050_yul:resolc060_yul +group.resolc.compilers=resolc040_yul:resolc050_yul:resolc060_yul:resolc100_yul:resolc110_yul group.resolc.compilerType=resolc group.resolc.objdumper=/opt/compiler-explorer/clang-21.1.0/bin/llvm-objdump group.resolc.objdumperType=llvm @@ -15,18 +15,22 @@ group.resolc.intelAsm=false group.resolc.supportsBinaryObject=true group.resolc.supportsBinary=false group.resolc.supportsExecute=false +group.resolc.instructionSet=riscv64 compiler.resolc040_yul.exe=/opt/compiler-explorer/resolc-0.4.0/resolc compiler.resolc040_yul.semver=0.4.0 compiler.resolc040_yul.name=resolc 0.4.0 -compiler.resolc040_yul.instructionSet=riscv64 compiler.resolc050_yul.exe=/opt/compiler-explorer/resolc-0.5.0/resolc compiler.resolc050_yul.semver=0.5.0 compiler.resolc050_yul.name=resolc 0.5.0 -compiler.resolc050_yul.instructionSet=riscv64 compiler.resolc060_yul.exe=/opt/compiler-explorer/resolc-0.6.0/resolc compiler.resolc060_yul.semver=0.6.0 compiler.resolc060_yul.name=resolc 0.6.0 -compiler.resolc060_yul.instructionSet=riscv64 +compiler.resolc100_yul.exe=/opt/compiler-explorer/resolc-1.0.0/resolc +compiler.resolc100_yul.semver=1.0.0 +compiler.resolc100_yul.name=resolc 1.0.0 +compiler.resolc110_yul.exe=/opt/compiler-explorer/resolc-1.1.0/resolc +compiler.resolc110_yul.semver=1.1.0 +compiler.resolc110_yul.name=resolc 1.1.0 ################################# ################################# diff --git a/etc/config/yul.defaults.properties b/etc/config/yul.defaults.properties index 65f15a2f4..f30cf8df0 100644 --- a/etc/config/yul.defaults.properties +++ b/etc/config/yul.defaults.properties @@ -1,11 +1,11 @@ compilers=&resolc compilerType=resolc -defaultCompiler=resolc060_yul +defaultCompiler=resolc110_yul supportsLibraryCodeFilter=true -group.resolc.compilers=resolc060_yul +group.resolc.compilers=resolc110_yul group.resolc.compilerType=resolc -group.resolc.objdumper=/usr/local/bin/llvm-objdump +group.resolc.objdumper=/opt/compiler-explorer/clang-21.1.0/bin/llvm-objdump group.resolc.objdumperType=llvm group.resolc.isSemver=true group.resolc.versionFlag=--version @@ -13,10 +13,10 @@ group.resolc.intelAsm=false group.resolc.supportsBinaryObject=true group.resolc.supportsBinary=false group.resolc.supportsExecute=false -compiler.resolc060_yul.exe=/opt/compiler-explorer/resolc-0.6.0/resolc -compiler.resolc060_yul.semver=0.6.0 -compiler.resolc060_yul.name=resolc 0.6.0 -compiler.resolc060_yul.instructionSet=riscv64 +group.resolc.instructionSet=riscv64 +compiler.resolc110_yul.exe=/opt/compiler-explorer/resolc-1.1.0/resolc +compiler.resolc110_yul.semver=1.1.0 +compiler.resolc110_yul.name=resolc 1.1.0 ################################# ################################# From 9e60f1a03933629553da8bcab3f4464fa889270a Mon Sep 17 00:00:00 2001 From: Sava Victor Date: Sat, 2 May 2026 16:16:47 +0300 Subject: [PATCH 51/51] Beman libraries trunk (#8661) --- etc/config/c++.amazon.properties | 76 +++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 5 deletions(-) diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties index f29067dff..48578f1d5 100644 --- a/etc/config/c++.amazon.properties +++ b/etc/config/c++.amazon.properties @@ -5032,6 +5032,24 @@ libs.beman_any_view.url=https://github.com/bemanproject/any_view libs.beman_any_view.versions.trunk.version=trunk libs.beman_any_view.versions.trunk.path=/opt/compiler-explorer/libs/beman_any_view/main/include +libs.beman_cache_latest.name=beman.cache_latest +libs.beman_cache_latest.versions=trunk +libs.beman_cache_latest.url=https://github.com/bemanproject/cache_latest +libs.beman_cache_latest.versions.trunk.version=trunk +libs.beman_cache_latest.versions.trunk.path=/opt/compiler-explorer/libs/beman_cache_latest/main/include + +libs.beman_copyable_function.name=beman.copyable_function +libs.beman_copyable_function.versions=trunk +libs.beman_copyable_function.url=https://github.com/bemanproject/copyable_function +libs.beman_copyable_function.versions.trunk.version=trunk +libs.beman_copyable_function.versions.trunk.path=/opt/compiler-explorer/libs/beman_copyable_function/main/include + +libs.beman_cstring_view.name=beman.cstring_view +libs.beman_cstring_view.versions=trunk +libs.beman_cstring_view.url=https://github.com/bemanproject/cstring_view +libs.beman_cstring_view.versions.trunk.version=trunk +libs.beman_cstring_view.versions.trunk.path=/opt/compiler-explorer/libs/beman_cstring_view/main/include + libs.beman_execution.name=beman.execution libs.beman_execution.versions=trunk libs.beman_execution.url=https://github.com/bemanproject/execution @@ -5044,6 +5062,18 @@ libs.beman_exemplar.url=https://github.com/bemanproject/exemplar libs.beman_exemplar.versions.trunk.version=trunk libs.beman_exemplar.versions.trunk.path=/opt/compiler-explorer/libs/beman_exemplar/main/include +libs.beman_indices_view.name=beman.indices_view +libs.beman_indices_view.versions=trunk +libs.beman_indices_view.url=https://github.com/bemanproject/indices_view +libs.beman_indices_view.versions.trunk.version=trunk +libs.beman_indices_view.versions.trunk.path=/opt/compiler-explorer/libs/beman_indices_view/main/include + +libs.beman_inplace_vector.name=beman.inplace_vector +libs.beman_inplace_vector.versions=trunk +libs.beman_inplace_vector.url=https://github.com/bemanproject/inplace_vector/ +libs.beman_inplace_vector.versions.trunk.version=trunk +libs.beman_inplace_vector.versions.trunk.path=/opt/compiler-explorer/libs/beman_inplace_vector/main/include + libs.beman_iterator_interface.name=beman.iterator_interface libs.beman_iterator_interface.versions=trunk libs.beman_iterator_interface.url=https://github.com/bemanproject/iterator_interface @@ -5052,11 +5082,11 @@ libs.beman_iterator_interface.staticliblink=beman.iterator_interface libs.beman_iterator_interface.versions.trunk.version=trunk libs.beman_iterator_interface.versions.trunk.lookupversion=main -libs.beman_inplace_vector.name=beman.inplace_vector -libs.beman_inplace_vector.versions=trunk -libs.beman_inplace_vector.url=https://github.com/bemanproject/inplace_vector/ -libs.beman_inplace_vector.versions.trunk.version=trunk -libs.beman_inplace_vector.versions.trunk.path=/opt/compiler-explorer/libs/beman_inplace_vector/main/include +libs.beman_map.name=beman.map +libs.beman_map.versions=trunk +libs.beman_map.url=https://github.com/bemanproject/map +libs.beman_map.versions.trunk.version=trunk +libs.beman_map.versions.trunk.path=/opt/compiler-explorer/libs/beman_map/main/include libs.beman_net.name=beman.net libs.beman_net.versions=trunk @@ -5070,18 +5100,54 @@ libs.beman_optional.url=https://github.com/bemanproject/optional libs.beman_optional.versions.trunk.version=trunk libs.beman_optional.versions.trunk.path=/opt/compiler-explorer/libs/beman_optional/main/include +libs.beman_scan_view.name=beman.scan_view +libs.beman_scan_view.versions=trunk +libs.beman_scan_view.url=https://github.com/bemanproject/scan_view +libs.beman_scan_view.versions.trunk.version=trunk +libs.beman_scan_view.versions.trunk.path=/opt/compiler-explorer/libs/beman_scan_view/main/include + libs.beman_scope.name=beman.scope libs.beman_scope.versions=trunk libs.beman_scope.url=https://github.com/bemanproject/scope libs.beman_scope.versions.trunk.version=trunk libs.beman_scope.versions.trunk.path=/opt/compiler-explorer/libs/beman_scope/main/include +libs.beman_span.name=beman.span +libs.beman_span.versions=trunk +libs.beman_span.url=https://github.com/bemanproject/span +libs.beman_span.versions.trunk.version=trunk +libs.beman_span.versions.trunk.path=/opt/compiler-explorer/libs/beman_span/main/include + +libs.beman_take_before.name=beman.take_before +libs.beman_take_before.versions=trunk +libs.beman_take_before.url=https://github.com/bemanproject/take_before +libs.beman_take_before.versions.trunk.version=trunk +libs.beman_take_before.versions.trunk.path=/opt/compiler-explorer/libs/beman_take_before/main/include + libs.beman_task.name=beman.task libs.beman_task.versions=trunk libs.beman_task.url=https://github.com/bemanproject/task libs.beman_task.versions.trunk.version=trunk libs.beman_task.versions.trunk.path=/opt/compiler-explorer/libs/beman_task/main/include +libs.beman_timed_lock_alg.name=beman.timed_lock_alg +libs.beman_timed_lock_alg.versions=trunk +libs.beman_timed_lock_alg.url=https://github.com/bemanproject/timed_lock_alg +libs.beman_timed_lock_alg.versions.trunk.version=trunk +libs.beman_timed_lock_alg.versions.trunk.path=/opt/compiler-explorer/libs/beman_timed_lock_alg/main/include + +libs.beman_transform_view.name=beman.transform_view +libs.beman_transform_view.versions=trunk +libs.beman_transform_view.url=https://github.com/bemanproject/transform_view +libs.beman_transform_view.versions.trunk.version=trunk +libs.beman_transform_view.versions.trunk.path=/opt/compiler-explorer/libs/beman_transform_view/main/include + +libs.beman_utf_view.name=beman.utf_view +libs.beman_utf_view.versions=trunk +libs.beman_utf_view.url=https://github.com/bemanproject/utf_view +libs.beman_utf_view.versions.trunk.version=trunk +libs.beman_utf_view.versions.trunk.path=/opt/compiler-explorer/libs/beman_utf_view/main/include + libs.benchmark.name=Google Benchmark libs.benchmark.versions=trunk:120:130:140:141:150:161:162 libs.benchmark.url=https://github.com/google/benchmark