compilers=&cgcc86:&cclang:&armcclang32:&armcclang64:&rvcclang:&ppci:&cicc:&ccl:&ccross:&cgcc-classic:&cc65
defaultCompiler=cg101
demangler=/opt/compiler-explorer/gcc-9.1.0/bin/c++filt
objdumper=/opt/compiler-explorer/gcc-9.1.0/bin/objdump
needsMulti=false

###############################
# GCC for x86
group.cgcc86.compilers=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:cg71:cg72:cg73:cg81:cg82:cg83:cg91:cg92:cg93:cg101:cgsnapshot:cgstatic-analysis
group.cgcc86.groupName=GCC x86-64
group.cgcc86.isSemVer=true
group.cgcc86.baseName=x86-64 gcc
compiler.cg412.exe=/opt/compiler-explorer/gcc-4.1.2/bin/gcc
compiler.cg412.semver=4.1.2
compiler.cg447.exe=/opt/compiler-explorer/gcc-4.4.7/bin/gcc
compiler.cg447.semver=4.4.7
compiler.cg453.exe=/opt/compiler-explorer/gcc-4.5.3/bin/gcc
compiler.cg453.semver=4.5.3
compiler.cg464.exe=/opt/compiler-explorer/gcc-4.6.4/bin/gcc
compiler.cg464.alias=/usr/bin/gcc-4.6
compiler.cg464.semver=4.6.4
compiler.cg471.exe=/opt/compiler-explorer/gcc-4.7.1/bin/gcc
compiler.cg471.semver=4.7.1
compiler.cg472.exe=/opt/compiler-explorer/gcc-4.7.2/bin/gcc
compiler.cg472.semver=4.7.2
compiler.cg473.exe=/opt/compiler-explorer/gcc-4.7.3/bin/gcc
compiler.cg473.semver=4.7.3
compiler.cg474.exe=/opt/compiler-explorer/gcc-4.7.4/bin/gcc
compiler.cg474.semver=4.7.4
compiler.cg481.exe=/opt/compiler-explorer/gcc-4.8.1/bin/gcc
compiler.cg481.semver=4.8.1
compiler.cg482.exe=/opt/compiler-explorer/gcc-4.8.2/bin/gcc
compiler.cg482.semver=4.8.2
compiler.cg483.exe=/opt/compiler-explorer/gcc-4.8.3/bin/gcc
compiler.cg483.semver=4.8.3
compiler.cg484.exe=/opt/compiler-explorer/gcc-4.8.4/bin/gcc
compiler.cg484.semver=4.8.4
compiler.cg485.exe=/opt/compiler-explorer/gcc-4.8.5/bin/gcc
compiler.cg485.semver=4.8.5
compiler.cg490.exe=/opt/compiler-explorer/gcc-4.9.0/bin/gcc
compiler.cg490.semver=4.9.0
compiler.cg491.exe=/opt/compiler-explorer/gcc-4.9.1/bin/gcc
compiler.cg491.semver=4.9.1
compiler.cg492.exe=/opt/compiler-explorer/gcc-4.9.2/bin/gcc
compiler.cg492.semver=4.9.2
compiler.cg493.exe=/opt/compiler-explorer/gcc-4.9.3/bin/gcc
compiler.cg493.semver=4.9.3
compiler.cg494.exe=/opt/compiler-explorer/gcc-4.9.4/bin/gcc
compiler.cg494.semver=4.9.4
compiler.cg510.exe=/opt/compiler-explorer/gcc-5.1.0/bin/gcc
compiler.cg510.semver=5.1
compiler.cg520.exe=/opt/compiler-explorer/gcc-5.2.0/bin/gcc
compiler.cg520.semver=5.2
compiler.cg530.exe=/opt/compiler-explorer/gcc-5.3.0/bin/gcc
compiler.cg530.semver=5.3
compiler.cg540.exe=/opt/compiler-explorer/gcc-5.4.0/bin/gcc
compiler.cg540.semver=5.4
compiler.cg6.exe=/opt/compiler-explorer/gcc-6.1.0/bin/gcc
compiler.cg6.semver=6.1
compiler.cg62.exe=/opt/compiler-explorer/gcc-6.2.0/bin/gcc
compiler.cg62.semver=6.2
compiler.cg63.exe=/opt/compiler-explorer/gcc-6.3.0/bin/gcc
compiler.cg63.semver=6.3
compiler.cg71.exe=/opt/compiler-explorer/gcc-7.1.0/bin/gcc
compiler.cg71.semver=7.1
compiler.cg72.exe=/opt/compiler-explorer/gcc-7.2.0/bin/gcc
compiler.cg72.semver=7.2
compiler.cg73.exe=/opt/compiler-explorer/gcc-7.3.0/bin/gcc
compiler.cg73.semver=7.3
compiler.cg74.exe=/opt/compiler-explorer/gcc-7.4.0/bin/gcc
compiler.cg74.semver=7.4
compiler.cg81.exe=/opt/compiler-explorer/gcc-8.1.0/bin/gcc
compiler.cg81.semver=8.1
compiler.cg82.exe=/opt/compiler-explorer/gcc-8.2.0/bin/gcc
compiler.cg82.semver=8.2
compiler.cg83.exe=/opt/compiler-explorer/gcc-8.3.0/bin/gcc
compiler.cg83.semver=8.3
compiler.cg91.exe=/opt/compiler-explorer/gcc-9.1.0/bin/gcc
compiler.cg91.semver=9.1
compiler.cg92.exe=/opt/compiler-explorer/gcc-9.2.0/bin/gcc
compiler.cg92.semver=9.2
compiler.cg93.exe=/opt/compiler-explorer/gcc-9.3.0/bin/gcc
compiler.cg93.semver=9.3
compiler.cg101.exe=/opt/compiler-explorer/gcc-10.1.0/bin/gcc
compiler.cg101.semver=10.1
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.cgstatic-analysis.exe=/opt/compiler-explorer/gcc-static-analysis-trunk/bin/gcc
compiler.cgstatic-analysis.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.cgstatic-analysis.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.cgstatic-analysis.semver=(static analysis)
compiler.cgstatic-analysis.options=-fanalyzer -fdiagnostics-urls=never -fdiagnostics-color=always
compiler.cgstatic-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>

# Some multilib workarounds for older compilers not built quite right...
compiler.cg63.needsMulti=true
compiler.cg71.needsMulti=true
compiler.cg72.needsMulti=true

# Classic x86 compilers (32-bit only)
group.cgcc-classic.compilers=cg127
group.cgcc-classic.groupName=GCC x86
group.cgcc-classic.isSemVer=true
group.cgcc-classic.baseName=x86 gcc
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:cclang37x:cclang36x:cclang371:cclang380:cclang381:cclang390:cclang391:cclang400:cclang401:cclang500:cclang600:cclang700:cclang800:cclang900:cclang1000:cclang_trunk
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
group.cclang.isSemVer=true
group.cclang.baseName=x86-64 clang
group.cclang.compilerType=clang
compiler.cclang30.exe=/opt/compiler-explorer/clang+llvm-3.0-x86_64-linux-Ubuntu-11_10/bin/clang
compiler.cclang30.semver=3.0.0
compiler.cclang30.options=
compiler.cclang31.exe=/opt/compiler-explorer/clang+llvm-3.1-x86_64-linux-ubuntu_12.04/bin/clang
compiler.cclang31.semver=3.1
compiler.cclang31.options=
compiler.cclang32.exe=/opt/compiler-explorer/clang-3.2/bin/clang
compiler.cclang32.semver=3.2
compiler.cclang32.options=
compiler.cclang33.exe=/opt/compiler-explorer/clang-3.3/bin/clang
compiler.cclang33.semver=3.3
compiler.cclang33.options=
compiler.cclang341.exe=/opt/compiler-explorer/clang+llvm-3.4.1-x86_64-unknown-ubuntu12.04/bin/clang
compiler.cclang341.semver=3.4.1
compiler.cclang350.exe=/opt/compiler-explorer/clang+llvm-3.5.0-x86_64-linux-gnu/bin/clang
compiler.cclang350.semver=3.5
compiler.cclang351.exe=/opt/compiler-explorer/clang+llvm-3.5.1-x86_64-linux-gnu/bin/clang
compiler.cclang351.semver=3.5.1
compiler.cclang352.exe=/opt/compiler-explorer/clang+llvm-3.5.2-x86_64-linux-gnu/bin/clang
compiler.cclang352.semver=3.5.2
compiler.cclang36x.exe=/opt/compiler-explorer/clang+llvm-3.6.2-x86_64-linux-gnu-ubuntu-14.04/bin/clang
compiler.cclang36x.semver=3.6
compiler.cclang37x.exe=/opt/compiler-explorer/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang
compiler.cclang37x.semver=3.7
compiler.cclang371.exe=/opt/compiler-explorer/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/bin/clang
compiler.cclang371.semver=3.7.1
compiler.cclang380.exe=/opt/compiler-explorer/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang
compiler.cclang380.semver=3.8
compiler.cclang381.exe=/opt/compiler-explorer/clang+llvm-3.8.1-x86_64-linux-gnu-ubuntu-14.04/bin/clang
compiler.cclang381.semver=3.8.1
compiler.cclang390.exe=/opt/compiler-explorer/clang+llvm-3.9.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang
compiler.cclang390.semver=3.9.0
compiler.cclang391.exe=/opt/compiler-explorer/clang-3.9.1/bin/clang
compiler.cclang391.semver=3.9.1
compiler.cclang400.exe=/opt/compiler-explorer/clang-4.0.0/bin/clang
compiler.cclang400.semver=4.0.0
compiler.cclang401.exe=/opt/compiler-explorer/clang-4.0.1/bin/clang
compiler.cclang401.semver=4.0.1
compiler.cclang500.exe=/opt/compiler-explorer/clang-5.0.0/bin/clang
compiler.cclang500.semver=5.0.0
compiler.cclang600.exe=/opt/compiler-explorer/clang-6.0.0/bin/clang
compiler.cclang600.semver=6.0.0
# Clang 7 and above: let's try the latest stable GCC as of the time of build
compiler.cclang700.exe=/opt/compiler-explorer/clang-7.0.0/bin/clang
compiler.cclang700.semver=7.0.0
compiler.cclang700.options=--gcc-toolchain=/opt/compiler-explorer/gcc-8.2.0
compiler.cclang800.exe=/opt/compiler-explorer/clang-8.0.0/bin/clang
compiler.cclang800.semver=8.0.0
compiler.cclang800.options=--gcc-toolchain=/opt/compiler-explorer/gcc-8.3.0
compiler.cclang900.exe=/opt/compiler-explorer/clang-9.0.0/bin/clang
compiler.cclang900.semver=9.0.0
compiler.cclang900.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0
compiler.cclang1000.exe=/opt/compiler-explorer/clang-10.0.0/bin/clang
compiler.cclang1000.semver=10.0.0
compiler.cclang1000.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.3.0
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.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0

# Clang for Arm
# Provides 32- and 64-bit menu items for clang-9 and trunk
group.armcclang32.groupName=Arm 32-bit clang
group.armcclang32.compilers=armv7-cclang-9:armv7-cclang-10:armv7-cclang-trunk
group.armcclang32.isSemVer=true
group.armcclang32.compilerType=clang

group.armcclang64.groupName=Arm 64-bit clang
group.armcclang64.compilers=armv8-cclang-9:armv8-cclang-10:armv8-cclang-trunk:armv8.5-cclang-trunk
group.armcclang64.isSemVer=true
group.armcclang64.compilerType=clang

compiler.armv7-cclang-10.name=armv7-a clang 10.0.0
compiler.armv7-cclang-10.exe=/opt/compiler-explorer/clang-10.0.0/bin/clang
compiler.armv7-cclang-10.semver=10.0.0
# Arm v7-a with Neon and VFPv3
compiler.armv7-cclang-10.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0 -target armv7-none-linux-androideabi

compiler.armv8-cclang-10.name=armv8-a clang 10.0.0
compiler.armv8-cclang-10.exe=/opt/compiler-explorer/clang-10.0.0/bin/clang
compiler.armv8-cclang-10.semver=10.0.0
# Arm v8-a
compiler.armv8-cclang-10.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0 -target aarch64-none-linux-android

compiler.armv7-cclang-9.name=armv7-a clang 9.0.0
compiler.armv7-cclang-9.exe=/opt/compiler-explorer/clang-9.0.0/bin/clang
compiler.armv7-cclang-9.semver=9.0.0
# Arm v7-a with Neon and VFPv3
compiler.armv7-cclang-9.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0 -target armv7-none-linux-androideabi

compiler.armv8-cclang-9.name=armv8-a clang 9.0.0
compiler.armv8-cclang-9.exe=/opt/compiler-explorer/clang-9.0.0/bin/clang
compiler.armv8-cclang-9.semver=9.0.0
# Arm v8-a
compiler.armv8-cclang-9.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0 -target aarch64-none-linux-android

compiler.armv7-cclang-trunk.name=armv7-a clang (trunk)
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/gcc-snapshot/bin/objdump
compiler.armv7-cclang-trunk.semver=(trunk)
# Arm v7-a with Neon and VFPv3
compiler.armv7-cclang-trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0 -target armv7-none-linux-androideabi

compiler.armv8-cclang-trunk.name=armv8-a clang (trunk)
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/gcc-snapshot/bin/objdump
compiler.armv8-cclang-trunk.semver=(trunk)
# Arm v8-a
compiler.armv8-cclang-trunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0 -target aarch64-none-linux-android

compiler.armv8.5-clang-trunk.name=armv8.5-a clang (trunk, all architectural features)
compiler.armv8.5-clang-trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.armv8.5-clang-trunk.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.armv8.5-clang-trunk.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.armv8.5-clang-trunk.semver=(trunk allfeats)
# Arm v8.5-a with all supported architectural features
compiler.armv8.5-clang-trunk.options=--gcc-toolchain=/usr/lib/gcc/x86_64-linux-gnu/9 -target aarch64-none-linux-android -mtune=cortex-a53 -march=armv8.5-a+crypto+rcpc+sha3+sm4+profile+rng+memtag+sve2+sve2-bitperm+sve2-sm4+sve2-aes+sve2-sha3+tme

# Clang for RISC-V
group.rvcclang.compilers=rv32cclang:rv64cclang
group.rvcclang.groupName=Clang RISC-V
group.rvcclang.supportsBinary=false
compiler.rv32cclang.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.rv32cclang.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.rv32cclang.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.rv32cclang.name=RISC-V rv32gc clang (trunk)
compiler.rv32cclang.options=-target riscv32 -march=rv32gc -mabi=ilp32
compiler.rv64cclang.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.rv64cclang.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.rv64cclang.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.rv64cclang.name=RISC-V rv64gc clang (trunk)
compiler.rv64cclang.options=-target riscv64 -march=rv64gc -mabi=lp64

# ppci for various architectures
group.ppci.compilers=ppci055
group.ppci.groupName=ppci
group.ppci.compilerType=ppci
group.ppci.supportsBinary=false
group.ppci.isSemVer=true
group.ppci.baseName=ppci
group.ppci.includeFlag=-I
compiler.ppci055.semver=0.5.5
compiler.ppci055.exe=/opt/compiler-explorer/ppci-0.5.5/ppci/cli/cc.py

# icc for x86
group.cicc.compilers=cicc1301:cicc16:cicc17:cicc18:cicc19:cicc191
group.cicc.intelAsm=-masm=intel
group.cicc.options=-x c -gcc-name=/opt/compiler-explorer/gcc-4.7.1/bin/gcc
group.cicc.groupName=ICC x86-64
group.cicc.isSemVer=true
group.cicc.baseName=x86-64 icc
compiler.cicc1301.exe=/opt/compiler-explorer/intel/bin/icc
compiler.cicc1301.semver=13.0.1
# intel 13.01 binary disabled: it just segfaults (no idea why)
compiler.cicc1301.supportsBinary=false
compiler.cicc16.exe=/opt/compiler-explorer/intel/xe_2016_update3/bin/icc
compiler.cicc16.semver=16.0.3
compiler.cicc16.options=-x c -gcc-name=/opt/compiler-explorer/gcc-4.6.4/bin/gcc
compiler.cicc17.exe=/opt/compiler-explorer/intel/2017/bin/icc
compiler.cicc17.semver=17.0.0
compiler.cicc17.options=-x c -gcc-name=/opt/compiler-explorer/gcc-5.1.0/bin/gcc
compiler.cicc18.exe=/opt/compiler-explorer/intel-2018.0.033/bin/icc
compiler.cicc18.semver=18.0.0
compiler.cicc18.options=-x c -gcc-name=/opt/compiler-explorer/gcc-6.3.0/bin/gcc
compiler.cicc19.exe=/opt/compiler-explorer/intel-2019/bin/icc
compiler.cicc19.semver=19.0.0
compiler.cicc19.options=-x c -gcc-name=/opt/compiler-explorer/gcc-8.2.0/bin/gcc
compiler.cicc191.exe=/opt/compiler-explorer/intel-2019.1/bin/icc
compiler.cicc191.semver=19.0.1
compiler.cicc191.options=-x c -gcc-name=/opt/compiler-explorer/gcc-8.2.0/bin/gcc

###############################
# Cross GCC
group.ccross.compilers=&cppc:&cmips:&cmsp:&cgccarm:&cavr:&criscv:&cplatspec:&ckalray
group.ccross.supportsBinary=false
group.ccross.groupName=Cross GCC


###############################
# GCC for PPC
group.cppc.compilers=cppcg48:cppc64leg630:cppc64leg8:cppc64g8:cppc64leg9:cppc64g9:cppc64clang:cppc64leclang
group.cppc.groupName=POWER Compilers
group.cppc.isSemVer=true
compiler.cppc64leg8.exe=/opt/compiler-explorer/powerpc64le/gcc-at12/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gcc
compiler.cppc64leg8.name=power64le AT12.0 (gcc8)
compiler.cppc64leg8.semver=(snapshot)
compiler.cppc64g8.exe=/opt/compiler-explorer/powerpc64/gcc-at12/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gcc
compiler.cppc64g8.name=power64 AT12.0 (gcc8)
compiler.cppc64g8.semver=(snapshot)
compiler.cppc64leg9.exe=/opt/compiler-explorer/powerpc64le/gcc-at13/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gcc
compiler.cppc64leg9.name=power64le AT13.0 (gcc9)
compiler.cppc64leg9.semver=(snapshot)
compiler.cppc64g9.exe=/opt/compiler-explorer/powerpc64/gcc-at13/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gcc
compiler.cppc64g9.name=power64 AT13.0 (gcc9)
compiler.cppc64g9.semver=(snapshot)
compiler.cppc64clang.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.cppc64clang.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.cppc64clang.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.cppc64clang.name=powerpc64 clang (trunk)
compiler.cppc64clang.options=-target powerpc64
compiler.cppc64leclang.exe=/opt/compiler-explorer/clang-trunk/bin/clang
compiler.cppc64leclang.demangler=/opt/compiler-explorer/gcc-snapshot/bin/c++filt
compiler.cppc64leclang.objdumper=/opt/compiler-explorer/gcc-snapshot/bin/objdump
compiler.cppc64leclang.name=power64le clang (trunk)
compiler.cppc64leclang.options=-target powerpc64le
compiler.cppcg48.exe=/opt/compiler-explorer/powerpc/gcc-4.8.5/bin/powerpc-unknown-linux-gnu-gcc
compiler.cppcg48.name=PowerPC gcc 4.8.5
compiler.cppcg48.semver=4.8.5
compiler.cppc64leg630.exe=/opt/compiler-explorer/powerpc64le/gcc-6.3.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gcc
compiler.cppc64leg630.name=PowerPC64 gcc 6.3.0
compiler.cppc64leg630.semver=6.3.0

###############################
# GCC for ARM
group.cgccarm.compilers=carmg454:carmg464:caarchg54:carmhfg54:carm541:carmg630:carm710:carm64g630:carmg640:carmg730:carmg820:carm64g640:carm64g730:carm64g820:carmce820
group.cgccarm.groupName=ARM GCC
group.cgccarm.isSemVer=true
# Some of the compiler don't like -isystem (as they assume the code must be C).
# See https://github.com/compiler-explorer/compiler-explorer/issues/989 for discussion/
group.gccarm.includeFlag=-I
compiler.caarchg54.exe=/opt/compiler-explorer/arm64/gcc-5.4.0/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc
compiler.caarchg54.name=ARM64 gcc 5.4 (linux)
compiler.caarchg54.semver=5.4
compiler.carmhfg54.exe=/opt/compiler-explorer/arm/gcc-5.4.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc
compiler.carmhfg54.name=ARM gcc 5.4 (linux)
compiler.carmhfg54.semver=5.4
compiler.carm541.exe=/opt/compiler-explorer/gcc-arm-none-eabi-5_4-2016q3/bin/arm-none-eabi-gcc
compiler.carm541.name=ARM gcc 5.4.1 (none)
compiler.carm541.semver=5.4.1
compiler.carmg454.exe=/opt/compiler-explorer/arm/gcc-4.5.4/bin/arm-unknown-linux-gnueabi-gcc
compiler.carmg454.name=ARM gcc 4.5.4 (linux)
compiler.carmg454.semver=4.5.4
compiler.carmg464.exe=/opt/compiler-explorer/arm/gcc-4.6.4/bin/arm-unknown-linux-gnueabi-gcc
compiler.carmg464.name=ARM gcc 4.6.4 (linux)
compiler.carmg464.semver=4.6.4
compiler.carmg630.exe=/opt/compiler-explorer/arm/gcc-6.3.0/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc
compiler.carmg630.name=ARM gcc 6.3.0 (linux)
compiler.carmg630.semver=6.3.0
compiler.carm710.exe=/opt/compiler-explorer/arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc
compiler.carm710.name=ARM gcc 7.2.1 (none)
compiler.carm710.semver=7.2.1
compiler.carm64g630.exe=/opt/compiler-explorer/arm64/gcc-6.3.0/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc
compiler.carm64g630.name=ARM64 gcc 6.3.0 (linux)
compiler.carm64g630.semver=6.3.0
compiler.carmg640.exe=/opt/compiler-explorer/arm/gcc-6.4.0/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc
compiler.carmg640.name=ARM gcc 6.4
compiler.carmg640.semver=6.4.0
compiler.carmg730.exe=/opt/compiler-explorer/arm/gcc-7.3.0/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc
compiler.carmg730.name=ARM gcc 7.3
compiler.carmg730.semver=7.3.0
compiler.carmg820.exe=/opt/compiler-explorer/arm/gcc-8.2.0/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc
compiler.carmg820.name=ARM gcc 8.2
compiler.carmg820.semver=8.2.0
compiler.carm64g640.exe=/opt/compiler-explorer/arm64/gcc-6.4.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc
compiler.carm64g640.name=ARM64 gcc 6.4
compiler.carm64g640.semver=6.4.0
compiler.carm64g730.exe=/opt/compiler-explorer/arm64/gcc-7.3.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc
compiler.carm64g730.name=ARM64 gcc 7.3
compiler.carm64g730.semver=7.3.0
compiler.carm64g820.exe=/opt/compiler-explorer/arm64/gcc-8.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc
compiler.carm64g820.name=ARM64 gcc 8.2
compiler.carm64g820.semver=8.2.0
compiler.carmce820.exe=/opt/compiler-explorer/arm-wince/gcc-ce-8.2.0/bin/arm-mingw32ce-gcc
compiler.carmce820.name=ARM gcc 8.2 (WinCE)
compiler.carmce820.semver=8.2.0

###############################
# GCC for Kalray
group.ckalray.compilers=ckvxg750:ck1cg741:ck1cg750
group.ckalray.groupName=Kalray MPPA GCC
group.ckalray.isSemVer=true
# kvx versions are different from the GCC they wrap
compiler.ckvxcg750.exe=/opt/compiler-explorer/kvx-4.1.0-cd1/bin/kvx-elf-gcc
compiler.ckvxcg750.name=KVX gcc 7.5
compiler.ckvxcg750.semver=7.5.0
compiler.ckvxcg750.objdumper=/opt/compiler-explorer/kvx/gcc-7.5.0/kvx-unknown-elf/bin/kvx-unknown-elf-objdump
compiler.ck1cg741.exe=/opt/compiler-explorer/k1/gcc-7.4.1/k1-unknown-elf/bin/k1-unknown-elf-gcc
compiler.ck1cg741.name=K1C gcc 7.4
compiler.ck1cg741.semver=7.4.1
compiler.ck1cg741.objdumper=/opt/compiler-explorer/k1/gcc-7.4.1/k1-unknown-elf/bin/k1-unknown-elf-objdump
compiler.ck1cg750.exe=/opt/compiler-explorer/k1/gcc-7.5.0/k1-unknown-elf/bin/k1-unknown-elf-gcc
compiler.ck1cg750.name=K1C gcc 7.5
compiler.ck1cg750.semver=7.5.0
compiler.ck1cg750.objdumper=/opt/compiler-explorer/k1/gcc-7.5.0/k1-unknown-elf/bin/k1-unknown-elf-objdump

###############################
# Platform Specific Cross Compilers
group.cplatspec.compilers=cfrc2019:cfrc2020:craspbian9:craspbian10:carduinouno189:carduinomega189
group.cplatspec.groupName=Platform Specific Compilers
group.cplatspec.isSemVer=true
group.cplatspec.includeFlag=-I
compiler.cfrc2019.exe=/opt/compiler-explorer/arm/frc2019-6.3.0/roborio/bin/arm-frc2019-linux-gnueabi-gcc
compiler.cfrc2019.name=FRC 2019
compiler.cfrc2019.semver=6.3
compiler.cfrc2019.objdumper=/opt/compiler-explorer/arm/frc2019-6.3.0/roborio/bin/arm-frc2019-linux-gnueabi-objdump
compiler.cfrc2020.exe=/opt/compiler-explorer/arm/frc2020-7.3.0/roborio/bin/arm-frc2020-linux-gnueabi-gcc
compiler.cfrc2020.name=FRC 2020
compiler.cfrc2020.semver=7.3
compiler.cfrc2020.objdumper=/opt/compiler-explorer/arm/frc2020-7.3.0/roborio/bin/arm-frc2020-linux-gnueabi-objdump
compiler.craspbian9.exe=/opt/compiler-explorer/arm/raspbian9-6.3.0/bin/arm-raspbian9-linux-gnueabihf-gcc
compiler.craspbian9.name=Raspbian Stretch
compiler.craspbian9.semver=6.3
compiler.craspbian9.objdumper=/opt/compiler-explorer/arm/raspbian9-6.3.0/bin/arm-raspbian9-linux-gnueabihf-objdump
compiler.craspbian10.exe=/opt/compiler-explorer/arm/raspbian10-8.3.0/bin/arm-raspbian10-linux-gnueabihf-gcc
compiler.craspbian10.name=Raspbian Buster
compiler.craspbian10.semver=8.3
compiler.craspbian10.objdumper=/opt/compiler-explorer/arm/raspbian10-8.3.0/bin/arm-raspbian10-linux-gnueabihf-objdump
compiler.carduinouno189.exe=/opt/compiler-explorer/avr/arduino-1.8.9/hardware/tools/avr/bin/avr-gcc
compiler.carduinouno189.options=-std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I/opt/compiler-explorer/avr/arduino-1.8.9/hardware/arduino/avr/variants/standard -I/opt/compiler-explorer/avr/arduino-1.8.9/hardware/arduino/avr/cores/arduino
compiler.carduinouno189.name=Arduino Uno (1.8.9)
compiler.carduinouno189.semver=5.4.0
compiler.carduinouno189.objdumper=/opt/compiler-explorer/avr/arduino-1.8.9/hardware/tools/avr/bin/avr-objdump
compiler.carduinomega189.exe=/opt/compiler-explorer/avr/arduino-1.8.9/hardware/tools/avr/bin/avr-gcc
compiler.carduinomega189.options=-std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10809 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/opt/compiler-explorer/avr/arduino-1.8.9/hardware/arduino/avr/variants/mega -I/opt/compiler-explorer/avr/arduino-1.8.9/hardware/arduino/avr/cores/arduino
compiler.carduinomega189.name=Arduino Mega (1.8.9)
compiler.carduinomega189.semver=5.4.0
compiler.carduinomega189.objdumper=/opt/compiler-explorer/avr/arduino-1.8.9/hardware/tools/avr/bin/avr-objdump

################################
# GCC for MSP
group.cmsp.compilers=cmsp430g453:cmsp430g530:cmsp430g621
group.cmsp.groupName=MSP GCC
group.cmsp.baseName=MSP430 gcc
group.cmsp.isSemVer=true
compiler.cmsp430g453.exe=/opt/compiler-explorer/msp430/gcc-4.5.3/bin/msp430-gcc
compiler.cmsp430g453.semver=4.5.3
compiler.cmsp430g530.exe=/opt/compiler-explorer/msp430-gcc-5.3.0.219_linux32/bin/msp430-elf-gcc
compiler.cmsp430g530.semver=5.3.0
compiler.cmsp430g621.exe=/opt/compiler-explorer/msp430-gcc-6.2.1.16_linux64/bin/msp430-elf-gcc
compiler.cmsp430g621.semver=6.2.1

################################
# GCC for AVR
group.cavr.compilers=cavrg454:cavrg464:cavrg540
group.cavr.groupName=AVR GCC
group.cavr.baseName=AVR gcc
group.cavr.isSemVer=true
compiler.cavrg454.exe=/opt/compiler-explorer/avr/gcc-4.5.4/bin/avr-gcc
compiler.cavrg454.semver=4.5.4
compiler.cavrg464.exe=/opt/compiler-explorer/avr/gcc-4.6.4/bin/avr-gcc
compiler.cavrg464.semver=4.6.4
compiler.cavrg540.exe=/opt/compiler-explorer/avr/arduino-1.8.9/hardware/tools/avr/bin/avr-g++
compiler.cavrg540.semver=5.4.0
compiler.cavrg540.supportsBinary=false
compiler.cavrg540.objdumper=/opt/compiler-explorer/avr/arduino-1.8.9/hardware/tools/avr/bin/avr-objdump

###############################
# GCC for MIPS
group.cmips.compilers=cmips5:cmips5el:cmips564:cmips564el
group.cmips.groupName=MIPS GCC
group.cmips.isSemVer=true
compiler.cmips5.exe=/opt/compiler-explorer/mips/gcc-5.4.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-gcc
compiler.cmips5.name=MIPS gcc 5.4
compiler.cmips5.semver=5.4
compiler.cmips5el.exe=/opt/compiler-explorer/mipsel/gcc-5.4.0/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc
compiler.cmips5el.name=MIPS gcc 5.4 (el)
compiler.cmips5el.semver=5.4
compiler.cmips564.exe=/opt/compiler-explorer/mips64/gcc-5.4.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gcc
compiler.cmips564.name=MIPS64 gcc 5.4
compiler.cmips564.semver=5.4
compiler.cmips564el.exe=/opt/compiler-explorer/mips64el/gcc-5.4.0/mips64el-unknown-linux-gnu/bin/mips64el-unknown-linux-gnu-gcc
compiler.cmips564el.name=MIPS64 gcc 5.4 (el)
compiler.cmips564el.semver=5.4

###############################
# GCC for RISC-V
group.criscv.compilers=criscv820
group.criscv.groupName=RISC-V GCC
group.criscv.isSemVer=true
compiler.criscv820.exe=/opt/compiler-explorer/riscv64/gcc-8.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gcc
compiler.criscv820.name=RISC-V gcc 8.2.0
compiler.criscv820.semver=8.2.0
compiler.criscv820.objdumper=/opt/compiler-explorer/riscv64/gcc-8.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump

###############################
# ARM HPC (disabled)
group.carmhpc.compilers=carmhpc-ac193a64
group.carmhpc.groupName=Arm Compiler for Linux
group.carmhpc.isSemVer=true
compiler.carmhpc-ac193a64.exe=/opt/arm/19.3/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/bin/armclang-wrapper
compiler.carmhpc-ac193a64.name=ARM armclang 19.3
compiler.carmhpc-ac193a64.semver=19.3

################################
# Windows Compilers
group.ccl.compilers=&ccl19:&ccl19_2015_u3:&ccl_new
group.ccl.compilerType=wine-vc
group.ccl.includeFlag=/I
group.ccl.versionFlag=/?
group.ccl.versionRe=^Microsoft \(R\) C/C\+\+.*$
group.ccl.isSemVer=true
group.ccl.supportsBinary=false
group.ccl.objdumper=
group.ccl19.groupName=WINE MSVC 2017
group.ccl19.compilers=ccl19_64:ccl19_32:ccl19_arm
group.ccl19.options=/I/opt/compiler-explorer/windows/10.0.10240.0/ucrt/ /I/opt/compiler-explorer/windows/19.10.25017/lib/native/include/ /TC
compiler.ccl19_64.exe=/opt/compiler-explorer/windows/19.10.25017/lib/native/bin/amd64/cl.exe
compiler.ccl19_64.name=x64 msvc v19.10 (WINE)
compiler.ccl19_64.semver=19.10.25017
compiler.ccl19_32.exe=/opt/compiler-explorer/windows/19.10.25017/lib/native/bin/amd64_x86/cl.exe
compiler.ccl19_32.name=x86 msvc v19.10 (WINE)
compiler.ccl19_32.semver=19.10.25017
compiler.ccl19_arm.exe=/opt/compiler-explorer/windows/19.10.25017/lib/native/bin/amd64_arm/cl.exe
compiler.ccl19_arm.name=ARM msvc v19.10 (WINE)
compiler.ccl19_arm.semver=19.10.25017

group.ccl19_2015_u3.groupName=WINE MSVC 2015
group.ccl19_2015_u3.compilers=ccl19_2015_u3_64:ccl19_2015_u3_32:ccl19_2015_u3_arm
group.ccl19_2015_u3.options=/I/opt/compiler-explorer/windows/10.0.10240.0/ucrt/ /I/opt/compiler-explorer/windows/19.00.24210/include/ /TC
compiler.ccl19_2015_u3_64.exe=/opt/compiler-explorer/windows/19.00.24210/bin/amd64/cl.exe
compiler.ccl19_2015_u3_64.name=x64 msvc v19.0 (WINE)
compiler.ccl19_2015_u3_64.semver=19.00.24210
compiler.ccl19_2015_u3_32.exe=/opt/compiler-explorer/windows/19.00.24210/bin/amd64_x86/cl.exe
compiler.ccl19_2015_u3_32.name=x86 msvc v19.0 (WINE)
compiler.ccl19_2015_u3_32.semver=19.00.24210
compiler.ccl19_2015_u3_arm.exe=/opt/compiler-explorer/windows/19.00.24210/bin/amd64_arm/cl.exe
compiler.ccl19_2015_u3_arm.name=ARM msvc v19.0 (WINE)
compiler.ccl19_2015_u3_arm.semver=19.00.24210

group.ccl_new.groupName=WINE MSVC 2017
group.ccl_new.compilers=ccl_new_64:ccl_new_32:ccl_new_arm32:ccl_new_arm64
group.ccl_new.options=/I/opt/compiler-explorer/windows/10.0.10240.0/ucrt/ /I/opt/compiler-explorer/windows/19.14.26423/include/ /TC
compiler.ccl_new_64.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/x64/cl.exe
compiler.ccl_new_64.name=x64 msvc v19.14 (WINE)
compiler.ccl_new_64.semver=19.14.26423
compiler.ccl_new_32.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/x86/cl.exe
compiler.ccl_new_32.name=x86 msvc v19.14 (WINE)
compiler.ccl_new_32.semver=19.14.26423
compiler.ccl_new_arm32.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/arm/cl.exe
compiler.ccl_new_arm32.name=ARM msvc v19.14 (WINE)
compiler.ccl_new_arm32.semver=19.14.26423
compiler.ccl_new_arm64.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/arm64/cl.exe
compiler.ccl_new_arm64.name=ARM64 msvc v19.14 (WINE)
compiler.ccl_new_arm64.semver=19.14.26423

#################################
# cc65 compilers
group.cc65.compilers=cc65_217:cc65_trunk
group.cc65.supportsBinary=false
group.cc65.groupName=cc65
group.cc65.compilerType=cc65
group.cc65.isSemVer=true
group.cc65.includeFlag=-I
compiler.cc65_trunk.name=6502 cc65 trunk
compiler.cc65_trunk.exe=/opt/compiler-explorer/6502/cc65-trunk/bin/cc65
compiler.cc65_trunk.options=-I/opt/compiler-explorer/6502/cc65-trunk/share/cc65/include/
compiler.cc65_trunk.semver=trunk
compiler.cc65_217.name=6502 cc65 2.17
compiler.cc65_217.exe=/opt/compiler-explorer/6502/cc65-2.17/bin/cc65
compiler.cc65_217.semver=2.17
compiler.cc65_217.options=-I/opt/compiler-explorer/6502/cc65-2.17/share/cc65/include/

#################################
#################################
# Libraries

libs=openssl:cs50:hedley

libs.openssl.name=OpenSSL
libs.openssl.versions=111c
libs.openssl.versions.111c.version=1.1.1c
libs.openssl.versions.111c.path=/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86_64/opt/include
libs.openssl.versions.111c.libpath=/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86_64/opt/lib:/opt/compiler-explorer/libs/openssl/openssl_1_1_1c/x86/opt/lib
libs.openssl.versions.111c.liblink=ssl:crypto

libs.cs50.name=cs50
libs.cs50.versions=910
libs.cs50.versions.910.version=9.1.0
libs.cs50.versions.910.path=/opt/compiler-explorer/libs/cs50/9.1.0/include
libs.cs50.versions.910.libpath=/opt/compiler-explorer/libs/cs50/9.1.0/x86_64/lib:/opt/compiler-explorer/libs/cs50/9.1.0/x86/lib
libs.cs50.versions.910.liblink=cs50

libs.hedley.name=hedley
libs.hedley.description=A C/C++ header to help move ifdefs out of your code
libs.hedley.versions=v12
libs.hedley.url=https://github.com/nemequ/hedley
libs.hedley.versions.v12.version=12.0.0
libs.hedley.versions.v12.path=/opt/compiler-explorer/libs/hedley/v12/


#################################
#################################
# Installed tools

tools=clangtidytrunk:clangformattrunk:clangquerytrunk:llvm-mcatrunk:pahole:readelf:ldd

tools.clangtidytrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-tidy
tools.clangtidytrunk.name=clang-tidy (trunk)
tools.clangtidytrunk.type=independent
tools.clangtidytrunk.class=clang-tidy-tool
tools.clangtidytrunk.options=--gcc-toolchain=/opt/compiler-explorer/gcc-9.2.0
tools.clangtidytrunk.stdinHint=disabled

tools.clangformattrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-format
tools.clangformattrunk.name=clang-format
tools.clangformattrunk.type=independent
tools.clangformattrunk.class=clang-format-tool

tools.clangquerytrunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang-query
tools.clangquerytrunk.name=clang-query (trunk)
tools.clangquerytrunk.type=independent
tools.clangquerytrunk.class=clang-query-tool
tools.clangquerytrunk.stdinHint=Query commands

tools.llvm-mcatrunk.name=llvm-mca (trunk)
tools.llvm-mcatrunk.exe=/opt/compiler-explorer/clang-trunk/bin/llvm-mca
tools.llvm-mcatrunk.type=postcompilation
tools.llvm-mcatrunk.class=llvm-mca-tool
tools.llvm-mcatrunk.exclude=cavr:carm:caarch:cmips:cmsp:cppc:ppci
tools.llvm-mcatrunk.stdinHint=disabled

tools.pahole.name=pahole
tools.pahole.exe=/opt/compiler-explorer/pahole/bin/pahole
tools.pahole.type=postcompilation
tools.pahole.class=pahole-tool
tools.pahole.exclude=
tools.pahole.stdinHint=disabled
tools.pahole.languageId=cppp

tools.readelf.name=readelf
tools.readelf.exe=/opt/compiler-explorer/gcc-snapshot/bin/readelf
tools.readelf.type=postcompilation
tools.readelf.class=readelf-tool
tools.readelf.exclude=
tools.readelf.stdinHint=disabled

tools.ldd.name=ldd
tools.ldd.exe=/usr/bin/ldd
tools.ldd.type=postcompilation
tools.ldd.class=readelf-tool
tools.ldd.exclude=
tools.ldd.stdinHint=disabled
