aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/config/assembly.amazon.properties4
-rw-r--r--etc/config/c++.amazon.properties28
-rw-r--r--etc/config/c.amazon.properties29
-rw-r--r--etc/config/compiler-explorer.amazon.properties2
-rw-r--r--etc/config/cpp_for_opencl.amazon.properties11
-rw-r--r--etc/config/cppx_blue.amazon.properties1
-rw-r--r--etc/config/cppx_gold.amazon.properties2
-rw-r--r--etc/config/d.amazon.properties5
-rw-r--r--etc/config/fortran.amazon.properties4
-rw-r--r--etc/config/go.amazon.properties13
-rw-r--r--etc/config/hlsl.amazon.properties3
-rw-r--r--etc/config/ispc.amazon.properties3
-rw-r--r--etc/config/javascript.amazon.properties1
-rw-r--r--etc/config/mlir.amazon.properties1
-rw-r--r--etc/config/nim.amazon.properties1
-rw-r--r--etc/config/objc++.amazon.properties3
-rw-r--r--etc/config/objc.amazon.properties5
-rw-r--r--etc/config/rust.amazon.properties7
-rw-r--r--etc/config/swift.amazon.properties1
-rw-r--r--etc/config/zig.amazon.properties1
-rw-r--r--lib/compiler-finder.ts1
-rwxr-xr-xlib/options-handler.ts2
-rw-r--r--static/panes/compiler.ts48
-rw-r--r--static/panes/executor.ts41
-rw-r--r--static/widgets/compiler-version-info.ts112
-rw-r--r--types/compiler.interfaces.ts1
26 files changed, 249 insertions, 81 deletions
diff --git a/etc/config/assembly.amazon.properties b/etc/config/assembly.amazon.properties
index 167b6f26e..055ba2373 100644
--- a/etc/config/assembly.amazon.properties
+++ b/etc/config/assembly.amazon.properties
@@ -46,7 +46,7 @@ compiler.gnuas121.semver=2.38
compiler.gnuassnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/as
compiler.gnuassnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gnuassnapshot.semver=(trunk)
-
+compiler.gnuassnapshot.isNightly=true
group.gnuasarm.compilers=gnuasarmhfg54:gnuasarmg464:gnuasarmg630:gnuasarmg820:gnuasarm930:gnuasarm1020
group.gnuasarm.versionFlag=--version
@@ -176,9 +176,11 @@ compiler.llvmas1701.semver=17.0.1
compiler.llvmas_trunk.exe=/opt/compiler-explorer/clang-trunk/bin/llvm-mc
compiler.llvmas_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.llvmas_trunk.semver=(trunk)
+compiler.llvmas_trunk.isNightly=true
compiler.llvmas_assertions_trunk.exe=/opt/compiler-explorer/clang-assertions-trunk/bin/llvm-mc
compiler.llvmas_assertions_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.llvmas_assertions_trunk.semver=(assertions trunk)
+compiler.llvmas_assertions_trunk.isNightly=true
group.ptxas.compilers=ptxasnvcc115:ptxasnvcc114u1:ptxasnvcc114:ptxasnvcc113u1:ptxasnvcc113:ptxasnvcc112u2:ptxasnvcc112u1:ptxasnvcc112:ptxasnvcc111u1:ptxasnvcc111:ptxasnvcc11u1:ptxasnvcc11:ptxasnvcc102:ptxasnvcc101u2:ptxasnvcc101u1:ptxasnvcc101:ptxasnvcc100:ptxasnvcc92:ptxasnvcc91
group.ptxas.baseName=PTX Assembler
diff --git a/etc/config/c++.amazon.properties b/etc/config/c++.amazon.properties
index b73159816..80a5c7c0a 100644
--- a/etc/config/c++.amazon.properties
+++ b/etc/config/c++.amazon.properties
@@ -160,33 +160,39 @@ compiler.gsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/g++
compiler.gsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.gsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gsnapshot.semver=(trunk)
+compiler.gsnapshot.isNightly=true
compiler.gsnapshot.alias=g7snapshot
compiler.gcontracts-trunk.exe=/opt/compiler-explorer/gcc-lock3-contracts-trunk/bin/g++
compiler.gcontracts-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.gcontracts-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gcontracts-trunk.semver=(contracts)
+compiler.gcontracts-trunk.isNightly=true
compiler.gcontracts-trunk.notification=Experimental Contract Support; see <a href="https://github.com/lock3/gcc/wiki" target="_blank" rel="noopener noreferrer">Lock3's repository wiki<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
compiler.gcontract-labels-trunk.exe=/opt/compiler-explorer/gcc-lock3-contract-labels-trunk/bin/g++
compiler.gcontract-labels-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.gcontract-labels-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gcontract-labels-trunk.semver=(contract labels)
+compiler.gcontract-labels-trunk.isNightly=true
compiler.gcontract-labels-trunk.notification=Experimental Contract Label Support; see <a href="https://github.com/lock3/gcc/wiki" target="_blank" rel="noopener noreferrer">Lock3's repository wiki<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
compiler.gcxx-modules-trunk.exe=/opt/compiler-explorer/gcc-cxx-modules-trunk/bin/g++
compiler.gcxx-modules-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.gcxx-modules-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gcxx-modules-trunk.semver=(modules)
+compiler.gcxx-modules-trunk.isNightly=true
compiler.gcxx-modules-trunk.notification=Experimental Modules Support; see <a href="https://gcc.gnu.org/wiki/cxx-modules" target="_blank" rel="noopener noreferrer">the GCC Wiki<sup><small class="fas fa-external-link-alt opens-new-window" title="Opens in a new window"></small></sup></a>
compiler.gcxx-modules-trunk.options=-fmodules-ts
compiler.gcxx-coroutines-trunk.exe=/opt/compiler-explorer/gcc-cxx-coroutines-trunk/bin/g++
compiler.gcxx-coroutines-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.gcxx-coroutines-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gcxx-coroutines-trunk.semver=(coroutines)
+compiler.gcxx-coroutines-trunk.isNightly=true
compiler.gcxx-coroutines-trunk.notification=Experimental Coroutines Support; see <a href="https://github.com/iains/gcc-cxx-coroutines" 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.gcxx-coroutines-trunk.options=-fcoroutines
compiler.gcc-embed-trunk.exe=/opt/compiler-explorer/gcc-embed-trunk/bin/g++
compiler.gcc-embed-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.gcc-embed-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gcc-embed-trunk.semver=(std::embed)
+compiler.gcc-embed-trunk.isNightly=true
compiler.gcc-embed-trunk.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.gcc-embed-trunk.hidden=true
compiler.gcc-static-analysis-trunk.exe=/opt/compiler-explorer/gcc-static-analysis-trunk/bin/g++
@@ -194,6 +200,7 @@ compiler.gcc-static-analysis-trunk.demangler=/opt/compiler-explorer/gcc-snapshot
compiler.gcc-static-analysis-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gcc-static-analysis-trunk.options=-fanalyzer -fdiagnostics-urls=never -fdiagnostics-color=always
compiler.gcc-static-analysis-trunk.semver=(static analysis)
+compiler.gcc-static-analysis-trunk.isNightly=true
compiler.gcc-static-analysis-trunk.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>
compiler.gcc-static-analysis-trunk.hidden=true
@@ -377,6 +384,7 @@ group.clangx86trunk.groupName=Clang x86-64
group.clangx86trunk.instructionSet=amd64
group.clangx86trunk.baseName=x86-64 clang
group.clangx86trunk.isSemVer=true
+group.clangx86trunk.isNightly=true
group.clangx86trunk.compilerType=clang
group.clangx86trunk.unwiseOptions=-march=native
group.clangx86trunk.supportsPVS-Studio=true
@@ -568,6 +576,7 @@ group.clang-rocm.compilerCategories=clang
compiler.clang-rocm-trunk.exe=/opt/compiler-explorer/clang-rocm-trunk/bin/clang++
compiler.clang-rocm-trunk.semver=(amd-stg-open)
+compiler.clang-rocm-trunk.isNightly=true
compiler.clang-rocm-40502.exe=/opt/compiler-explorer/clang-rocm-4.5.2/bin/clang++
compiler.clang-rocm-40502.semver=4.5.2
compiler.clang-rocm-40502.name=x86-64 clang rocm-4.5.2
@@ -641,6 +650,7 @@ compiler.armv7-clang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang++
compiler.armv7-clang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv7-clang-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.armv7-clang-trunk.semver=(trunk)
+compiler.armv7-clang-trunk.isNightly=true
compiler.armv7-clang-trunk.options=-target arm-linux-gnueabi --gcc-toolchain=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi --sysroot=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot
################################
@@ -705,11 +715,13 @@ compiler.armv8-clang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang++
compiler.armv8-clang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8-clang-trunk.objdumper=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump
compiler.armv8-clang-trunk.semver=(trunk)
+compiler.armv8-clang-trunk.isNightly=true
compiler.armv8-clang-trunk.options=-target aarch64-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot
compiler.armv8-full-clang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang++
compiler.armv8-full-clang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8-full-clang-trunk.objdumper=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump
compiler.armv8-full-clang-trunk.semver=(trunk, all architectural features)
+compiler.armv8-full-clang-trunk.isNightly=true
# Arm v8-a with all supported architectural features
compiler.armv8-full-clang-trunk.options=-target aarch64-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot -march=armv8.8-a+crypto+profile+rng+memtag+sve2+sve2-bitperm+sve2-sm4+sve2-aes+sve2-sha3+tme+brbe+f32mm+f64mm+fp16fml+ls64+sme+sme-f64f64+sme-i16i64+sme2
# An alias of the original name for this compiler needs to be maintained to allow old URLs to continue to work
@@ -726,6 +738,7 @@ group.mosclang-trunk.supportsBinary=true
group.mosclang-trunk.supportsExecute=false
group.mosclang-trunk.compilerType=llvmmos
group.mosclang-trunk.isSemVer=true
+group.mosclang-trunk.isNightly=true
group.mosclang-trunk.objdumper=/opt/compiler-explorer/llvm-mos-trunk/bin/llvm-objdump
group.mosclang-trunk.objdumperType=llvm
group.mosclang-trunk.compilerCategories=clang
@@ -813,6 +826,7 @@ compiler.rv32-clang1701.exe=/opt/compiler-explorer/clang-17.0.1/bin/clang++
compiler.rv32-clang1701.semver=17.0.1
compiler.rv32-clang.exe=/opt/compiler-explorer/clang-trunk/bin/clang++
compiler.rv32-clang.semver=(trunk)
+compiler.rv32-clang.isNightly=true
compiler.rv32-clang.alias=rv32clang
group.rv64clang.compilers=rv64-clang:rv64-clang1701:rv64-clang1600:rv64-clang1500:rv64-clang1400:rv64-clang1301:rv64-clang1300:rv64-clang1201:rv64-clang1200:rv64-clang1101:rv64-clang1100:rv64-clang1001:rv64-clang1000:rv64-clang901:rv64-clang900
@@ -860,6 +874,7 @@ compiler.rv64-clang1701.exe=/opt/compiler-explorer/clang-17.0.1/bin/clang++
compiler.rv64-clang1701.semver=17.0.1
compiler.rv64-clang.exe=/opt/compiler-explorer/clang-trunk/bin/clang++
compiler.rv64-clang.semver=(trunk)
+compiler.rv64-clang.isNightly=true
compiler.rv64-clang.alias=rv64clang
################################
@@ -877,6 +892,7 @@ compiler.wasm32clang.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.wasm32clang.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.wasm32clang.name=WebAssembly clang (trunk)
compiler.wasm32clang.options=-target wasm32
+compiler.wasm32clang.isNightly=true
################################
# Clang for Hexagon
@@ -1124,6 +1140,8 @@ group.clangm68k.compilerCategories=clang
compiler.m68kclangtrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang++
compiler.m68kclangtrunk.semver=(trunk)
+compiler.m68kclangtrunk.isNightly=true
+
# GCC for m68k
group.gccm68k.compilers=m68kg1310:m68kg1320
@@ -1163,6 +1181,7 @@ group.clangbpf.compilerCategories=clang
compiler.bpfclangtrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang++
compiler.bpfclangtrunk.semver=(trunk)
+compiler.bpfclangtrunk.isNightly=true
compiler.bpfclang1701.exe=/opt/compiler-explorer/clang-17.0.1/bin/clang++
compiler.bpfclang1701.semver=17.0.1
@@ -1200,6 +1219,7 @@ compiler.bpfg1320.demangler=/opt/compiler-explorer/bpf/gcc-13.2.0/bpf-unknown-no
compiler.bpfgtrunk.exe=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-none-g++
compiler.bpfgtrunk.semver=trunk
+compiler.bpfgtrunk.isNightly=true
###############################
# Cross for SPARC
@@ -1529,6 +1549,7 @@ compiler.ppc64clang.name=powerpc64 clang (trunk)
compiler.ppc64clang.options=-target powerpc64
compiler.ppc64clang.supportsBinary=false
compiler.ppc64clang.semver=(snapshot)
+compiler.ppc64clang.isNightly=true
compiler.ppc64clang.licenseName=LLVM Apache 2
compiler.ppc64clang.licenseLink=https://github.com/llvm/llvm-project/blob/main/LICENSE.TXT
compiler.ppc64clang.licensePreamble=The LLVM Project is under the Apache License v2.0 with LLVM Exceptions
@@ -1588,6 +1609,7 @@ compiler.ppc64leclang.name=power64le clang (trunk)
compiler.ppc64leclang.options=-target powerpc64le
compiler.ppc64leclang.supportsBinary=false
compiler.ppc64leclang.semver=(snapshot)
+compiler.ppc64leclang.isNightly=true
compiler.ppc64leclang.licenseName=LLVM Apache 2
compiler.ppc64leclang.licenseLink=https://github.com/llvm/llvm-project/blob/main/LICENSE.TXT
compiler.ppc64leclang.licensePreamble=The LLVM Project is under the Apache License v2.0 with LLVM Exceptions
@@ -1746,6 +1768,7 @@ compiler.arm1210.semver=12.1.0
compiler.armgtrunk.exe=/opt/compiler-explorer/arm/gcc-trunk/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-g++
compiler.armgtrunk.semver=trunk
+compiler.armgtrunk.isNightly=true
# 64 bit
group.gcc64arm.groupName=Arm 64-bit GCC
@@ -1823,6 +1846,7 @@ compiler.arm64g1320.objdumper=/opt/compiler-explorer/arm64/gcc-13.2.0/aarch64-un
compiler.arm64g1320.demangler=/opt/compiler-explorer/arm64/gcc-13.2.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
###############################
# GCC Morello
@@ -2342,6 +2366,7 @@ group.mrisc32.instructionSet=mrisc32
compiler.mrisc32-gcc-trunk.exe=/opt/compiler-explorer/mrisc32-trunk/mrisc32-gnu-toolchain/bin/mrisc32-elf-g++
compiler.mrisc32-gcc-trunk.name=MRISC32 gcc (trunk)
compiler.mrisc32-gcc-trunk.semver=(trunk)
+compiler.mrisc32-gcc-trunk.isNightly=true
compiler.mrisc32-gcc-trunk.objdumper=/opt/compiler-explorer/mrisc32-trunk/mrisc32-gnu-toolchain/bin/mrisc32-elf-objdump
###############################
@@ -2418,6 +2443,7 @@ compiler.rv64-gcc1320.demangler=/opt/compiler-explorer/riscv64/gcc-13.2.0/riscv6
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)
+compiler.rv64-gcctrunk.isNightly=true
compiler.rv64-gcctrunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump
compiler.rv64-gcctrunk.demangler=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt
@@ -2485,6 +2511,7 @@ compiler.rv32-gcc1320.demangler=/opt/compiler-explorer/riscv32/gcc-13.2.0/riscv3
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)
+compiler.rv32-gcctrunk.isNightly=true
compiler.rv32-gcctrunk.objdumper=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump
compiler.rv32-gcctrunk.demangler=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt
@@ -2695,6 +2722,7 @@ compiler.zcxx0100.exe=/opt/compiler-explorer/zig-0.10.0/zig
compiler.zcxx0100.semver=0.10.0
compiler.zcxxtrunk.exe=/opt/compiler-explorer/zig-master/zig
compiler.zcxxtrunk.semver=trunk
+compiler.zcxxtrunk.isNightly=true
#################################
# C++ to 6502 via GCC AVR
diff --git a/etc/config/c.amazon.properties b/etc/config/c.amazon.properties
index a1a878f2a..ee0e9bc31 100644
--- a/etc/config/c.amazon.properties
+++ b/etc/config/c.amazon.properties
@@ -140,6 +140,7 @@ compiler.cgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gcc
compiler.cgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.cgsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.cgsnapshot.semver=(trunk)
+compiler.cgsnapshot.isNightly=true
compiler.cgstatic-analysis.hidden=true
compiler.cgstatic-analysis.exe=/opt/compiler-explorer/gcc-static-analysis-trunk/bin/gcc
@@ -294,19 +295,23 @@ compiler.cclang_trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.cclang_trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.cclang_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.cclang_trunk.semver=(trunk)
+compiler.cclang_trunk.isNightly=true
compiler.cclang_trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0
compiler.cclang_assertions_trunk.exe=/opt/compiler-explorer/clang-assertions-trunk/bin/clang
compiler.cclang_assertions_trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.cclang_assertions_trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.cclang_assertions_trunk.semver=(assertions trunk)
+compiler.cclang_assertions_trunk.isNightly=true
compiler.cclang_assertions_trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0
compiler.cclang_dang.exe=/opt/compiler-explorer/clang-dang-main/bin/clang
compiler.cclang_dang.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
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_widberg.exe=/opt/compiler-explorer/clang-widberg-main/bin/clang
compiler.cclang_widberg.semver=(widberg)
+compiler.cclang_widberg.isNightly=true
compiler.cclang_widberg.options=--gcc-toolchain=/opt/compiler-explorer/gcc-11.2.0
compiler.cclang_widberg.notification=Experimental Reverse Engineering Compiler; see <a href="https://github.com/widberg/llvm-project-widberg-extensions" 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>
@@ -527,6 +532,7 @@ compiler.armv7-cclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.armv7-cclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv7-cclang-trunk.objdumper=/opt/compiler-explorer/arm/gcc-10.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump
compiler.armv7-cclang-trunk.semver=(trunk)
+compiler.armv7-cclang-trunk.isNightly=true
# Arm v7-a with Neon and VFPv3
compiler.armv7-cclang-trunk.options=-target arm-linux-gnueabi --gcc-toolchain=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi --sysroot=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot
@@ -535,6 +541,7 @@ compiler.armv8-cclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.armv8-cclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8-cclang-trunk.objdumper=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump
compiler.armv8-cclang-trunk.semver=(trunk)
+compiler.armv8-cclang-trunk.isNightly=true
# Arm v8-a
compiler.armv8-cclang-trunk.options=-target aarch64-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot
@@ -543,6 +550,7 @@ compiler.armv8-full-cclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clan
compiler.armv8-full-cclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8-full-cclang-trunk.objdumper=/opt/compiler-explorer/arm64/gcc-10.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/bin/objdump
compiler.armv8-full-cclang-trunk.semver=(trunk allfeats)
+compiler.armv8-full-cclang-trunk.isNightly=true
# Arm v8-a with all supported architectural features
compiler.armv8-full-cclang-trunk.options=-target aarch64-none-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot -march=armv8.8-a+crypto+profile+rng+memtag+sve2+sve2-bitperm+sve2-sm4+sve2-aes+sve2-sha3+tme+brbe+f32mm+f64mm+fp16fml+ls64+sme+sme-f64f64+sme-i16i64+sme2
# An alias of the original name for this compiler needs to be maintained to
@@ -564,6 +572,7 @@ group.cmosclang-trunk.isSemVer=true
group.cmosclang-trunk.objdumper=/opt/compiler-explorer/llvm-mos-trunk/bin/llvm-objdump
group.cmosclang-trunk.objdumperType=llvm
group.cmosclang-trunk.compilerCategories=clang
+group.cmosclang-trunk.isNightly=true
compiler.cmos-nes-cnrom-trunk.exe=/opt/compiler-explorer/llvm-mos-trunk/bin/mos-nes-cnrom-clang
compiler.cmos-nes-cnrom-trunk.semver=nes-cnrom
@@ -654,6 +663,7 @@ compiler.rv32-cclang1701.semver=17.0.1
compiler.rv32-cclang.alias=rv32cclang
compiler.rv32-cclang.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.rv32-cclang.semver=(trunk)
+compiler.rv32-cclang.isNightly=true
group.rv64cclang.compilers=rv64-cclang:rv64-cclang1701:rv64-cclang1600:rv64-cclang1500:rv64-cclang1400:rv64-cclang1301:rv64-cclang1300:rv64-cclang1200:rv64-cclang1201:rv64-cclang1101:rv64-cclang1100:rv64-cclang1001:rv64-cclang1000:rv64-cclang901:rv64-cclang900
group.rv64cclang.options=-target riscv64-unknown-linux-gnu -march=rv64gc -mabi=lp64d --gcc-toolchain=/opt/compiler-explorer/riscv64/gcc-8.2.0/riscv64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/riscv64/gcc-8.2.0/riscv64-unknown-linux-gnu/riscv64-unknown-linux-gnu/sysroot
@@ -701,6 +711,7 @@ compiler.rv64-cclang1701.semver=17.0.1
compiler.rv64-cclang.alias=rv64cclang
compiler.rv64-cclang.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.rv64-cclang.semver=(trunk)
+compiler.rv64-cclang.isNightly=true
#########################
# Clang for WebAssembly
@@ -716,6 +727,7 @@ group.wasmcclang.compilerCategories=clang
compiler.wasm32cclang.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.wasm32cclang.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.wasm32cclang.name=WebAssembly clang (trunk)
+compiler.wasm32cclang.isNightly=true
compiler.wasm32cclang.options=-target wasm32
# ppci for various architectures
@@ -943,6 +955,7 @@ group.cclangbpf.compilerCategories=clang
compiler.cbpfclangtrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.cbpfclangtrunk.semver=(trunk)
+compiler.cbpfclangtrunk.isNightly=true
compiler.cbpfclang1701.exe=/opt/compiler-explorer/clang-17.0.1/bin/clang
compiler.cbpfclang1701.semver=17.0.1
@@ -980,6 +993,7 @@ compiler.cbpfg1320.demangler=/opt/compiler-explorer/bpf/gcc-13.2.0/bpf-unknown-n
compiler.cbpfgtrunk.exe=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-gcc
compiler.cbpfgtrunk.semver=trunk
+compiler.cbpfgtrunk.isNightly=true
compiler.cbpfgtrunk.objdumper=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-objdump
compiler.cbpfgtrunk.demangler=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-none-c++filt
@@ -1002,6 +1016,7 @@ group.cclangm68k.objdumperType=llvm
compiler.cm68kclangtrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.cm68kclangtrunk.semver=(trunk)
+compiler.cm68kclangtrunk.isNightly=true
# GCC for m68k
group.cgccm68k.compilers=cm68kg1310:cm68kg1320
@@ -1347,6 +1362,7 @@ compiler.cppc64clang.name=powerpc64 clang (trunk)
compiler.cppc64clang.options=-target powerpc64
compiler.cppc64clang.supportsBinary=false
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
@@ -1402,6 +1418,7 @@ compiler.cppc64leclang.name=power64le clang (trunk)
compiler.cppc64leclang.options=-target powerpc64le
compiler.cppc64leclang.supportsBinary=false
compiler.cppc64leclang.semver=(snapshot)
+compiler.cppc64leclang.isNightly=true
compiler.cppc64leclang.compilerCategories=clang
###############################
@@ -1526,6 +1543,7 @@ compiler.carm1210.objdumper=/opt/compiler-explorer/arm/gcc-12.1.0/arm-unknown-li
compiler.carm1210.semver=12.1.0 (linux)
compiler.carmgtrunk.exe=/opt/compiler-explorer/arm/gcc-trunk/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc
compiler.carmgtrunk.semver=trunk (linux)
+compiler.carmgtrunk.isNightly=true
# 64 bit
group.cgcc64arm.groupName=ARM64 gcc
@@ -1604,6 +1622,7 @@ compiler.carm64g1320.demangler=/opt/compiler-explorer/arm64/gcc-13.2.0/aarch64-u
compiler.carm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc
compiler.carm64gtrunk.semver=trunk
+compiler.carm64gtrunk.isNightly=true
# GCC Morello
group.cgcc64marm.groupName=ARM64 Morello GCC
@@ -2148,6 +2167,7 @@ compiler.cmrisc32-gcc-trunk.name=MRISC32 gcc (trunk)
compiler.cmrisc32-gcc-trunk.semver=(trunk)
compiler.cmrisc32-gcc-trunk.objdumper=/opt/compiler-explorer/mrisc32-trunk/mrisc32-gnu-toolchain/bin/mrisc32-elf-objdump
compiler.cmrisc32-gcc-trunk.instructionSet=mrisc32
+compiler.cmrisc32-gcc-trunk.isNightly=true
###############################
# GCC for RISC-V
@@ -2225,6 +2245,7 @@ compiler.rv64-cgcctrunk.exe=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unk
compiler.rv64-cgcctrunk.semver=(trunk)
compiler.rv64-cgcctrunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump
compiler.rv64-cgcctrunk.demangler=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt
+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
@@ -2290,6 +2311,7 @@ compiler.rv32-cgcc1320.demangler=/opt/compiler-explorer/riscv32/gcc-13.2.0/riscv
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)
+compiler.rv32-cgcctrunk.isNightly=true
compiler.rv32-cgcctrunk.objdumper=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump
compiler.rv32-cgcctrunk.demangler=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt
@@ -2465,6 +2487,7 @@ group.cc65.licenseName=zlib License
compiler.cc65_trunk.name=6502 cc65 trunk
compiler.cc65_trunk.exe=/opt/compiler-explorer/6502/cc65-trunk/bin/cl65
compiler.cc65_trunk.semver=trunk
+compiler.cc65_trunk.isNightly=true
compiler.cc65_trunk.options=-I/opt/compiler-explorer/6502/cc65-trunk/share/cc65/include --asm-include-dir /opt/compiler-explorer/6502/cc65-trunk/share/cc65/asminc --cfg-path /opt/compiler-explorer/6502/cc65-trunk/share/cc65/cfg
compiler.cc65_217.name=6502 cc65 2.17
compiler.cc65_217.exe=/opt/compiler-explorer/6502/cc65-2.17/bin/cl65
@@ -2531,6 +2554,7 @@ group.ctendrax86.supportsBinary=false
compiler.ctendrax86trunk.exe=/opt/compiler-explorer/tendra-trunk/bin/tcc
compiler.ctendrax86trunk.semver=(trunk)
+compiler.ctendrax86trunk.isNightly=true
#################################
@@ -2548,6 +2572,7 @@ group.tinycc.licenseName=GNU LESSER GENERAL PUBLIC LICENSE Version 2.1
compiler.tinycctrunk.exe=/opt/compiler-explorer/tinycc-trunk/bin/tcc
compiler.tinycctrunk.semver=(trunk)
+compiler.tinycctrunk.isNightly=true
compiler.tinycc0927.exe=/opt/compiler-explorer/tinycc-0.9.27/bin/tcc
compiler.tinycc0927.semver=0.9.27
@@ -2581,6 +2606,7 @@ compiler.zcc0100.exe=/opt/compiler-explorer/zig-0.10.0/zig
compiler.zcc0100.semver=0.10.0
compiler.zcctrunk.exe=/opt/compiler-explorer/zig-master/zig
compiler.zcctrunk.semver=trunk
+compiler.zcctrunk.isNightly=true
################################
# cproc x86 compiler
@@ -2605,6 +2631,7 @@ compiler.chibicc-trunk.name=Chibicc 2020-12-07
compiler.chibicc-trunk.exe=/opt/compiler-explorer/chibicc-main/chibicc
compiler.chibicc-trunk.semver=(trunk)
compiler.chibicc-trunk.explicitVersion=90d1f7f199cc55b13c7fdb5839d1409806633fdb
+compiler.chibicc-trunk.isNightly=true
################################
@@ -2660,6 +2687,7 @@ group.movfuscator.compilerType=movfuscator
compiler.movfuscatortrunk.exe=/opt/compiler-explorer/movfuscator-trunk/build/lcc
compiler.movfuscatortrunk.semver=(trunk)
compiler.movfuscatortrunk.name=movfuscator (trunk)
+compiler.movfuscatortrunk.isNightly=true
#################################
# LC3 compiler
@@ -2667,6 +2695,7 @@ group.lc3.compilers=lc3-trunk
group.lc3.groupName=LC3
compiler.lc3-trunk.name=LC3 (trunk)
compiler.lc3-trunk.exe=/opt/compiler-explorer/C-LC3-Compiler-trunk/lc3-compile
+compiler.lc3-trunk.isNightly=true
#################################
#################################
diff --git a/etc/config/compiler-explorer.amazon.properties b/etc/config/compiler-explorer.amazon.properties
index 1fae96525..dbc3c97c7 100644
--- a/etc/config/compiler-explorer.amazon.properties
+++ b/etc/config/compiler-explorer.amazon.properties
@@ -70,3 +70,5 @@ statusTrackingEnabled=true
# We have cloudfront set up to time out POSTs after 60s. We should abandon any queued compilations after that, as they
# will just clog up the queue and make this node appear unhealthy; and the client's already gone away by now.
compilationStaleAfterMs=60000
+
+compilerVersionsUrl=https://api.compiler-explorer.com/get_deployed_exe_version
diff --git a/etc/config/cpp_for_opencl.amazon.properties b/etc/config/cpp_for_opencl.amazon.properties
index 6ab941400..3ed355c7c 100644
--- a/etc/config/cpp_for_opencl.amazon.properties
+++ b/etc/config/cpp_for_opencl.amazon.properties
@@ -140,6 +140,7 @@ compiler.armv7-cpp4oclclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/cla
compiler.armv7-cpp4oclclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv7-cpp4oclclang-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.armv7-cpp4oclclang-trunk.semver=(trunk)
+compiler.armv7-cpp4oclclang-trunk.isNightly=true
# Arm v7-a with Neon and VFPv3
compiler.armv7-cpp4oclclang-trunk.options=-target arm-linux-gnueabi --gcc-toolchain=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi --sysroot=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot
@@ -148,6 +149,7 @@ compiler.armv7-cpp4oclclang-trunk-assertions.exe=/opt/compiler-explorer/clang-as
compiler.armv7-cpp4oclclang-trunk-assertions.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv7-cpp4oclclang-trunk-assertions.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.armv7-cpp4oclclang-trunk-assertions.semver=(assertions trunk)
+compiler.armv7-cpp4oclclang-trunk-assertions.isNightly=true
# Arm v7-a with Neon and VFPv3
compiler.armv7-cpp4oclclang-trunk-assertions.options=-target arm-linux-gnueabi --gcc-toolchain=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi --sysroot=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot
@@ -156,6 +158,7 @@ compiler.armv8-cpp4oclclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/cla
compiler.armv8-cpp4oclclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8-cpp4oclclang-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.armv8-cpp4oclclang-trunk.semver=(trunk)
+compiler.armv8-cpp4oclclang-trunk.isNightly=true
# Arm v8-a
compiler.armv8-cpp4oclclang-trunk.options=-target aarch64-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot
@@ -164,6 +167,7 @@ compiler.armv8-cpp4oclclang-trunk-assertions.exe=/opt/compiler-explorer/clang-as
compiler.armv8-cpp4oclclang-trunk-assertions.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8-cpp4oclclang-trunk-assertions.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.armv8-cpp4oclclang-trunk-assertions.semver=(assertions trunk)
+compiler.armv8-cpp4oclclang-trunk-assertions.isNightly=true
# Arm v8-a
compiler.armv8-cpp4oclclang-trunk-assertions.options=-target aarch64-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot
@@ -172,6 +176,7 @@ compiler.armv8-full-cpp4oclclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bi
compiler.armv8-full-cpp4oclclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8-full-cpp4oclclang-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.armv8-full-cpp4oclclang-trunk.semver=(trunk allfeats)
+compiler.armv8-full-cpp4oclclang-trunk.isNightly=true
# Arm v8-a with all supported architectural features
compiler.armv8-full-cpp4oclclang-trunk.options=-target aarch64-none-linux-gnu --gcc-toolchain=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu --sysroot=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot -march=armv8.8-a+crypto+profile+rng+memtag+sve2+sve2-bitperm+sve2-sm4+sve2-aes+sve2-sha3+tme+brbe+f32mm+f64mm+fp16fml+ls64+sme+sme-f64f64+sme-i16i64+sme2
@@ -201,6 +206,7 @@ compiler.spirv32-cpp4oclclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/c
compiler.spirv32-cpp4oclclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.spirv32-cpp4oclclang-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.spirv32-cpp4oclclang-trunk.semver=(trunk)
+compiler.spirv32-cpp4oclclang-trunk.isNightly=true
compiler.spirv32-cpp4oclclang-trunk-assertions.alias=armv7-cpp4oclclang-trunk-assertions-spir
compiler.spirv32-cpp4oclclang-trunk-assertions.name=clang & llvm-spirv (trunk, assertions)
@@ -208,6 +214,7 @@ compiler.spirv32-cpp4oclclang-trunk-assertions.exe=/opt/compiler-explorer/clang-
compiler.spirv32-cpp4oclclang-trunk-assertions.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.spirv32-cpp4oclclang-trunk-assertions.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.spirv32-cpp4oclclang-trunk-assertions.semver=(assertions trunk)
+compiler.spirv32-cpp4oclclang-trunk-assertions.isNightly=true
# 64 bits
compiler.spirv64-cpp4oclclang-trunk.alias=armv8-cpp4oclclang-trunk-spir64
@@ -216,6 +223,7 @@ compiler.spirv64-cpp4oclclang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/c
compiler.spirv64-cpp4oclclang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.spirv64-cpp4oclclang-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.spirv64-cpp4oclclang-trunk.semver=(trunk)
+compiler.spirv64-cpp4oclclang-trunk.isNightly=true
compiler.spirv64-cpp4oclclang-trunk-assertions.alias=armv8-cpp4oclclang-trunk-assertions-spir64
compiler.spirv64-cpp4oclclang-trunk-assertions.name=clang & llvm-spirv (trunk, assertions)
@@ -223,6 +231,7 @@ compiler.spirv64-cpp4oclclang-trunk-assertions.exe=/opt/compiler-explorer/clang-
compiler.spirv64-cpp4oclclang-trunk-assertions.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.spirv64-cpp4oclclang-trunk-assertions.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.spirv64-cpp4oclclang-trunk-assertions.semver=(assertions trunk)
+compiler.spirv64-cpp4oclclang-trunk-assertions.isNightly=true
# Google clspv
group.cpp4oclgoogleclspv.compilers=cpp4oclclspv:cpp4oclclvk
@@ -232,11 +241,13 @@ group.cpp4oclgoogleclspv.baseOptions=-cl-std=CLC++ -inline-entry-points
compiler.cpp4oclclspv.exe=/opt/compiler-explorer/clspv-main/bin/clspv
compiler.cpp4oclclspv.name=clspv (trunk)
+compiler.cpp4oclclspv.isNightly=true
# clvk-like usage of clspv
compiler.cpp4oclclvk.exe=/opt/compiler-explorer/clspv-main/bin/clspv
compiler.cpp4oclclvk.name=clvk-like (based on clspv trunk)
compiler.cpp4oclclvk.options=-cl-single-precision-constant -cl-kernel-arg-info -fp64=0 -int8 -std430-ubo-layout -spv-version=1.5 -max-pushconstant-size=128 -max-ubo-size=134217728 -global-offset -long-vector -module-constants-in-storage-buffer -cl-arm-non-uniform-work-group-size
+compiler.cpp4oclclvk.isNightly=true
#################################
diff --git a/etc/config/cppx_blue.amazon.properties b/etc/config/cppx_blue.amazon.properties
index 3fa27e256..d42ac972e 100644
--- a/etc/config/cppx_blue.amazon.properties
+++ b/etc/config/cppx_blue.amazon.properties
@@ -9,6 +9,7 @@ group.cppx_blue.compilers=cppx_blue_trunk
compiler.cppx_blue_trunk.exe=/opt/compiler-explorer/clang-cppx-ext-trunk/bin/clang++
compiler.cppx_blue_trunk.name=Latest trunk
compiler.cppx_blue_trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -Xclang -freflection -I/opt/compiler-explorer/clang-cppx-trunk/include
+compiler.cppx_blue_trunk.isNightly=true
#################################
diff --git a/etc/config/cppx_gold.amazon.properties b/etc/config/cppx_gold.amazon.properties
index c4488a4b7..2fbda54d2 100644
--- a/etc/config/cppx_gold.amazon.properties
+++ b/etc/config/cppx_gold.amazon.properties
@@ -9,6 +9,8 @@ group.cppx_gold.compilers=cppx_gold_trunk
compiler.cppx_gold_trunk.exe=/opt/compiler-explorer/clang-cppx-ext-trunk/bin/clang++
compiler.cppx_gold_trunk.name=Latest trunk
compiler.cppx_gold_trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-snapshot
+compiler.cppx_gold_trunk.isNightly=true
+
#################################
#################################
diff --git a/etc/config/d.amazon.properties b/etc/config/d.amazon.properties
index 9907090f3..815f7363a 100644
--- a/etc/config/d.amazon.properties
+++ b/etc/config/d.amazon.properties
@@ -52,6 +52,7 @@ compiler.gdc132.semver=13.2
compiler.gdctrunk.exe=/opt/compiler-explorer/gcc-snapshot/bin/gdc
compiler.gdctrunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gdctrunk.semver=(trunk)
+compiler.gdctrunk.isNightly=true
## CROSS GDC
group.gdccross.compilers=&gdcs390x:&gdcppc:&gdcppc64:&gdcppc64le:&gdcmips64:&gdcmips:&gdcmipsel:&gdcarm:&gdcarm64:&gdcriscv:&gdcriscv64
@@ -122,6 +123,7 @@ compiler.gdcriscv64trunk.exe=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-un
compiler.gdcriscv64trunk.semver=trunk
compiler.gdcriscv64trunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump
compiler.gdcriscv64trunk.demangler=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt
+compiler.gdcriscv64trunk.isNightly=true
### GDC for ARM64
group.gdcarm64.compilers=gdcarm641220:gdcarm641230:gdcarm641310:gdcarm641320
@@ -493,9 +495,11 @@ compiler.ldc1_34.options=-gcc=gcc
compiler.ldcbeta.exe=/opt/compiler-explorer/ldcbeta/bin/ldc2
compiler.ldcbeta.semver=beta
compiler.ldcbeta.options=-gcc=gcc
+compiler.ldcbeta.isNightly=true
compiler.ldclatestci.exe=/opt/compiler-explorer/ldc-latest-ci/ldc/bin/ldc2
compiler.ldclatestci.semver=latest CI
compiler.ldclatestci.options=-gcc=gcc
+compiler.ldclatestci.isNightly=true
group.dmd.compilers=dmd20783:dmd20790:dmd20791:dmd20801:dmd20812:dmd20820:dmd20890:dmd20920:dmd20942:dmd2nightly
group.dmd.options=-c
@@ -527,6 +531,7 @@ compiler.dmd20942.exe=/opt/compiler-explorer/dmd-2.094.2/dmd2/linux/bin64/dmd
compiler.dmd20942.semver=2.094.2
compiler.dmd2nightly.exe=/opt/compiler-explorer/dmd2-nightly/dmd2/linux/bin64/dmd
compiler.dmd2nightly.semver=nightly
+compiler.dmd2nightly.isNightly=true
#################################
diff --git a/etc/config/fortran.amazon.properties b/etc/config/fortran.amazon.properties
index d1aa05356..33ec7d9f4 100644
--- a/etc/config/fortran.amazon.properties
+++ b/etc/config/fortran.amazon.properties
@@ -73,6 +73,7 @@ compiler.gfortransnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gfortran
compiler.gfortransnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.gfortransnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.gfortransnapshot.semver=(trunk)
+compiler.gfortransnapshot.isNightly=true
###############################
# Intel Parallel Studio XE for x86
@@ -502,12 +503,14 @@ compiler.flangtrunk.exe=/opt/compiler-explorer/clang-llvmflang-trunk/bin/flang
compiler.flangtrunk.name=flang-trunk (old)
compiler.flangtrunk.gfortranPath=/opt/compiler-explorer/gcc-snapshot/bin
compiler.flangtrunk.ldPath=${exePath}/../lib|${exePath}/../lib32|${exePath}/../lib64|/opt/compiler-explorer/gcc-snapshot/lib|/opt/compiler-explorer/gcc-snapshot/lib32|/opt/compiler-explorer/gcc-snapshot/lib64
+compiler.flangtrunk.isNightly=true
compiler.flangtrunknew.exe=/opt/compiler-explorer/clang-llvmflang-trunk/bin/flang-new
compiler.flangtrunknew.name=flang-trunk (flang-new)
compiler.flangtrunknew.gfortranPath=/opt/compiler-explorer/gcc-snapshot/bin
compiler.flangtrunknew.ldPath=${exePath}/../lib|${exePath}/../lib32|${exePath}/../lib64|/opt/compiler-explorer/gcc-snapshot/lib|/opt/compiler-explorer/gcc-snapshot/lib32|/opt/compiler-explorer/gcc-snapshot/lib64
compiler.flangtrunknew.supportsBinary=false
+compiler.flangtrunknew.isNightly=true
###############################
# GCC for ARM 64bit
@@ -698,6 +701,7 @@ compiler.frv64g1210.objdumper=/opt/compiler-explorer/riscv64/gcc-12.1.0/riscv64-
compiler.frv64gtrunk.exe=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gfortran
compiler.frv64gtrunk.semver=(trunk)
+compiler.frv64gtrunk.isNightly=true
compiler.frv64gtrunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump
################################
diff --git a/etc/config/go.amazon.properties b/etc/config/go.amazon.properties
index bc4624639..4d7bf3c00 100644
--- a/etc/config/go.amazon.properties
+++ b/etc/config/go.amazon.properties
@@ -115,6 +115,7 @@ compiler.gl1210.semver=1.21
compiler.gl1210.goroot=/opt/compiler-explorer/golang-1.21.0/go
compiler.gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.gltip.semver=(tip)
+compiler.gltip.isNightly=true
compiler.gltip.goroot=/opt/compiler-explorer/go-tip
group.386gl.compilers=386_gl114:386_gl115:386_gl116:386_gl117:386_gl118:386_gl119:386_gl120:386_gl121:386_gltip
@@ -140,6 +141,7 @@ compiler.386_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.386_gl121.semver=1.21
compiler.386_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.386_gltip.semver=(tip)
+compiler.386_gltip.isNightly=true
###### ARM GC ######
@@ -169,6 +171,7 @@ compiler.arm_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.arm_gl121.semver=1.21
compiler.arm_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.arm_gltip.semver=(tip)
+compiler.arm_gltip.isNightly=true
group.arm64gl.compilers=arm64_gl114:arm64_gl115:arm64_gl116:arm64_gl117:arm64_gl118:arm64_gl119:arm64_gl120:arm64_gl121:arm64_gltip
group.arm64gl.groupName=ARM64 GC
@@ -193,6 +196,7 @@ compiler.arm64_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.arm64_gl121.semver=1.21
compiler.arm64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.arm64_gltip.semver=(tip)
+compiler.arm64_gltip.isNightly=true
###### MIPS GC ######
@@ -224,6 +228,7 @@ compiler.mipsle_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.mipsle_gl121.semver=1.21
compiler.mipsle_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.mipsle_gltip.semver=(tip)
+compiler.mipsle_gltip.isNightly=true
group.mips32begl.compilers=mips_gl114:mips_gl115:mips_gl116:mips_gl117:mips_gl118:mips_gl119:mips_gl120:mips_gl121:mips_gltip
group.mips32begl.goarch=mips
@@ -248,6 +253,7 @@ compiler.mips_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.mips_gl121.semver=1.21
compiler.mips_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.mips_gltip.semver=(tip)
+compiler.mips_gltip.isNightly=true
group.mips64gl.compilers=&mips64legl:&mips64begl
@@ -274,6 +280,7 @@ compiler.mips64_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.mips64_gl121.semver=1.21
compiler.mips64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.mips64_gltip.semver=(tip)
+compiler.mips64_gltip.isNightly=true
group.mips64legl.compilers=mips64le_gl114:mips64le_gl115:mips64le_gl116:mips64le_gl117:mips64le_gl118:mips64le_gl119:mips64le_gl120:mips64le_gl121:mips64le_gltip
@@ -300,6 +307,7 @@ compiler.mips64le_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.mips64le_gl121.semver=1.21
compiler.mips64le_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.mips64le_gltip.semver=(tip)
+compiler.mips64le_gltip.isNightly=true
##### PPC GL #####
@@ -329,6 +337,7 @@ compiler.ppc64le_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.ppc64le_gl121.semver=1.21
compiler.ppc64le_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.ppc64le_gltip.semver=(tip)
+compiler.ppc64le_gltip.isNightly=true
group.ppc64begl.compilers=ppc64_gl114:ppc64_gl115:ppc64_gl116:ppc64_gl117:ppc64_gl118:ppc64_gl119:ppc64_gl120:ppc64_gl121:ppc64_gltip
@@ -354,6 +363,7 @@ compiler.ppc64_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.ppc64_gl121.semver=1.21
compiler.ppc64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.ppc64_gltip.semver=(tip)
+compiler.ppc64_gltip.isNightly=true
###### RSICV GL ######
@@ -381,6 +391,7 @@ compiler.riscv64_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.riscv64_gl121.semver=1.21
compiler.riscv64_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.riscv64_gltip.semver=(tip)
+compiler.riscv64_gltip.isNightly=true
##### s390x GL ######
@@ -409,6 +420,7 @@ compiler.s390x_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.s390x_gl121.semver=1.21
compiler.s390x_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.s390x_gltip.semver=(tip)
+compiler.s390x_gltip.isNightly=true
###############################
@@ -438,6 +450,7 @@ compiler.wasm_gl121.exe=/opt/compiler-explorer/golang-1.21.0/go/bin/go
compiler.wasm_gl121.semver=1.21
compiler.wasm_gltip.exe=/opt/compiler-explorer/go-tip/bin/go
compiler.wasm_gltip.semver=(tip)
+compiler.wasm_gltip.isNightly=true
###############################
# Cross GO
diff --git a/etc/config/hlsl.amazon.properties b/etc/config/hlsl.amazon.properties
index 5575de5ca..5a5a71f14 100644
--- a/etc/config/hlsl.amazon.properties
+++ b/etc/config/hlsl.amazon.properties
@@ -7,6 +7,7 @@ group.dxc.baseName=DXC
compiler.dxc_trunk.exe=/opt/compiler-explorer/dxc-trunk/bin/dxc
compiler.dxc_trunk.semver=(trunk)
+compiler.dxc_trunk.isNightly=true
compiler.dxc_1_6_2112.exe=/opt/compiler-explorer/dxc-1.6.2112/bin/dxc
compiler.dxc_1_6_2112.semver=1.6.2112
compiler.dxc_1_7_2207.exe=/opt/compiler-explorer/dxc-1.7.2207/bin/dxc
@@ -21,6 +22,7 @@ compiler.rga262_dxctrunk.exe=/opt/compiler-explorer/rga-2.6.2.38/rga
compiler.rga262_dxctrunk.semver=2.6.2
compiler.rga262_dxctrunk.dxcPath=/opt/compiler-explorer/dxc-trunk/bin/dxc
compiler.rga262_dxctrunk.name=RGA 2.6.2 (DXC trunk)
+compiler.rga262_dxctrunk.isNightly=true
compiler.rga262_dxc172207.exe=/opt/compiler-explorer/rga-2.6.2.38/rga
compiler.rga262_dxc172207.semver=2.6.2
@@ -50,6 +52,7 @@ group.clang.compilerType=clang-dxc
compiler.hlsl_clang_trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.hlsl_clang_trunk.semver=(trunk)
+compiler.hlsl_clang_trunk.isNightly=true
supportsBinary=false
defaultCompiler=dxc_1_7_2207
diff --git a/etc/config/ispc.amazon.properties b/etc/config/ispc.amazon.properties
index 57688924b..59e149f00 100644
--- a/etc/config/ispc.amazon.properties
+++ b/etc/config/ispc.amazon.properties
@@ -38,10 +38,11 @@ compiler.ispc191.exe=/opt/compiler-explorer/ispc-1.9.1/ispc
compiler.ispc191.semver=1.9.1
compiler.ispc-trunk.exe=/opt/compiler-explorer/ispc-trunk/bin/ispc
compiler.ispc-trunk.semver=(trunk)
+compiler.ispc-trunk.isNightly=true
compiler.ispc-templates_new-trunk.exe=/opt/compiler-explorer/ispc-templates_new-trunk/bin/ispc
compiler.ispc-templates_new-trunk.semver=(templates_new)
compiler.ispc-templates_new-trunk.notification=Experimental template support; see <a href="https://github.com/dbabokin/ispc/tree/templates_new" 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.ispc-templates_new-trunk.isNightly=true
#################################
diff --git a/etc/config/javascript.amazon.properties b/etc/config/javascript.amazon.properties
index db06ea7e2..ab8bcbc6c 100644
--- a/etc/config/javascript.amazon.properties
+++ b/etc/config/javascript.amazon.properties
@@ -9,6 +9,7 @@ group.v8.groupName=v8
compiler.v8trunk.exe=/opt/compiler-explorer/d8-trunk/d8
compiler.v8trunk.options=--print-opt-code --redirect-code-traces --allow-natives-syntax
compiler.v8trunk.semver=(trunk)
+compiler.v8trunk.isNightly=true
compiler.v8113.exe=/opt/compiler-explorer/d8-11.3/d8
compiler.v8113.options=--print-opt-code --redirect-code-traces --allow-natives-syntax
diff --git a/etc/config/mlir.amazon.properties b/etc/config/mlir.amazon.properties
index d5ea9f6cd..ddf432b4e 100644
--- a/etc/config/mlir.amazon.properties
+++ b/etc/config/mlir.amazon.properties
@@ -15,6 +15,7 @@ group.mliropt.licensePreamble=The LLVM Project is under the Apache License v2.0
compiler.mliropttrunk.exe=/opt/compiler-explorer/mlir-trunk/bin/mlir-opt
compiler.mliropttrunk.semver=(trunk)
+compiler.mliropttrunk.isNightly=true
compiler.mliropt1600.exe=/opt/compiler-explorer/mlir-16.0.0/bin/mlir-opt
compiler.mliropt1600.semver=16.0.0
compiler.mliropt1405.exe=/opt/compiler-explorer/mlir-14.0.5/bin/mlir-opt
diff --git a/etc/config/nim.amazon.properties b/etc/config/nim.amazon.properties
index f63cd3f36..77b38effc 100644
--- a/etc/config/nim.amazon.properties
+++ b/etc/config/nim.amazon.properties
@@ -33,3 +33,4 @@ compiler.nim104.semver=1.0.4
compiler.nim104.exe=/opt/compiler-explorer/nim-1.0.4/bin/nim
compiler.nimtrunk.semver=(trunk)
compiler.nimtrunk.exe=/opt/compiler-explorer/nim-devel/bin/nim
+compiler.nimtrunk.isNightly=true
diff --git a/etc/config/objc++.amazon.properties b/etc/config/objc++.amazon.properties
index 415f9aeac..9c0f4e943 100644
--- a/etc/config/objc++.amazon.properties
+++ b/etc/config/objc++.amazon.properties
@@ -48,6 +48,7 @@ compiler.objcppgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/g++
compiler.objcppgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.objcppgsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.objcppgsnapshot.semver=(trunk)
+compiler.objcppgsnapshot.isNightly=true
group.objcppcross.compilers=&objcppgccs
@@ -340,6 +341,7 @@ compiler.objcppgccrv32trunk.exe=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32
compiler.objcppgccrv32trunk.semver=(trunk)
compiler.objcppgccrv32trunk.demangler=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt
compiler.objcppgccrv32trunk.objdumper=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump
+compiler.objcppgccrv32trunk.isNightly=true
## Subgroup for riscv64
group.objcppgccrv64.compilers=objcppgccrv64trunk:objcppgccrv641230:objcppgccrv641310:objcppgccrv641320
@@ -365,6 +367,7 @@ compiler.objcppgccrv64trunk.exe=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64
compiler.objcppgccrv64trunk.semver=(trunk)
compiler.objcppgccrv64trunk.demangler=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt
compiler.objcppgccrv64trunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump
+compiler.objcppgccrv64trunk.isNightly=true
#################################
#################################
diff --git a/etc/config/objc.amazon.properties b/etc/config/objc.amazon.properties
index bfbaf6744..e650f618f 100644
--- a/etc/config/objc.amazon.properties
+++ b/etc/config/objc.amazon.properties
@@ -41,6 +41,7 @@ compiler.objcgsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gcc
compiler.objcgsnapshot.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.objcgsnapshot.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.objcgsnapshot.semver=(trunk)
+compiler.objcgsnapshot.isNightly=true
###############################
# Cross Compilers
@@ -339,6 +340,7 @@ compiler.objcarmgtrunk.exe=/opt/compiler-explorer/arm/gcc-trunk/arm-unknown-linu
compiler.objcarmgtrunk.demangler=/opt/compiler-explorer/arm/gcc-trunk/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt
compiler.objcarmgtrunk.name=ARM gcc trunk (linux)
compiler.objcarmgtrunk.semver=trunk
+compiler.objcarmgtrunk.isNightly=true
# 64 bit
group.objcgcc64arm.groupName=Arm 64-bit GCC
@@ -371,6 +373,7 @@ compiler.objcarm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unkn
compiler.objcarm64gtrunk.objdumper=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump
compiler.objcarm64gtrunk.demangler=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt
compiler.objcarm64gtrunk.semver=trunk
+compiler.objcarm64gtrunk.isNightly=true
###############################
# GCC for MIPS
@@ -519,6 +522,7 @@ compiler.objcrv32gtrunk.exe=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unk
compiler.objcrv32gtrunk.semver=(trunk)
compiler.objcrv32gtrunk.demangler=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt
compiler.objcrv32gtrunk.objdumper=/opt/compiler-explorer/riscv32/gcc-trunk/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump
+compiler.objcrv32gtrunk.isNightly=true
## Subgroup for riscv32
group.objcrv64.groupName=RISC-V 64-bits
@@ -534,6 +538,7 @@ compiler.objcrv64gtrunk.exe=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unk
compiler.objcrv64gtrunk.semver=(trunk)
compiler.objcrv64gtrunk.demangler=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt
compiler.objcrv64gtrunk.objdumper=/opt/compiler-explorer/riscv64/gcc-trunk/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump
+compiler.objcrv64gtrunk.isNightly=true
###############################
# GCC for VAX
diff --git a/etc/config/rust.amazon.properties b/etc/config/rust.amazon.properties
index d8de0e9b1..195cf829c 100644
--- a/etc/config/rust.amazon.properties
+++ b/etc/config/rust.amazon.properties
@@ -170,8 +170,10 @@ compiler.r100.exe=/opt/compiler-explorer/rust-1.0.0/bin/rustc
compiler.r100.semver=1.0.0
compiler.nightly.exe=/opt/compiler-explorer/rust-nightly/bin/rustc
compiler.nightly.semver=nightly
+compiler.nightly.isNightly=true
compiler.beta.exe=/opt/compiler-explorer/rust-beta/bin/rustc
compiler.beta.semver=beta
+compiler.beta.isNightly=true
# gccrs: main development for the Rust GCC Frontend (github)
# gcc: regular gcc dev/releases
@@ -192,9 +194,11 @@ group.gcc86.baseName=x86-64 GCCRS
compiler.gcc-snapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/gccrs
compiler.gcc-snapshot.semver=(GCC master)
+compiler.gcc-snapshot.isNightly=true
compiler.gccrs-snapshot.exe=/opt/compiler-explorer/gcc-gccrs-master/bin/gccrs
compiler.gccrs-snapshot.semver=(GCCRS master)
+compiler.gccrs-snapshot.isNightly=true
# cross compilers
group.gcccross.compilers=&rustgccbpf
@@ -208,6 +212,7 @@ compiler.rustbpfgtrunk.exe=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none
compiler.rustbpfgtrunk.objdumper=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-objdump
compiler.rustbpfgtrunk.demangler=/opt/compiler-explorer/bpf/gcc-trunk/bpf-unknown-none/bin/bpf-unknown-none-c++filt
compiler.rustbpfgtrunk.semver=(trunk)
+compiler.rustbpfgtrunk.isNightly=true
# Rustc CG GCC (GCC backend for rustc compiler)
group.rustccggcc.compilers=rustccggcc-master
@@ -217,6 +222,7 @@ group.rustccggcc.supportsBinary=false
group.rustccggcc.supportsBinaryObject=false
compiler.rustccggcc-master.exe=/opt/compiler-explorer/rustc-cg-gcc-master/bin/rustc
compiler.rustccggcc-master.name=rustc-cg-gcc (master)
+compiler.rustccggcc-master.isNightly=true
# mrustc (compiler used to bootstrap rustc)
group.mrustc.compilerType=mrustc
@@ -227,6 +233,7 @@ group.mrustc.supportsBinaryObject=false
compiler.mrustc-master.exe=/opt/compiler-explorer/mrustc-master/bin/mrustc
compiler.mrustc-master.name=mrustc (master)
+compiler.mrustc-master.isNightly=true
#################################
#################################
diff --git a/etc/config/swift.amazon.properties b/etc/config/swift.amazon.properties
index af3357678..00327d861 100644
--- a/etc/config/swift.amazon.properties
+++ b/etc/config/swift.amazon.properties
@@ -48,6 +48,7 @@ compiler.swift58.exe=/opt/compiler-explorer/swift-5.8/usr/bin/swiftc
compiler.swift58.semver=5.8
compiler.swiftnightly.exe=/opt/compiler-explorer/swift-nightly/usr/bin/swiftc
compiler.swiftnightly.semver=nightly
+compiler.swiftnightly.isNightly=true
#################################
#################################
diff --git a/etc/config/zig.amazon.properties b/etc/config/zig.amazon.properties
index f894c8978..1c095464e 100644
--- a/etc/config/zig.amazon.properties
+++ b/etc/config/zig.amazon.properties
@@ -14,6 +14,7 @@ group.zig.licensePreamble=Copyright (c) 2015-2022, Zig contributors
compiler.ztrunk.exe=/opt/compiler-explorer/zig-master/zig
compiler.ztrunk.semver=trunk
+compiler.ztrunk.isNightly=true
compiler.z020.exe=/opt/compiler-explorer/zig-0.2.0/zig
compiler.z020.semver=0.2.0
compiler.z020.options=--zig-install-prefix /opt/compiler-explorer/zig-0.2.0
diff --git a/lib/compiler-finder.ts b/lib/compiler-finder.ts
index 8a2a96c86..f977dcec2 100644
--- a/lib/compiler-finder.ts
+++ b/lib/compiler-finder.ts
@@ -320,6 +320,7 @@ export class CompilerFinder {
notification: props('notification', ''),
isSemVer: isSemVer,
semver: semverVer,
+ isNightly: props('isNightly', false),
libsArr: this.getSupportedLibrariesArr(props),
tools: _.omit(this.optionsHandler.get().tools[langId], tool => tool.isCompilerExcluded(compilerId, props)),
unwiseOptions: splitArrayPropsOrEmpty('unwiseOptions', '|'),
diff --git a/lib/options-handler.ts b/lib/options-handler.ts
index b30295aca..a0a2becc7 100755
--- a/lib/options-handler.ts
+++ b/lib/options-handler.ts
@@ -105,6 +105,7 @@ export type ClientOptionsType = {
doCache: boolean;
thirdPartyIntegrationEnabled: boolean;
statusTrackingEnabled: boolean;
+ compilerVersionsUrl?: string;
policies: {
cookies: {
enabled: boolean;
@@ -208,6 +209,7 @@ export class ClientOptionsHandler {
defaultFontScale: ceProps('defaultFontScale', 14),
doCache: defArgs.doCache,
thirdPartyIntegrationEnabled: ceProps('thirdPartyIntegrationEnabled', true),
+ compilerVersionsUrl: ceProps<string | undefined>('compilerVersionsUrl', undefined),
statusTrackingEnabled: ceProps('statusTrackingEnabled', true),
policies: {
cookies: {
diff --git a/static/panes/compiler.ts b/static/panes/compiler.ts
index 3d7428c12..b6c9d058e 100644
--- a/static/panes/compiler.ts
+++ b/static/panes/compiler.ts
@@ -80,6 +80,7 @@ import {SentryCapture} from '../sentry.js';
import {LLVMIrBackendOptions} from '../compilation/ir.interfaces.js';
import {InstructionSet} from '../instructionsets.js';
import {escapeHTML} from '../../shared/common-utils.js';
+import {CompilerVersionInfo, setCompilerVersionPopoverForPane} from '../widgets/compiler-version-info.js';
const toolIcons = require.context('../../views/resources/logos', false, /\.(png|svg)$/);
@@ -2499,7 +2500,7 @@ export class Compiler extends MonacoPane<monaco.editor.IStandaloneCodeEditor, Co
this.shortCompilerName = this.domRoot.find('.short-compiler-name');
this.compilerPickerElement = this.domRoot.find('.compiler-picker');
- this.setCompilerVersionPopover({version: '', fullVersion: ''}, '');
+ this.setCompilerVersionPopover();
this.topBar = this.domRoot.find('.top-bar');
this.bottomBar = this.domRoot.find('.bottom-bar');
@@ -3259,6 +3260,7 @@ export class Compiler extends MonacoPane<monaco.editor.IStandaloneCodeEditor, Co
fullVersion: compilerFullVersion,
},
compilerNotification,
+ this.compiler?.id,
);
this.updateTitle();
}
@@ -3417,48 +3419,8 @@ export class Compiler extends MonacoPane<monaco.editor.IStandaloneCodeEditor, Co
}
}
- setCompilerVersionPopover(version?: {version: string; fullVersion?: string}, notification?: string[] | string) {
- this.fullCompilerName.popover('dispose');
- // `notification` contains HTML from a config file, so is 'safe'.
- // `version` comes from compiler output, so isn't, and is escaped.
- const bodyContent = $('<div>');
- const versionContent = $('<div>').html(escapeHTML(version?.version ?? ''));
- bodyContent.append(versionContent);
- if (version?.fullVersion && version.fullVersion.trim() !== version.version.trim()) {
- const hiddenSection = $('<div>');
- const lines = version.fullVersion
- .split('\n')
- .map(line => {
- return escapeHTML(line);
- })
- .join('<br/>');
- const hiddenVersionText = $('<div>').html(lines).hide();
- const clickToExpandContent = $('<a>')
- .attr('href', 'javascript:;')
- .text('Toggle full version output')
- .on('click', () => {
- versionContent.toggle();
- hiddenVersionText.toggle();
- this.fullCompilerName.popover('update');
- });
- hiddenSection.append(hiddenVersionText).append(clickToExpandContent);
- bodyContent.append(hiddenSection);
- }
-
- this.fullCompilerName.popover({
- html: true,
- title: notification
- ? ($.parseHTML('<span>Compiler Version: ' + notification + '</span>')[0] as Element)
- : 'Full compiler version',
- content: bodyContent,
- template:
- '<div class="popover' +
- (version ? ' compiler-options-popover' : '') +
- '" role="tooltip">' +
- '<div class="arrow"></div>' +
- '<h3 class="popover-header"></h3><div class="popover-body"></div>' +
- '</div>',
- });
+ setCompilerVersionPopover(version?: CompilerVersionInfo, notification?: string[] | string, compilerId?: string) {
+ setCompilerVersionPopoverForPane(this, version, notification, compilerId);
}
onRequestCompilation(editorId: number | boolean, treeId: number | boolean): void {
diff --git a/static/panes/executor.ts b/static/panes/executor.ts
index 9c171ce4c..72138ccee 100644
--- a/static/panes/executor.ts
+++ b/static/panes/executor.ts
@@ -60,6 +60,7 @@ import {ICompilerShared} from '../compiler-shared.interfaces.js';
import {CompilerShared} from '../compiler-shared.js';
import {LangInfo} from './compiler-request.interfaces.js';
import {escapeHTML} from '../../shared/common-utils.js';
+import {CompilerVersionInfo, setCompilerVersionPopoverForPane} from '../widgets/compiler-version-info.js';
const languages = options.languages;
@@ -771,7 +772,7 @@ export class Executor extends Pane<ExecutorState> {
this.execStdinField.val(this.executionStdin);
this.shortCompilerName = this.domRoot.find('.short-compiler-name');
- this.setCompilerVersionPopover({version: '', fullVersion: ''}, '');
+ this.setCompilerVersionPopover();
this.topBar = this.domRoot.find('.top-bar');
this.bottomBar = this.domRoot.find('.bottom-bar');
@@ -1139,6 +1140,7 @@ export class Executor extends Pane<ExecutorState> {
fullVersion: compilerFullVersion,
},
compilerNotification,
+ this.compiler?.id,
);
}
@@ -1154,41 +1156,8 @@ export class Executor extends Pane<ExecutorState> {
});
}
- setCompilerVersionPopover(version?: {fullVersion?: string; version: string}, notification?: string) {
- this.fullCompilerName.popover('dispose');
- // `notification` contains HTML from a config file, so is 'safe'.
- // `version` comes from compiler output, so isn't, and is escaped.
- const bodyContent = $('<div>');
- const versionContent = $('<div>').html(escapeHTML(version?.version ?? ''));
- bodyContent.append(versionContent);
- if (version?.fullVersion) {
- const hiddenSection = $('<div>');
- const hiddenVersionText = $('<div>').html(escapeHTML(version.fullVersion)).hide();
- const clickToExpandContent = $('<a>')
- .attr('href', 'javascript:;')
- .text('Toggle full version output')
- .on('click', () => {
- versionContent.toggle();
- hiddenVersionText.toggle();
- this.fullCompilerName.popover('update');
- });
- hiddenSection.append(hiddenVersionText).append(clickToExpandContent);
- bodyContent.append(hiddenSection);
- }
- this.fullCompilerName.popover({
- html: true,
- title: notification
- ? ($.parseHTML('<span>Compiler Version: ' + notification + '</span>')[0] as any)
- : 'Full compiler version',
- content: bodyContent,
- template:
- '<div class="popover' +
- (version ? ' compiler-options-popover' : '') +
- '" role="tooltip">' +
- '<div class="arrow"></div>' +
- '<h3 class="popover-header"></h3><div class="popover-body"></div>' +
- '</div>',
- });
+ setCompilerVersionPopover(version?: CompilerVersionInfo, notification?: string[] | string, compilerId?: string) {
+ setCompilerVersionPopoverForPane(this, version, notification, compilerId);
}
override onSettingsChange(newSettings: SiteSettings): void {
diff --git a/static/widgets/compiler-version-info.ts b/static/widgets/compiler-version-info.ts
new file mode 100644
index 000000000..beba98758
--- /dev/null
+++ b/static/widgets/compiler-version-info.ts
@@ -0,0 +1,112 @@
+// Copyright (c) 2023, 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 $ from 'jquery';
+import {escapeHTML} from '../../shared/common-utils';
+import {options} from '../options.js';
+
+export type CompilerVersionInfo = {version: string; fullVersion?: string};
+
+async function getVersionInfo(compilerId: string): Promise<CompilerVersionInfo> {
+ let response: any;
+
+ if (window.location.protocol === 'http:') {
+ // use jsonp for testing
+ response = await new Promise((resolve, reject) => {
+ $.getJSON(options.compilerVersionsUrl + '?id=' + encodeURIComponent(compilerId) + '&jsonp=?', resolve).fail(
+ reject,
+ );
+ });
+ } else {
+ response = await $.getJSON(options.compilerVersionsUrl + '?id=' + encodeURIComponent(compilerId));
+ }
+
+ return {
+ version: response.version,
+ fullVersion: response.full_version,
+ };
+}
+
+function reallySetCompilerVersionPopover(pane: any, version?: CompilerVersionInfo, notification?: string[] | string) {
+ // `notification` contains HTML from a config file, so is 'safe'.
+ // `version` comes from compiler output, so isn't, and is escaped.
+ const bodyContent = $('<div>');
+ const versionContent = $('<div>').html(escapeHTML(version?.version ?? ''));
+ bodyContent.append(versionContent);
+ if (version?.fullVersion && version.fullVersion.trim() !== version.version.trim()) {
+ const hiddenSection = $('<div>');
+ const lines = version.fullVersion
+ .split('\n')
+ .map(line => {
+ return escapeHTML(line);
+ })
+ .join('<br/>');
+ const hiddenVersionText = $('<div>').html(lines).hide();
+ const clickToExpandContent = $('<a>')
+ .attr('href', 'javascript:;')
+ .text('Toggle full version output')
+ .on('click', () => {
+ versionContent.toggle();
+ hiddenVersionText.toggle();
+ pane.fullCompilerName.popover('update');
+ });
+ hiddenSection.append(hiddenVersionText).append(clickToExpandContent);
+ bodyContent.append(hiddenSection);
+ }
+
+ pane.fullCompilerName.popover('dispose');
+ pane.fullCompilerName.popover({
+ html: true,
+ title: notification
+ ? ($.parseHTML('<span>Compiler Version: ' + notification + '</span>')[0] as Element)
+ : 'Full compiler version',
+ content: bodyContent,
+ template:
+ '<div class="popover' +
+ (version ? ' compiler-options-popover' : '') +
+ '" role="tooltip">' +
+ '<div class="arrow"></div>' +
+ '<h3 class="popover-header"></h3><div class="popover-body"></div>' +
+ '</div>',
+ });
+}
+
+export function setCompilerVersionPopoverForPane(
+ pane: any,
+ version?: CompilerVersionInfo,
+ notification?: string[] | string,
+ compilerId?: string,
+) {
+ if (options.compilerVersionsUrl && compilerId && pane.compiler?.isNightly) {
+ getVersionInfo(compilerId)
+ .then(updatedVersion => {
+ reallySetCompilerVersionPopover(pane, updatedVersion, notification);
+ })
+ .catch(() => {
+ reallySetCompilerVersionPopover(pane, version, notification);
+ });
+ } else {
+ reallySetCompilerVersionPopover(pane, version, notification);
+ }
+}
diff --git a/types/compiler.interfaces.ts b/types/compiler.interfaces.ts
index 67adcb780..d704e7e4a 100644
--- a/types/compiler.interfaces.ts
+++ b/types/compiler.interfaces.ts
@@ -104,6 +104,7 @@ export type CompilerInfo = {
notification: string;
isSemVer: boolean;
semver: string;
+ isNightly: boolean;
libsArr: Library['id'][];
tools: Record<ToolInfo['id'], Tool>;
unwiseOptions: string[];