mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 07:04:04 -05:00
@@ -81,7 +81,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- **S3 Storage Integration**: Compilation results include an `s3Key` property containing the cache key hash for S3 storage reference. Large results (>31KiB) can be stored in S3 and referenced by this key. The s3Key is removed from API responses before sending to users.
|
||||
- **Metrics & Statistics**: SQS workers track separate Prometheus metrics (`ce_sqs_compilations_total`, `ce_sqs_executions_total`, `ce_sqs_cmake_compilations_total`, `ce_sqs_cmake_executions_total`) and record compilation statistics via `statsNoter.noteCompilation` for Grafana monitoring, mirroring the regular API route behavior.
|
||||
|
||||
## CE Properties Wizard
|
||||
## Configuration Management
|
||||
|
||||
### CE Properties Wizard
|
||||
- **Location**: `/etc/scripts/ce-properties-wizard/` - Interactive tool for adding compilers to local CE installations
|
||||
- **Usage**: Run via `./run.sh` (Linux/macOS) or `.\run.ps1` (Windows) with optional compiler path and flags
|
||||
- **Auto-Detection**: Automatically detects compiler type, language, version, and configuration from executable paths
|
||||
@@ -94,6 +96,10 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- **Validation**: Integrates with `propscheck.py` and discovery validation to ensure configurations work
|
||||
- **Safe Operations**: Creates backups and preserves existing configurations, only adding new content
|
||||
|
||||
### Properties Validation
|
||||
- **Propscheck Script**: Use `python3 etc/scripts/util/propscheck.py --config-dir etc/config --check-local` to validate all property files
|
||||
- Run after modifying any `.properties` files to check for duplicates, misconfigurations, and other issues
|
||||
|
||||
## Testing Guidelines
|
||||
- Use Vitest for unit tests (compatible with Jest syntax)
|
||||
- Tests are in the `/test` directory, typically named like the source files they test
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
compilers=&nasm:&gnuas:&llvmas:&ptxas:&gnuasarm:&gnuasarm64:&gnuasriscv:&beebasm
|
||||
compilers=&nasm:&gnuas:&llvmas:&llvmasarm64:&ptxas:&gnuasarm:&gnuasarm64:&gnuasriscv:&beebasm
|
||||
compilerType=assembly
|
||||
objdumper=/opt/compiler-explorer/gcc-12.1.0/bin/objdump
|
||||
supportsBinary=true
|
||||
@@ -87,7 +87,7 @@ compiler.gnuasarm1510.name=ARM gcc 15.1 (linux)
|
||||
compiler.gnuasarm1510.semver=ARM binutils 2.45
|
||||
|
||||
|
||||
group.gnuasarm64.compilers=gnuasarm64g630:gnuasarm64g820:gnuasarm64g930:gnuasarm64g1020:gnuasarm64g1320:gnuasarm64g1510
|
||||
group.gnuasarm64.compilers=gnuasarm64g494:gnuasarm64g630:gnuasarm64g640:gnuasarm64g750:gnuasarm64g820:gnuasarm64g850:gnuasarm64g930:gnuasarm64g940:gnuasarm64g1020:gnuasarm64g1030:gnuasarm64g1100:gnuasarm64g1130:gnuasarm64g1210:gnuasarm64g1230:gnuasarm64g1310:gnuasarm64g1330:gnuasarm64g1410:gnuasarm64g1430:gnuasarm64g1510:gnuasarm64gtrunk
|
||||
group.gnuasarm64.versionFlag=--version
|
||||
group.gnuasarm64.options=-g
|
||||
group.gnuasarm64.isSemVer=true
|
||||
@@ -96,24 +96,67 @@ group.gnuasarm64.supportsExecute=false
|
||||
group.gnuasarm64.objdumper=/opt/compiler-explorer/arm64/gcc-13.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump
|
||||
group.gnuasarm64.instructionSet=aarch64
|
||||
|
||||
compiler.gnuasarm64g494.exe=/opt/compiler-explorer/arm64/gcc-4.9.4/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g494.name=AArch64 binutils 2.24
|
||||
compiler.gnuasarm64g494.semver=2.24
|
||||
compiler.gnuasarm64g630.exe=/opt/compiler-explorer/arm64/gcc-6.3.0/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-as
|
||||
compiler.gnuasarm64g630.name=AArch64 binutils 2.28
|
||||
compiler.gnuasarm64g630.semver=2.28
|
||||
compiler.gnuasarm64g640.exe=/opt/compiler-explorer/arm64/gcc-6.4.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g640.name=AArch64 binutils 2.29
|
||||
compiler.gnuasarm64g640.semver=2.29
|
||||
compiler.gnuasarm64g750.exe=/opt/compiler-explorer/arm64/gcc-7.5.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g750.name=AArch64 binutils 2.30
|
||||
compiler.gnuasarm64g750.semver=2.30
|
||||
compiler.gnuasarm64g820.exe=/opt/compiler-explorer/arm64/gcc-8.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g820.name=AArch64 binutils 2.31.1
|
||||
compiler.gnuasarm64g820.semver=2.31.1
|
||||
compiler.gnuasarm64g850.exe=/opt/compiler-explorer/arm64/gcc-8.5.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g850.name=AArch64 binutils 2.32
|
||||
compiler.gnuasarm64g850.semver=2.32
|
||||
compiler.gnuasarm64g930.exe=/opt/compiler-explorer/arm64/gcc-9.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g930.name=AArch64 binutils 2.33.1
|
||||
compiler.gnuasarm64g930.semver=2.33.1
|
||||
compiler.gnuasarm64g940.exe=/opt/compiler-explorer/arm64/gcc-9.4.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g940.name=AArch64 binutils 2.34
|
||||
compiler.gnuasarm64g940.semver=2.34
|
||||
compiler.gnuasarm64g1020.exe=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1020.name=AArch64 binutils 2.35.1
|
||||
compiler.gnuasarm64g1020.semver=2.35.1
|
||||
compiler.gnuasarm64g1320.exe=/opt/compiler-explorer/arm64/gcc-13.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1320.name=AArch64 binutils 2.38
|
||||
compiler.gnuasarm64g1320.semver=2.38
|
||||
compiler.gnuasarm64g1030.exe=/opt/compiler-explorer/arm64/gcc-10.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1030.name=AArch64 binutils 2.35.2
|
||||
compiler.gnuasarm64g1030.semver=2.35.2
|
||||
compiler.gnuasarm64g1100.exe=/opt/compiler-explorer/arm64/gcc-11.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1100.name=AArch64 binutils 2.36.1
|
||||
compiler.gnuasarm64g1100.semver=2.36.1
|
||||
compiler.gnuasarm64g1130.exe=/opt/compiler-explorer/arm64/gcc-11.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1130.name=AArch64 binutils 2.37
|
||||
compiler.gnuasarm64g1130.semver=2.37
|
||||
compiler.gnuasarm64g1210.exe=/opt/compiler-explorer/arm64/gcc-12.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1210.name=AArch64 binutils 2.38
|
||||
compiler.gnuasarm64g1210.semver=2.38
|
||||
compiler.gnuasarm64g1230.exe=/opt/compiler-explorer/arm64/gcc-12.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1230.name=AArch64 binutils 2.39
|
||||
compiler.gnuasarm64g1230.semver=2.39
|
||||
compiler.gnuasarm64g1310.exe=/opt/compiler-explorer/arm64/gcc-13.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1310.name=AArch64 binutils 2.40
|
||||
compiler.gnuasarm64g1310.semver=2.40
|
||||
compiler.gnuasarm64g1330.exe=/opt/compiler-explorer/arm64/gcc-13.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1330.name=AArch64 binutils 2.41
|
||||
compiler.gnuasarm64g1330.semver=2.41
|
||||
compiler.gnuasarm64g1410.exe=/opt/compiler-explorer/arm64/gcc-14.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1410.name=AArch64 binutils 2.42
|
||||
compiler.gnuasarm64g1410.semver=2.42
|
||||
compiler.gnuasarm64g1430.exe=/opt/compiler-explorer/arm64/gcc-14.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1430.name=AArch64 binutils 2.43
|
||||
compiler.gnuasarm64g1430.semver=2.43
|
||||
compiler.gnuasarm64g1510.exe=/opt/compiler-explorer/arm64/gcc-15.1.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64g1510.name=AArch64 binutils 2.45
|
||||
compiler.gnuasarm64g1510.semver=2.45
|
||||
compiler.gnuasarm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-as
|
||||
compiler.gnuasarm64gtrunk.name=AArch64 binutils (trunk)
|
||||
compiler.gnuasarm64gtrunk.semver=(trunk)
|
||||
compiler.gnuasarm64gtrunk.isNightly=true
|
||||
|
||||
# GNU as for RISC-V
|
||||
group.gnuasriscv.compilers=&gnuasriscv64:&gnuasriscv32
|
||||
@@ -283,6 +326,54 @@ compiler.llvmas_assertions_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/b
|
||||
compiler.llvmas_assertions_trunk.semver=(assertions trunk)
|
||||
compiler.llvmas_assertions_trunk.isNightly=true
|
||||
|
||||
group.llvmasarm64.compilers=llvmasarm64_900:llvmasarm64_1000:llvmasarm64_1001:llvmasarm64_1100:llvmasarm64_1101:llvmasarm64_1200:llvmasarm64_1201:llvmasarm64_1300:llvmasarm64_1400:llvmasarm64_1500:llvmasarm64_1600:llvmasarm64_1701:llvmasarm64_1810:llvmasarm64_1910:llvmasarm64_2010:llvmasarm64_2110:llvmasarm64_trunk:llvmasarm64_assertions_trunk
|
||||
group.llvmasarm64.versionFlag=--version
|
||||
group.llvmasarm64.options=-triple=aarch64-linux-gnu -filetype=obj -o example.o
|
||||
group.llvmasarm64.versionRe=LLVM version .*
|
||||
group.llvmasarm64.isSemVer=true
|
||||
group.llvmasarm64.baseName=AArch64 clang
|
||||
group.llvmasarm64.instructionSet=aarch64
|
||||
compiler.llvmasarm64_900.exe=/opt/compiler-explorer/clang-9.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_900.semver=9.0.0
|
||||
compiler.llvmasarm64_1000.exe=/opt/compiler-explorer/clang-10.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1000.semver=10.0.0
|
||||
compiler.llvmasarm64_1001.exe=/opt/compiler-explorer/clang-10.0.1/bin/llvm-mc
|
||||
compiler.llvmasarm64_1001.semver=10.0.1
|
||||
compiler.llvmasarm64_1100.exe=/opt/compiler-explorer/clang-11.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1100.semver=11.0.0
|
||||
compiler.llvmasarm64_1101.exe=/opt/compiler-explorer/clang-11.0.1/bin/llvm-mc
|
||||
compiler.llvmasarm64_1101.semver=11.0.1
|
||||
compiler.llvmasarm64_1200.exe=/opt/compiler-explorer/clang-12.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1200.semver=12.0.0
|
||||
compiler.llvmasarm64_1201.exe=/opt/compiler-explorer/clang-12.0.1/bin/llvm-mc
|
||||
compiler.llvmasarm64_1201.semver=12.0.1
|
||||
compiler.llvmasarm64_1300.exe=/opt/compiler-explorer/clang-13.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1300.semver=13.0.0
|
||||
compiler.llvmasarm64_1400.exe=/opt/compiler-explorer/clang-14.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1400.semver=14.0.0
|
||||
compiler.llvmasarm64_1500.exe=/opt/compiler-explorer/clang-15.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1500.semver=15.0.0
|
||||
compiler.llvmasarm64_1600.exe=/opt/compiler-explorer/clang-16.0.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1600.semver=16.0.0
|
||||
compiler.llvmasarm64_1701.exe=/opt/compiler-explorer/clang-17.0.1/bin/llvm-mc
|
||||
compiler.llvmasarm64_1701.semver=17.0.1
|
||||
compiler.llvmasarm64_1810.exe=/opt/compiler-explorer/clang-18.1.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1810.semver=18.1.0
|
||||
compiler.llvmasarm64_1910.exe=/opt/compiler-explorer/clang-19.1.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_1910.semver=19.1.0
|
||||
compiler.llvmasarm64_2010.exe=/opt/compiler-explorer/clang-20.1.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_2010.semver=20.1.0
|
||||
compiler.llvmasarm64_2110.exe=/opt/compiler-explorer/clang-21.1.0/bin/llvm-mc
|
||||
compiler.llvmasarm64_2110.semver=21.1.0
|
||||
compiler.llvmasarm64_trunk.exe=/opt/compiler-explorer/clang-trunk/bin/llvm-mc
|
||||
compiler.llvmasarm64_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
|
||||
compiler.llvmasarm64_trunk.semver=(trunk)
|
||||
compiler.llvmasarm64_trunk.isNightly=true
|
||||
compiler.llvmasarm64_assertions_trunk.exe=/opt/compiler-explorer/clang-assertions-trunk/bin/llvm-mc
|
||||
compiler.llvmasarm64_assertions_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
|
||||
compiler.llvmasarm64_assertions_trunk.semver=(assertions trunk)
|
||||
compiler.llvmasarm64_assertions_trunk.isNightly=true
|
||||
|
||||
group.ptxas.compilers=ptxasnvcc128u1:ptxasnvcc126u2:ptxasnvcc126u1:ptxasnvcc125u1:ptxasnvcc124u1:ptxasnvcc123u1:ptxasnvcc122u1:ptxasnvcc121:ptxasnvcc120u1:ptxasnvcc120:ptxasnvcc118:ptxasnvcc117u1:ptxasnvcc117:ptxasnvcc116u2:ptxasnvcc116u1:ptxasnvcc115:ptxasnvcc114u1:ptxasnvcc114:ptxasnvcc113u1:ptxasnvcc113:ptxasnvcc112u2:ptxasnvcc112u1:ptxasnvcc112:ptxasnvcc111u1:ptxasnvcc111:ptxasnvcc11u1:ptxasnvcc11:ptxasnvcc102:ptxasnvcc101u2:ptxasnvcc101u1:ptxasnvcc101:ptxasnvcc100:ptxasnvcc92:ptxasnvcc91
|
||||
group.ptxas.baseName=PTX Assembler
|
||||
group.ptxas.compilerType=ptxas
|
||||
|
||||
Reference in New Issue
Block a user