Merge branch 'main' into upstream-mcp

This commit is contained in:
Matt Godbolt
2026-05-02 08:38:25 -05:00
committed by GitHub
66 changed files with 1826 additions and 519 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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
@@ -133,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
@@ -161,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
@@ -205,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
@@ -273,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
@@ -344,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
@@ -421,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
@@ -499,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
@@ -507,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
@@ -582,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
@@ -660,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
@@ -669,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
@@ -743,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
@@ -757,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
@@ -831,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
@@ -909,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
@@ -985,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
@@ -1047,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
@@ -1076,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
#################################
#################################

View File

@@ -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

View File

@@ -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

View File

@@ -1,8 +1,8 @@
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.
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
@@ -533,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_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
@@ -621,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 <a href="https://brevzin.github.io/cpp_proposals/3951_string_interpolation/p3951r0.html" target="_blank" rel="noopener noreferrer">P3951<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
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 <a href="https://github.com/brevzin/llvm-project/tree/compiler-explorer/barry" target="_blank" rel="noopener noreferrer">github<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
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 <a href="https://wg21.link/P1061" target="_blank" rel="noopener noreferrer">P1061<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
@@ -645,10 +653,16 @@ compiler.clang_embed.semver=(std::embed)
compiler.clang_embed.options=-std=c++2a -stdlib=libc++
compiler.clang_embed.notification=Experimental <code>std::embed</code> Support; see <a href="https://github.com/ThePhD/embed" target="_blank" rel="noopener noreferrer">github<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
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 <a href="https://thephd.dev/portfolio/standard" target="_blank" rel="noopener noreferrer">github<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a> 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 <a href="https://thephd.dev/portfolio/standard" target="_blank" rel="noopener noreferrer">github<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a> 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 <a href="https://thephd.dev/portfolio/standard" target="_blank" rel="noopener noreferrer">github<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a> 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++
@@ -1780,7 +1794,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 +1845,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 +1873,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 +1899,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 +1958,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 +1996,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 +2011,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 +2080,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 +2160,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 +2242,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 +2258,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 +2327,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 +2340,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 +2407,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 +2420,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 +2497,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 +2510,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 +2586,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 +2599,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 +2679,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 +2772,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 +2797,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 +2886,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 +2919,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 +3038,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 +3091,12 @@ 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.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++
compiler.armce820.name=ARM gcc 8.2 (WinCE)
@@ -3074,7 +3164,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 +3293,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 +3508,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 +3615,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 +3807,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 +3906,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 +4008,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 +4106,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 +4205,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 +4245,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 +4351,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 +4364,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 +4469,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)
@@ -4545,7 +4675,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 +4824,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
@@ -4701,7 +4837,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 +4848,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
@@ -4826,6 +4964,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
@@ -4875,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
@@ -4887,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
@@ -4895,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
@@ -4913,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
@@ -6248,23 +6471,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
@@ -6351,7 +6575,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
@@ -6366,6 +6590,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

View File

@@ -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

View File

@@ -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
defaultCompiler=cg152
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=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)
@@ -262,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
@@ -421,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 <a href="https://thephd.dev/portfolio/standard" target="_blank" rel="noopener noreferrer">github<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a> 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
@@ -435,7 +446,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 +517,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
@@ -1261,7 +1278,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
@@ -1313,6 +1330,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
@@ -1342,7 +1364,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
@@ -1368,6 +1390,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)
@@ -1408,7 +1435,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
@@ -1460,13 +1487,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
@@ -1535,13 +1567,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
@@ -1610,13 +1647,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
@@ -1687,6 +1729,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
@@ -1698,7 +1745,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
@@ -1767,13 +1814,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
@@ -1842,13 +1894,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
@@ -1927,13 +1984,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
@@ -2010,6 +2072,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
@@ -2017,7 +2084,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
@@ -2097,8 +2164,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
@@ -2184,6 +2256,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
@@ -2199,7 +2276,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
@@ -2289,6 +2366,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
@@ -2316,7 +2398,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
@@ -2422,6 +2504,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)
@@ -2470,6 +2557,12 @@ 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.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
compiler.carmce820.semver=8.2.0 (WinCE)
@@ -2518,7 +2611,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
@@ -2645,6 +2738,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
@@ -2922,7 +3020,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
@@ -3027,6 +3125,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
@@ -3208,7 +3311,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
@@ -3308,10 +3411,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
@@ -3405,10 +3513,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
@@ -3498,10 +3611,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
@@ -3591,6 +3709,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
@@ -3627,7 +3750,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
@@ -3733,6 +3856,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)
@@ -3741,7 +3869,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
@@ -3847,6 +3975,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)
@@ -4340,6 +4473,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
@@ -4437,23 +4589,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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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
@@ -930,6 +934,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

View File

@@ -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

View File

@@ -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

View File

@@ -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
@@ -350,7 +354,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 +421,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
@@ -442,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
@@ -467,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
@@ -539,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
@@ -611,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
@@ -690,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
@@ -762,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
@@ -839,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
@@ -916,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
@@ -1010,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
@@ -1086,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
@@ -1202,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
@@ -1303,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
@@ -1313,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
@@ -1386,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
@@ -1470,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
@@ -1478,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
@@ -1559,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
@@ -1604,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
@@ -1692,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
@@ -1783,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
@@ -1874,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
@@ -1965,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
#################################
#################################

View File

@@ -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 <a href="https://gcc.gnu.org/wiki/DavidMalcolm/StaticAnalyzer" target="_blank" rel="noopener noreferrer">GCC wiki page<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
## 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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -5,17 +5,48 @@ supportsBinary=false
compilerType=perl
versionFlag=-v
group.perl.compilers=perl589:perl5385:perl5421
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
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
compiler.perl5422.semver=5.42.2
compiler.perl5422.exe=/opt/compiler-explorer/perl-5.42.2/bin/perl
interpreted=true
supportsExecute=true

View File

@@ -1,14 +1,14 @@
compilers=&rust:&rustgcc:&mrustc:&rustccggcc
objdumper=/opt/compiler-explorer/gcc-15.2.0/bin/objdump
linker=/opt/compiler-explorer/gcc-15.2.0/bin/gcc
compilers=&rust:&rustgcc:&mrustc:&rustccggcc:&rustccgcranelift
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=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
@@ -251,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
@@ -270,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)
@@ -280,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
@@ -297,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
@@ -313,15 +320,28 @@ 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
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)

View File

@@ -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
#################################
#################################

View File

@@ -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
#################################
#################################

View File

@@ -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
#################################
#################################

View File

@@ -542,3 +542,5 @@ levels:
- Christopher Oelsner
- Luis Felipe Gomes
- Brian Tabone
- Alex Besogonov
- fourish tolod

View File

@@ -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:swift221:swift22: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
@@ -130,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)

View File

@@ -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 <a href="https://github.com/ShawnZhong/compiler-explorer-triton">here</a>.
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

View File

@@ -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 <a href="https://github.com/ShawnZhong/compiler-explorer-triton">here</a>.
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

View File

@@ -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

View File

@@ -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
#################################

View File

@@ -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
#################################
#################################

View File

@@ -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
#################################
#################################

View File

@@ -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",

View File

@@ -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]]

View File

@@ -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))

View File

@@ -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'<div><span class="opcode"><b>{op}</b> {args}</span>'
f'<br><div><b>Equivalent ASM:</b><pre>{equiv}</pre></div>'
f'<br><div><b>ISA</b>: (pseudo)</div></div>'
)
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("""
}
}

View File

@@ -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",

View File

@@ -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" },
@@ -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]]
@@ -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]]

View File

@@ -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),

View File

@@ -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"

View File

@@ -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);
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -0,0 +1,10 @@
package main
@(export)
sum_slice :: proc(array: []int) -> int {
sum := 0
for elem in array {
sum += elem
}
return sum
}

View File

@@ -6467,6 +6467,20 @@ export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInf
"url": "https://five-embeddev.github.io/riscv-docs-html/"
};
case "SGT":
return {
"html": "<div><span class=\"opcode\"><b>SGT</b> rd, rs, rt</span><br><div><b>Equivalent ASM:</b><pre>slt rd, rt, rs</pre></div><br><div><b>ISA</b>: (pseudo)</div></div>",
"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": "<div><span class=\"opcode\"><b>SGTU</b> rd, rs, rt</span><br><div><b>Equivalent ASM:</b><pre>sltu rd, rt, rs</pre></div><br><div><b>ISA</b>: (pseudo)</div></div>",
"tooltip": "Psuedo Instruction.\n\nEquivalent ASM:\n\nsltu rd, rt, rs\n\n",
"url": "https://five-embeddev.github.io/riscv-docs-html/"
};
}
}

View File

@@ -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,
};

View File

@@ -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';
@@ -143,6 +144,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';

View File

@@ -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<string>(`compiler.${this.compiler.id}.config_dir`) ||
path.resolve(path.dirname(this.compiler.exe), '../.config');
const repoDir =
this.compilerProps<string>(`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 => {

View File

@@ -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]);
}
}

View File

@@ -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,

122
lib/compilers/norcroft.ts Normal file
View File

@@ -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<string, string>},
) {
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:
// "<source>", line 11: Warning: message...
// "<source>", line 37: Error: message...
// The generic applyParse_SourceWithLine expects:
// <source>:11:1: warning: message...
// <source>: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);
}
}

View File

@@ -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);
}
}

View File

@@ -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.

View File

@@ -47,7 +47,7 @@ export class DotnetExecutionEnvironment extends LocalExecutionEnvironment {
executable: string,
executeParameters: ExecutableExecutionOptions,
homeDir: string,
extraConfiguration: any,
extraConfiguration: DotnetExtraConfiguration,
): Promise<BasicExecutionResult> {
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,

View File

@@ -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,
};
}
}

View File

@@ -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<string, OptionsHandlerLibrary>,
) {
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';

38
package-lock.json generated
View File

@@ -6956,9 +6956,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.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"
@@ -7351,9 +7351,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.30001791",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz",
"integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==",
"funding": [
{
"type": "opencollective",
@@ -9619,9 +9619,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",
@@ -11983,9 +11983,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"
},
@@ -14088,9 +14088,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": {
@@ -16613,9 +16613,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": {
@@ -16640,7 +16640,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",

View File

@@ -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: '<b><em>' + ATT_SYNTAX_WARNING + '</em></b><br><br>' + 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: '<b><em>' + ATT_SYNTAX_WARNING + '</em></b><br><br>' + data.html}),
};
}
export function determineAssemblySyntax(supportsIntel: boolean = false, intelFilterEnabled: boolean): AssemblySyntax {
return supportsIntel && !intelFilterEnabled ? 'att' : 'intel';
}

View File

@@ -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: /[=><!~?:&|+\-*/^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
escapes: /\\(?:[0abefnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
tokenizer: {
root: [
// Attributes and builtins
[/@[a-zA-Z_$]*/, 'annotation'],
[/\$[a-zA-Z_$][\w$]*/, 'keyword'],
// Highlight function calls and namespaces (prioritize colors)
[/[a-z_$][\w$]*(?=\s*\()/, 'constant'],
[/[a-z_$][\w$]*(?=\s*::)/, 'keyword'],
// u0/i0 integer types
[/[iu]\d+/, 'keyword'],
@@ -257,19 +335,18 @@ function definition(): monaco.languages.IMonarchLanguage {
/[a-z_$][\w$]*/,
{
cases: {
'@typeKeywords': 'keyword',
'@typeKeywords': 'type',
'@keywords': 'keyword',
'@default': 'identifier',
},
},
],
[/@[a-zA-Z_$]*/, 'builtin.identifier'],
[/[A-Z][\w$]*/, 'type.identifier'], // to show class names nicely
[/[A-Z][\w$]*/, 'type.identifier'],
// whitespace
{include: '@whitespace'},
[/#![^\n]*$/, 'comment'],
// delimiters and operators
[/[{}()[\]]/, '@brackets'],
@@ -295,13 +372,14 @@ function definition(): monaco.languages.IMonarchLanguage {
[/[;,.]/, 'delimiter'],
// strings
[/"([^"\\]|\\.)*$/, 'string.invalid'], // non-teminated string
[/c?\\\\.*$/, 'string'],
[/c?"/, 'string', '@string'],
[/"([^"\\]|\\.)*$/, 'string.invalid'], // non-terminated string
[/(?:c|x|b64)?\\\\.*$/, 'string'],
[/(?:c|x|b64)?"/, 'string', '@string'],
[/(?:x|b64)?`/, 'string', '@rawString'],
// characters
[/'[^\\']'/, 'string'],
[/(')(@escapes)(')/, ['string', 'string.escape', 'string']],
[/(?:x|b64)?'[^\\']*'/, 'string'],
[/(?:x|b64)?(')(@escapes)(')/, ['string', 'string.escape', 'string']],
[/'/, 'string.invalid'],
],
@@ -334,6 +412,12 @@ function definition(): monaco.languages.IMonarchLanguage {
[/\\./, 'string.escape.invalid'],
[/"/, 'string', '@pop'],
],
rawString: [
[/``/, 'string.escape'],
[/[^`]+/, 'string'],
[/`/, 'string', '@pop'],
],
},
};
}

View File

@@ -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<monaco.editor.IStandaloneCodeEditor, Co
);
}
// Only x86/x64 compilers (supportsIntel) can emit AT&T syntax.
// Non-x86 architectures default to 'intel' so they never trigger the AT&T warning.
asmSyntax(): AssemblySyntax {
const isAtt =
this.compiler?.supportsIntel && !(this.filters.isSet('intel') && this.compiler.intelAsm.includes('intel'));
return isAtt ? 'att' : 'intel';
return determineAssemblySyntax(this.compiler?.supportsIntel, this.filters.isSet('intel'));
}
handlePopularArgumentsResult(result: Record<string, {description: string}> | null): void {

View File

@@ -179,6 +179,9 @@ export class Opt extends MonacoPane<monaco.editor.IStandaloneCodeEditor, OptStat
domNode.classList.add('view-line', 'opt-line', optType.toLowerCase());
this.editor.applyFontInfo(domNode);
domNode.innerText = displayString;
domNode.style.zIndex = '20';
domNode.style.userSelect = 'text';
domNode.oncontextmenu = e => e.stopPropagation();
// let the browser calculate the height that the text needs
domNode.style.visibility = 'hidden';

View File

@@ -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 ?? `<p>${tooltip}</p>`;
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)', '<p>Simple description</p>');
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', '<p>second operand (source)</p>');
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', '<p>Copies bar to the destination register</p>');
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',
'<p>Copies bar to the last destination register</p>',
);
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', '<p>Adds two values</p>');
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', '<p>The first operand is added</p>');
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', '<p>Copies source to destination</p>');
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', '<p>Simple description</p>');
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', '<p>The second operand is the source register</p>');
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', '<p>Copies data to the destination register</p>');
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', '<p>VBLENDVPS description</p>');
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', '<p>Description</p>');
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', '<p>The first operand is the destination</p>');
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', '<p>The first operand is the destination</p>');
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);
});
});

View File

@@ -112,6 +112,9 @@ const TEST_MATRIX: Record<PropertyKey, [string, string, string, string][]> = {
'https://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#instruction-set-reference',
],
],
riscv64: [
['SGT', 'Psuedo Instruction.', '<b>SGT</b> rd, rs, rt', 'https://five-embeddev.github.io/riscv-docs-html/'],
],
wdc65c816: [
[
'jsl',