|  | compilers=&gcc86:&icc:&clang:&rvclang:&cl:&cross:&ellcc:&zapcc | 
|  | defaultCompiler=g82 | 
|  | demangler=/opt/compiler-explorer/gcc-8.1.0/bin/c++filt | 
|  | objdumper=/opt/compiler-explorer/gcc-8.1.0/bin/objdump | 
|  | needsMulti=false | 
|  |  | 
|  | ############################### | 
|  | # GCC for x86 | 
|  | group.gcc86.compilers=g412:g447:g453:g464:g471:g472:g473:g474:g481:g482:g483:g484:g485:g490:g491:g492:g493:g494:g510:g520:g530:g540:g550:g6:g62:g63:g71:g72:g73:g81:g82:gsnapshot | 
|  | group.gcc86.groupName=GCC x86-64 | 
|  | group.gcc86.baseName=x86-64 gcc | 
|  | group.gcc86.isSemVer=true | 
|  | compiler.g412.exe=/opt/compiler-explorer/gcc-4.1.2/bin/g++ | 
|  | compiler.g412.semver=4.1.2 | 
|  | compiler.g447.exe=/opt/compiler-explorer/gcc-4.4.7/bin/g++ | 
|  | compiler.g447.alias=/usr/bin/g++-4.4 | 
|  | compiler.g447.semver=4.4.7 | 
|  | compiler.g453.exe=/opt/compiler-explorer/gcc-4.5.3/bin/g++ | 
|  | compiler.g453.alias=/usr/bin/g++-4.5 | 
|  | compiler.g453.semver=4.5.3 | 
|  | compiler.g464.exe=/opt/compiler-explorer/gcc-4.6.4/bin/g++ | 
|  | compiler.g464.alias=/usr/bin/g++-4.6 | 
|  | compiler.g464.semver=4.6.4 | 
|  | compiler.g471.exe=/opt/compiler-explorer/gcc-4.7.1/bin/g++ | 
|  | compiler.g471.semver=4.7.1 | 
|  | compiler.g472.exe=/opt/compiler-explorer/gcc-4.7.2/bin/g++ | 
|  | compiler.g472.semver=4.7.2 | 
|  | compiler.g473.exe=/opt/compiler-explorer/gcc-4.7.3/bin/g++ | 
|  | compiler.g473.semver=4.7.3 | 
|  | compiler.g473.alias=/usr/bin/g++-4.7 | 
|  | compiler.g474.exe=/opt/compiler-explorer/gcc-4.7.4/bin/g++ | 
|  | compiler.g474.semver=4.7.4 | 
|  | compiler.g481.exe=/opt/compiler-explorer/gcc-4.8.1/bin/g++ | 
|  | compiler.g481.semver=4.8.1 | 
|  | compiler.g482.exe=/opt/compiler-explorer/gcc-4.8.2/bin/g++ | 
|  | compiler.g482.semver=4.8.2 | 
|  | compiler.g483.exe=/opt/compiler-explorer/gcc-4.8.3/bin/g++ | 
|  | compiler.g483.semver=4.8.3 | 
|  | compiler.g484.exe=/opt/compiler-explorer/gcc-4.8.4/bin/g++ | 
|  | compiler.g484.semver=4.8.4 | 
|  | compiler.g485.exe=/opt/compiler-explorer/gcc-4.8.5/bin/g++ | 
|  | compiler.g485.semver=4.8.5 | 
|  | compiler.g485.alias=/usr/bin/g++-4.8 | 
|  | compiler.g490.exe=/opt/compiler-explorer/gcc-4.9.0/bin/g++ | 
|  | compiler.g490.semver=4.9.0 | 
|  | compiler.g490.alias=/opt/gcc-4.9.0/bin/g++ | 
|  | compiler.g491.exe=/opt/compiler-explorer/gcc-4.9.1/bin/g++ | 
|  | compiler.g491.semver=4.9.1 | 
|  | compiler.g492.exe=/opt/compiler-explorer/gcc-4.9.2/bin/g++ | 
|  | compiler.g492.semver=4.9.2 | 
|  | compiler.g493.exe=/opt/compiler-explorer/gcc-4.9.3/bin/g++ | 
|  | compiler.g493.semver=4.9.3 | 
|  | compiler.g494.exe=/opt/compiler-explorer/gcc-4.9.4/bin/g++ | 
|  | compiler.g494.semver=4.9.4 | 
|  | compiler.g510.exe=/opt/compiler-explorer/gcc-5.1.0/bin/g++ | 
|  | compiler.g510.semver=5.1 | 
|  | compiler.g520.exe=/opt/compiler-explorer/gcc-5.2.0/bin/g++ | 
|  | compiler.g520.semver=5.2 | 
|  | compiler.g530.exe=/opt/compiler-explorer/gcc-5.3.0/bin/g++ | 
|  | compiler.g530.semver=5.3 | 
|  | compiler.g540.exe=/opt/compiler-explorer/gcc-5.4.0/bin/g++ | 
|  | compiler.g540.semver=5.4 | 
|  | compiler.g550.exe=/opt/compiler-explorer/gcc-5.5.0/bin/g++ | 
|  | compiler.g550.semver=5.5 | 
|  | compiler.g6.exe=/opt/compiler-explorer/gcc-6.1.0/bin/g++ | 
|  | compiler.g6.semver=6.1 | 
|  | compiler.g62.exe=/opt/compiler-explorer/gcc-6.2.0/bin/g++ | 
|  | compiler.g62.semver=6.2 | 
|  | compiler.g63.exe=/opt/compiler-explorer/gcc-6.3.0/bin/g++ | 
|  | compiler.g63.semver=6.3 | 
|  | compiler.g71.exe=/opt/compiler-explorer/gcc-7.1.0/bin/g++ | 
|  | compiler.g71.semver=7.1 | 
|  | compiler.g72.exe=/opt/compiler-explorer/gcc-7.2.0/bin/g++ | 
|  | compiler.g72.semver=7.2 | 
|  | compiler.g73.exe=/opt/compiler-explorer/gcc-7.3.0/bin/g++ | 
|  | compiler.g73.semver=7.3 | 
|  | compiler.g81.exe=/opt/compiler-explorer/gcc-8.1.0/bin/g++ | 
|  | compiler.g81.semver=8.1 | 
|  | compiler.g82.exe=/opt/compiler-explorer/gcc-8.2.0/bin/g++ | 
|  | compiler.g82.semver=8.2 | 
|  | compiler.gsnapshot.exe=/opt/compiler-explorer/gcc-snapshot/bin/g++ | 
|  | compiler.gsnapshot.semver=(trunk) | 
|  | compiler.gsnapshot.alias=g7snapshot | 
|  |  | 
|  | # Clang for x86 | 
|  | group.clang.compilers=clang30:clang31:clang32:clang33:clang341:clang350:clang351:clang37x:clang36x:clang371:clang380:clang381:clang390:clang391:clang400:clang401:clang500:clang600:clang_trunk:clang_concepts:clang_p1144 | 
|  | group.clang.intelAsm=-mllvm --x86-asm-syntax=intel | 
|  | group.clang.options=--gcc-toolchain=/opt/compiler-explorer/gcc-7.2.0 | 
|  | group.clang.groupName=Clang x86-64 | 
|  | group.clang.baseName=x86-64 clang | 
|  | group.clang.isSemVer=true | 
|  | # Ancient clangs don't support GCC toolchain option | 
|  | compiler.clang30.exe=/opt/compiler-explorer/clang+llvm-3.0-x86_64-linux-Ubuntu-11_10/bin/clang++ | 
|  | compiler.clang30.alias=/usr/bin/clang++ | 
|  | compiler.clang30.semver=3.0.0 | 
|  | compiler.clang30.options= | 
|  | compiler.clang31.exe=/opt/compiler-explorer/clang+llvm-3.1-x86_64-linux-ubuntu_12.04/bin/clang++ | 
|  | compiler.clang31.semver=3.1 | 
|  | compiler.clang31.options= | 
|  | compiler.clang32.exe=/opt/compiler-explorer/clang-3.2/bin/clang++ | 
|  | compiler.clang32.alias=/opt/clang-3.2/bin/clang++ | 
|  | compiler.clang32.semver=3.2 | 
|  | compiler.clang32.options= | 
|  | compiler.clang33.exe=/opt/compiler-explorer/clang-3.3/bin/clang++ | 
|  | compiler.clang33.alias=/opt/clang-3.3/bin/clang++ | 
|  | compiler.clang33.semver=3.3 | 
|  | compiler.clang33.options= | 
|  | # Older clangs don't support anything newer than GCC's 6.3 | 
|  | compiler.clang341.exe=/opt/compiler-explorer/clang+llvm-3.4.1-x86_64-unknown-ubuntu12.04/bin/clang++ | 
|  | compiler.clang341.alias=/opt/clang+llvm-3.4.1-x86_64-unknown-ubuntu12.04/bin/clang++ | 
|  | compiler.clang341.semver=3.4.1 | 
|  | compiler.clang341.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang350.exe=/opt/compiler-explorer/clang+llvm-3.5.0-x86_64-linux-gnu/bin/clang++ | 
|  | compiler.clang350.semver=3.5 | 
|  | compiler.clang350.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang351.exe=/opt/compiler-explorer/clang+llvm-3.5.1-x86_64-linux-gnu/bin/clang++ | 
|  | compiler.clang351.semver=3.5.1 | 
|  | compiler.clang351.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang352.exe=/opt/compiler-explorer/clang+llvm-3.5.2-x86_64-linux-gnu/bin/clang++ | 
|  | compiler.clang352.semver=3.5.2 | 
|  | compiler.clang352.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang36x.exe=/opt/compiler-explorer/clang+llvm-3.6.2-x86_64-linux-gnu-ubuntu-14.04/bin/clang++ | 
|  | compiler.clang36x.semver=3.6 | 
|  | compiler.clang36x.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang37x.exe=/opt/compiler-explorer/clang+llvm-3.7.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang++ | 
|  | compiler.clang37x.semver=3.7 | 
|  | compiler.clang37x.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang371.exe=/opt/compiler-explorer/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/bin/clang++ | 
|  | compiler.clang371.semver=3.7.1 | 
|  | compiler.clang371.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang380.exe=/opt/compiler-explorer/clang+llvm-3.8.0-x86_64-linux-gnu-ubuntu-14.04/bin/clang++ | 
|  | compiler.clang380.semver=3.8 | 
|  | compiler.clang380.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | compiler.clang381.exe=/opt/compiler-explorer/clang+llvm-3.8.1-x86_64-linux-gnu-ubuntu-14.04/bin/clang++ | 
|  | compiler.clang381.semver=3.8.1 | 
|  | compiler.clang381.options=--gcc-toolchain=/opt/compiler-explorer/gcc-6.3.0 | 
|  | # Clang 3.9 onwards support the newer toolchains | 
|  | compiler.clang390.exe=/opt/compiler-explorer/clang+llvm-3.9.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang++ | 
|  | compiler.clang390.semver=3.9.0 | 
|  | compiler.clang391.exe=/opt/compiler-explorer/clang-3.9.1/bin/clang++ | 
|  | compiler.clang391.semver=3.9.1 | 
|  | compiler.clang400.exe=/opt/compiler-explorer/clang-4.0.0/bin/clang++ | 
|  | compiler.clang400.semver=4.0.0 | 
|  | compiler.clang401.exe=/opt/compiler-explorer/clang-4.0.1/bin/clang++ | 
|  | compiler.clang401.semver=4.0.1 | 
|  | compiler.clang500.exe=/opt/compiler-explorer/clang-5.0.0/bin/clang++ | 
|  | compiler.clang500.semver=5.0.0 | 
|  | compiler.clang600.exe=/opt/compiler-explorer/clang-6.0.0/bin/clang++ | 
|  | compiler.clang600.semver=6.0.0 | 
|  | compiler.clang_trunk.exe=/opt/compiler-explorer/clang-trunk/bin/clang++ | 
|  | compiler.clang_trunk.semver=(trunk) | 
|  | compiler.clang_concepts.exe=/opt/compiler-explorer/clang-concepts-trunk/bin/clang++ | 
|  | compiler.clang_concepts.semver=(experimental concepts) | 
|  | compiler.clang_concepts.options=-std=c++2a -Xclang -fconcepts-ts -stdlib=libc++ | 
|  | compiler.clang_concepts.notification=Highly experimental compiler. Bug reports welcomed at <a href="https://github.com/saarraz/clang-concepts/issues" target="_blank" rel="noopener noreferrer">github.com/saarraz/clang-concepts/issues <sup><small class="glyphicon glyphicon-new-window opens-new-window" title="Opens in a new window"></small></sup></a> | 
|  | compiler.clang_p1144.exe=/opt/compiler-explorer/clang-relocatable-trunk/bin/clang++ | 
|  | compiler.clang_p1144.semver=(experimental P1144) | 
|  | compiler.clang_p1144.options=-std=c++2a -stdlib=libc++ | 
|  | compiler.clang_p1144.notification=Experimental __is_trivially_relocatable; see <a href="https://quuxplusone.github.io/draft/d1144.html" target="_blank" rel="noopener noreferrer">P1144 <sup><small class="glyphicon glyphicon-new-window opens-new-window" title="Opens in a new window"></small></sup></a> | 
|  |  | 
|  | # Clang for RISC-V | 
|  | group.rvclang.compilers=rv32clang | 
|  | group.rvclang.groupName=Clang RISC-V | 
|  | group.rvclang.supportsBinary=false | 
|  | compiler.rv32clang.exe=/opt/compiler-explorer/clang-trunk/bin/clang++ | 
|  | compiler.rv32clang.name=riscv32 clang (trunk) | 
|  | compiler.rv32clang.options=-target riscv32 | 
|  |  | 
|  | # icc for x86 | 
|  | group.icc.compilers=icc1301:icc16:icc17:icc18 | 
|  | group.icc.intelAsm=-masm=intel | 
|  | group.icc.options=-gxx-name=/opt/compiler-explorer/gcc-4.7.1/bin/g++ | 
|  | group.icc.groupName=ICC x86-64 | 
|  | group.icc.baseName=x86-64 icc | 
|  | group.icc.isSemVer=true | 
|  | compiler.icc1301.exe=/opt/compiler-explorer/intel/bin/icc | 
|  | compiler.icc1301.alias=/opt/intel/bin/icc | 
|  | compiler.icc1301.semver=13.0.1 | 
|  | # intel 13.01 binary disabled: it just segfaults (no idea why) | 
|  | compiler.icc1301.supportsBinary=false | 
|  | compiler.icc16.exe=/opt/compiler-explorer/intel/xe_2016_update3/bin/icc | 
|  | compiler.icc16.semver=16.0.3 | 
|  | compiler.icc16.options=-gxx-name=/opt/compiler-explorer/gcc-4.6.4/bin/g++ | 
|  | compiler.icc17.exe=/opt/compiler-explorer/intel/2017/bin/icc | 
|  | compiler.icc17.semver=17.0.0 | 
|  | compiler.icc17.options=-gxx-name=/opt/compiler-explorer/gcc-5.1.0/bin/g++ | 
|  | compiler.icc18.exe=/opt/compiler-explorer/intel-2018.0.033/bin/icc | 
|  | compiler.icc18.semver=18.0.0 | 
|  | compiler.icc18.options=-gxx-name=/opt/compiler-explorer/gcc-6.3.0/bin/g++ | 
|  |  | 
|  | # zapcc | 
|  | group.zapcc.compilers=zapcc190308 | 
|  | group.zapcc.intelAsm=-mllvm --x86-asm-syntax=intel | 
|  | group.zapcc.options=--gcc-toolchain=/opt/compiler-explorer/gcc-7.2.0 | 
|  | compiler.zapcc190308.exe=/opt/compiler-explorer/zapcc-20170226-190308-1.0/bin/zapcc++ | 
|  | compiler.zapcc190308.name=x86-64 Zapcc 190308 | 
|  |  | 
|  | ############################### | 
|  | # Cross GCC | 
|  | group.cross.compilers=&ppc:&mips:&msp:&gccarm:&avr | 
|  | group.cross.supportsBinary=false | 
|  | group.cross.groupName=Cross GCC | 
|  |  | 
|  |  | 
|  | ############################### | 
|  | # GCC for PPC | 
|  | group.ppc.compilers=ppcg48:ppc64leg630 | 
|  | group.ppc.groupName=PowerPC GCC | 
|  | group.ppc.isSemVer=true | 
|  | compiler.ppcg48.exe=/opt/compiler-explorer/powerpc/gcc-4.8.5/bin/powerpc-unknown-linux-gnu-g++ | 
|  | compiler.ppcg48.name=PowerPC gcc 4.8.5 | 
|  | compiler.ppcg48.semver=4.8.5 | 
|  | compiler.ppc64leg630.exe=/opt/compiler-explorer/powerpc64le/gcc-6.3.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-g++ | 
|  | compiler.ppc64leg630.name=PowerPC64 gcc 6.3.0 | 
|  | compiler.ppc64leg630.semver=6.3.0 | 
|  |  | 
|  | ############################### | 
|  | # GCC for ARM | 
|  | group.gccarm.compilers=armg454:armg464:aarchg54:armhfg54:arm541:armg630:arm710:arm64g630 | 
|  | group.gccarm.groupName=ARM GCC | 
|  | group.gccarm.isSemVer=true | 
|  | # Some of the compiler don't like -isystem (as they assume the code must be C). | 
|  | # See https://github.com/mattgodbolt/compiler-explorer/issues/989 for discussion/ | 
|  | group.gccarm.includeFlag=-I | 
|  | compiler.aarchg54.exe=/opt/compiler-explorer/arm64/gcc-5.4.0/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-g++ | 
|  | compiler.aarchg54.name=ARM64 gcc 5.4 (linux) | 
|  | compiler.aarchg54.alias=aarchg48 | 
|  | compiler.aarchg54.semver=5.4 | 
|  | compiler.armhfg54.exe=/opt/compiler-explorer/arm/gcc-5.4.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-g++ | 
|  | compiler.armhfg54.name=ARM gcc 5.4 (linux) | 
|  | compiler.armhfg54.alias=armhfg482 | 
|  | compiler.armhfg54.semver=5.4 | 
|  | compiler.arm541.exe=/opt/compiler-explorer/gcc-arm-none-eabi-5_4-2016q3/bin/arm-none-eabi-g++ | 
|  | compiler.arm541.name=ARM gcc 5.4.1 (none) | 
|  | compiler.arm541.semver=5.4.1 | 
|  | compiler.armg454.exe=/opt/compiler-explorer/arm/gcc-4.5.4/bin/arm-unknown-linux-gnueabi-g++ | 
|  | compiler.armg454.alias=armg453 | 
|  | compiler.armg454.name=ARM gcc 4.5.4 (linux) | 
|  | compiler.armg454.semver=4.5.4 | 
|  | compiler.armg464.exe=/opt/compiler-explorer/arm/gcc-4.6.4/bin/arm-unknown-linux-gnueabi-g++ | 
|  | compiler.armg464.alias=armg463 | 
|  | compiler.armg464.name=ARM gcc 4.6.4 (linux) | 
|  | compiler.armg464.semver=4.6.4 | 
|  | compiler.armg630.exe=/opt/compiler-explorer/arm/gcc-6.3.0/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++ | 
|  | compiler.armg630.name=ARM gcc 6.3.0 (linux) | 
|  | compiler.armg630.semver=6.3.0 | 
|  | compiler.arm710.exe=/opt/compiler-explorer/arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-g++ | 
|  | compiler.arm710.name=ARM gcc 7.2.1 (none) | 
|  | compiler.arm710.semver=7.2.1 | 
|  | compiler.arm64g630.exe=/opt/compiler-explorer/arm64/gcc-6.3.0/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-g++ | 
|  | compiler.arm64g630.name=ARM64 gcc 6.3.0 (linux) | 
|  | compiler.arm64g630.semver=6.3.0 | 
|  |  | 
|  |  | 
|  | ################################ | 
|  | # GCC for MSP | 
|  | group.msp.compilers=msp430g453:msp430g530:msp430g621 | 
|  | group.msp.groupName=MSP GCC | 
|  | group.msp.baseName=MSP430 gcc | 
|  | group.msp.isSemVer=true | 
|  | compiler.msp430g453.exe=/opt/compiler-explorer/msp430/gcc-4.5.3/bin/msp430-g++ | 
|  | compiler.msp430g453.alias=/usr/bin/msp430-g++ | 
|  | compiler.msp430g453.semver=4.5.3 | 
|  | compiler.msp430g530.exe=/opt/compiler-explorer/msp430-gcc-5.3.0.219_linux32/bin/msp430-elf-g++ | 
|  | compiler.msp430g530.semver=5.3.0 | 
|  | compiler.msp430g621.exe=/opt/compiler-explorer/msp430-gcc-6.2.1.16_linux64/bin/msp430-elf-g++ | 
|  | compiler.msp430g621.semver=6.2.1 | 
|  |  | 
|  | ################################ | 
|  | # GCC for AVR | 
|  | group.avr.compilers=avrg454:avrg464 | 
|  | group.avr.groupName=AVR GCC | 
|  | group.avr.baseName=AVR gcc | 
|  | group.avr.isSemVer=true | 
|  | compiler.avrg454.exe=/opt/compiler-explorer/avr/gcc-4.5.4/bin/avr-g++ | 
|  | compiler.avrg454.alias=avrg453 | 
|  | compiler.avrg454.semver=4.5.4 | 
|  | compiler.avrg464.exe=/opt/compiler-explorer/avr/gcc-4.6.4/bin/avr-g++ | 
|  | compiler.avrg464.semver=4.6.4 | 
|  |  | 
|  | ############################### | 
|  | # GCC for MIPS | 
|  | group.mips.compilers=mips5:mips5el:mips564:mips564el | 
|  | group.mips.groupName=MIPS GCC | 
|  | group.mips.isSemVer=true | 
|  | compiler.mips5.exe=/opt/compiler-explorer/mips/gcc-5.4.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-g++ | 
|  | compiler.mips5.name=MIPS gcc 5.4 | 
|  | compiler.mips5.semver=5.4 | 
|  | compiler.mips5el.exe=/opt/compiler-explorer/mipsel/gcc-5.4.0/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-g++ | 
|  | compiler.mips5el.name=MIPS gcc 5.4 (el) | 
|  | compiler.mips5el.semver=5.4 | 
|  | compiler.mips564.exe=/opt/compiler-explorer/mips64/gcc-5.4.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-g++ | 
|  | compiler.mips564.name=MIPS64 gcc 5.4 | 
|  | compiler.mips564.semver=5.4 | 
|  | compiler.mips564el.exe=/opt/compiler-explorer/mips64el/gcc-5.4.0/mips64el-unknown-linux-gnu/bin/mips64el-unknown-linux-gnu-g++ | 
|  | compiler.mips564el.name=MIPS64 gcc 5.4 (el) | 
|  | compiler.mips564el.semver=5.4 | 
|  |  | 
|  | ################################ | 
|  | # Windows Compilers | 
|  | group.cl.compilers=&cl19:&cl19_2015_u3:&cl_new | 
|  | group.cl.compilerType=wine-vc | 
|  | group.cl.includeFlag=/I | 
|  | group.cl.versionFlag=/? | 
|  | group.cl.versionRe=^Microsoft \(R\) C/C\+\+.*$ | 
|  | group.cl.demangler=/opt/compiler-explorer/windows/19.10.25017/lib/native/bin/amd64/undname.exe | 
|  | group.cl.isSemVer=true | 
|  | group.cl19.groupName=MSVC 2017 | 
|  | group.cl19.compilers=cl19_64:cl19_32:cl19_arm | 
|  | group.cl19.options=/I/opt/compiler-explorer/windows/10.0.10240.0/ucrt/ /I/opt/compiler-explorer/windows/19.10.25017/lib/native/include/ | 
|  | compiler.cl19_64.exe=/opt/compiler-explorer/windows/19.10.25017/lib/native/bin/amd64/cl.exe | 
|  | compiler.cl19_64.name=x86-64 MSVC 19 2017 RTW | 
|  | compiler.cl19_64.semver=19.10.25017 | 
|  | compiler.cl19_32.exe=/opt/compiler-explorer/windows/19.10.25017/lib/native/bin/amd64_x86/cl.exe | 
|  | compiler.cl19_32.name=x86 MSVC 19 2017 RTW | 
|  | compiler.cl19_32.semver=19.10.25017 | 
|  | compiler.cl19_arm.exe=/opt/compiler-explorer/windows/19.10.25017/lib/native/bin/amd64_arm/cl.exe | 
|  | compiler.cl19_arm.name=ARM MSVC 2017 RTW | 
|  | compiler.cl19_arm.semver=19.10.25017 | 
|  |  | 
|  | group.cl19_2015_u3.groupName=MSVC 2015 | 
|  | group.cl19_2015_u3.compilers=cl19_2015_u3_64:cl19_2015_u3_32:cl19_2015_u3_arm | 
|  | group.cl19_2015_u3.options=/I/opt/compiler-explorer/windows/10.0.10240.0/ucrt/ /I/opt/compiler-explorer/windows/19.00.24210/include/ | 
|  | compiler.cl19_2015_u3_64.exe=/opt/compiler-explorer/windows/19.00.24210/bin/amd64/cl.exe | 
|  | compiler.cl19_2015_u3_64.name=x86-64 MSVC 19 2015 U3 | 
|  | compiler.cl19_2015_u3_64.semver=19.00.24210 | 
|  | compiler.cl19_2015_u3_32.exe=/opt/compiler-explorer/windows/19.00.24210/bin/amd64_x86/cl.exe | 
|  | compiler.cl19_2015_u3_32.name=x86 MSVC 19 2015 U3 | 
|  | compiler.cl19_2015_u3_32.semver=19.00.24210 | 
|  | compiler.cl19_2015_u3_arm.exe=/opt/compiler-explorer/windows/19.00.24210/bin/amd64_arm/cl.exe | 
|  | compiler.cl19_2015_u3_arm.name=ARM MSVC 2015 U3 | 
|  | compiler.cl19_2015_u3_arm.semver=19.00.24210 | 
|  |  | 
|  | group.cl_new.groupName=MSVC Pre | 
|  | group.cl_new.compilers=cl_new_64:cl_new_32:cl_new_arm32:cl_new_arm64 | 
|  | group.cl_new.options=/I/opt/compiler-explorer/windows/10.0.10240.0/ucrt/ /I/opt/compiler-explorer/windows/19.14.26423/include/ | 
|  | compiler.cl_new_64.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/x64/cl.exe | 
|  | compiler.cl_new_64.name=x86-64 MSVC Pre 2018 | 
|  | compiler.cl_new_64.semver=19.14.26423 | 
|  | compiler.cl_new_32.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/x86/cl.exe | 
|  | compiler.cl_new_32.name=x86 MSVC Pre 2018 | 
|  | compiler.cl_new_32.semver=19.14.26423 | 
|  | compiler.cl_new_arm32.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/arm/cl.exe | 
|  | compiler.cl_new_arm32.name=ARM MSVC Pre 2018 | 
|  | compiler.cl_new_arm32.semver=19.14.26423 | 
|  | compiler.cl_new_arm64.exe=/opt/compiler-explorer/windows/19.14.26423/bin/Hostx64/arm64/cl.exe | 
|  | compiler.cl_new_arm64.name=ARM64 MSVC Pre 2018 | 
|  | compiler.cl_new_arm64.semver=19.14.26423 | 
|  |  | 
|  | ################################# | 
|  | # ELLCC | 
|  | group.ellcc.compilers=ellcc0133:ellcc0134:ellcc170716 | 
|  | group.ellcc.intelAsm=-mllvm --x86-asm-syntax=intel | 
|  | group.ellcc.groupName=ELLCC | 
|  | group.ellcc.baseName=ellcc | 
|  | group.ellcc.isSemVer=true | 
|  | compiler.ellcc0133.exe=/opt/compiler-explorer/ellcc-0.1.33/bin/ecc++ | 
|  | compiler.ellcc0133.semver=0.1.33 | 
|  | compiler.ellcc0134.exe=/opt/compiler-explorer/ellcc-0.1.34/bin/ecc++ | 
|  | compiler.ellcc0134.semver=0.1.34 | 
|  | compiler.ellcc170716.exe=/opt/compiler-explorer/ellcc-2017-07-16/bin/ecc++ | 
|  | # This semver causes it to be recognized as a very "big" version. Take care when adding more | 
|  | compiler.ellcc170716.semver=2017-07-16 | 
|  | # Handle old URLs pre-typo fixup | 
|  | compiler.ellcc0133.alias=elcc0133 | 
|  | compiler.ellcc0134.alias=elcc0134 | 
|  |  | 
|  |  | 
|  | ################################# | 
|  | ################################# | 
|  | # Installed libs | 
|  | libs=boost:brigand:kvasir:cmcstl2:gsl:expected_lite:nlohmann_json:xtl:xsimd:xtensor:abseil:blaze:ctre:eigen:benchmark:rangesv3:dlib:libguarded:cppcoro:fmt:hfsm:glm:llvm:catch2:doctest | 
|  | libs.boost.name=Boost | 
|  | libs.boost.versions=164:165:166:167 | 
|  | libs.boost.url=https://www.boost.org | 
|  | libs.boost.versions.164.version=1.64.0 | 
|  | libs.boost.versions.164.path=/opt/compiler-explorer/libs/boost_1_64_0 | 
|  | libs.boost.versions.165.version=1.65.0 | 
|  | libs.boost.versions.165.path=/opt/compiler-explorer/libs/boost_1_65_0 | 
|  | libs.boost.versions.166.version=1.66.0 | 
|  | libs.boost.versions.166.path=/opt/compiler-explorer/libs/boost_1_66_0 | 
|  | libs.boost.versions.167.version=1.67.0 | 
|  | libs.boost.versions.167.path=/opt/compiler-explorer/libs/boost_1_67_0 | 
|  | libs.brigand.name=Brigand | 
|  | libs.brigand.versions=trunk:130 | 
|  | libs.brigand.url=https://github.com/edouarda/brigand | 
|  | libs.brigand.versions.trunk.version=trunk | 
|  | libs.brigand.versions.130.version=1.3.0 | 
|  | libs.brigand.versions.trunk.path=/opt/compiler-explorer/libs/brigand/trunk/include | 
|  | libs.brigand.versions.130.path=/opt/compiler-explorer/libs/brigand/1.3.0/include | 
|  | libs.kvasir.name=Kvasir::mpl | 
|  | libs.kvasir.versions=trunk | 
|  | libs.kvasir.url=https://github.com/kvasir-io/mpl | 
|  | libs.kvasir.versions.trunk.version=trunk | 
|  | # mattgodbolt/compiler-explorer/issues/598 | 
|  | libs.kvasir.versions.trunk.path=/opt/compiler-explorer/libs/kvasir/mpl/trunk/src/kvasir:/opt/compiler-explorer/libs/kvasir/mpl/trunk/src | 
|  | libs.cmcstl2.name=cmcstl2 | 
|  | libs.cmcstl2.versions=trunk | 
|  | libs.cmcstl2.url=https://github.com/CaseyCarter/cmcstl2 | 
|  | libs.cmcstl2.versions.trunk.version=trunk | 
|  | libs.cmcstl2.versions.trunk.path=/opt/compiler-explorer/libs/cmcstl2/include | 
|  | libs.gsl.name=GSL | 
|  | libs.gsl.description=Guidelines Support Library | 
|  | libs.gsl.url=https://github.com/Microsoft/GSL | 
|  | # Sorry Martin! | 
|  | libs.gsl.versions=trunk:lite:100 | 
|  | libs.gsl.versions.trunk.version=trunk | 
|  | libs.gsl.versions.trunk.path=/opt/compiler-explorer/libs/GSL/include | 
|  | libs.gsl.versions.100.version=1.0.0 | 
|  | libs.gsl.versions.100.path=/opt/compiler-explorer/libs/GSL/v1.0.0/include | 
|  | libs.gsl.versions.lite.version=lite | 
|  | libs.gsl.versions.lite.path=/opt/compiler-explorer/libs/gsl-lite/include | 
|  | libs.expected_lite.versions=001:010:trunk | 
|  | libs.expected_lite.url=https://github.com/martinmoene/expected-lite | 
|  | libs.expected_lite.name=expected-lite | 
|  | libs.expected_lite.description=Expected for C++11 and greater | 
|  | libs.expected_lite.versions.001.version=0.0.1 | 
|  | libs.expected_lite.versions.001.path=/opt/compiler-explorer/libs/expected-lite/v0.0.1/include | 
|  | libs.expected_lite.versions.010.version=0.1.0 | 
|  | libs.expected_lite.versions.010.path=/opt/compiler-explorer/libs/expected-lite/v0.1.0/include | 
|  | libs.expected_lite.versions.trunk.version=trunk | 
|  | libs.expected_lite.versions.trunk.path=/opt/compiler-explorer/libs/expected-lite/trunk/include | 
|  | libs.nlohmann_json.name=nlohmann::json | 
|  | libs.nlohmann_json.versions=trunk:312:211 | 
|  | libs.nlohmann_json.url=https://github.com/nlohmann/json | 
|  | libs.nlohmann_json.versions.trunk.version=trunk | 
|  | libs.nlohmann_json.versions.312.version=3.1.2 | 
|  | libs.nlohmann_json.versions.211.version=2.1.1 | 
|  | libs.nlohmann_json.versions.trunk.path=/opt/compiler-explorer/libs/nlohmann_json/trunk/single_include | 
|  | libs.nlohmann_json.versions.312.path=/opt/compiler-explorer/libs/nlohmann_json/v3.1.2/single_include | 
|  | libs.nlohmann_json.versions.211.path=/opt/compiler-explorer/libs/nlohmann_json/v2.1.1/single_include | 
|  | # OpenCV disabled for now, needs more installation work, any many more paths | 
|  | libs.opencv.name=OpenCV | 
|  | libs.opencv.versions=trunk | 
|  | libs.opencv.url=https://opencv.org/ | 
|  | libs.opencv.versions.trunk.version=trunk | 
|  | libs.opencv.versions.trunk.path=/opt/compiler-explorer/libs/opencv/include | 
|  | libs.xtl.name=xtl | 
|  | libs.xtl.versions=trunk | 
|  | libs.xtl.url=http://xtl.readthedocs.io | 
|  | libs.xtl.versions.trunk.version=trunk | 
|  | libs.xtl.versions.trunk.path=/opt/compiler-explorer/libs/xtl/include | 
|  | libs.xsimd.name=xsimd | 
|  | libs.xsimd.versions=trunk | 
|  | libs.xsimd.url=http://xsimd.readthedocs.io | 
|  | libs.xsimd.versions.trunk.version=trunk | 
|  | libs.xsimd.versions.trunk.path=/opt/compiler-explorer/libs/xsimd/include | 
|  | libs.xtensor.name=xtensor | 
|  | libs.xtensor.versions=trunk | 
|  | libs.xtensor.url=http://xtensor.readthedocs.io | 
|  | libs.xtensor.versions.trunk.version=trunk | 
|  | libs.xtensor.versions.trunk.path=/opt/compiler-explorer/libs/xtensor/include | 
|  | libs.abseil.name=Abseil | 
|  | libs.abseil.versions=trunk | 
|  | libs.abseil.url=https://abseil.io/ | 
|  | libs.abseil.versions.trunk.version=trunk | 
|  | libs.abseil.versions.trunk.path=/opt/compiler-explorer/libs/abseil | 
|  | libs.blaze.name=Blaze | 
|  | libs.blaze.versions=trunk:33 | 
|  | libs.blaze.url=https://bitbucket.org/blaze-lib/blaze | 
|  | libs.blaze.versions.trunk.version=trunk | 
|  | libs.blaze.versions.trunk.path=/opt/compiler-explorer/libs/blaze/trunk | 
|  | libs.blaze.versions.33.version=3.3 | 
|  | libs.blaze.versions.33.path=/opt/compiler-explorer/libs/blaze/v3.3 | 
|  | libs.ctre.name=CTRE | 
|  | libs.ctre.description=Compile Time Regular Expressions | 
|  | libs.ctre.versions=trunk | 
|  | libs.ctre.url=https://github.com/hanickadot/compile-time-regular-expressions | 
|  | libs.ctre.versions.trunk.version=trunk | 
|  | libs.ctre.versions.trunk.path=/opt/compiler-explorer/libs/ctre/include | 
|  | libs.eigen.name=Eigen | 
|  | libs.eigen.versions=trunk:334 | 
|  | libs.eigen.url=http://eigen.tuxfamily.org/index.php?title=Main_Page | 
|  | libs.eigen.versions.trunk.version=trunk | 
|  | libs.eigen.versions.trunk.path=/opt/compiler-explorer/libs/eigen/vtrunk | 
|  | libs.eigen.versions.334.version=3.3.4 | 
|  | libs.eigen.versions.334.path=/opt/compiler-explorer/libs/eigen/v3.3.4 | 
|  | libs.benchmark.name=Google Benchmark | 
|  | libs.benchmark.versions=trunk:120:130:140 | 
|  | libs.benchmark.url=https://github.com/google/benchmark | 
|  | libs.benchmark.versions.trunk.version=trunk | 
|  | libs.benchmark.versions.trunk.path=/opt/compiler-explorer/libs/google-benchmark/trunk/include | 
|  | libs.benchmark.versions.120.version=1.2.0 | 
|  | libs.benchmark.versions.120.path=/opt/compiler-explorer/libs/google-benchmark/v1.2.0/include | 
|  | libs.benchmark.versions.130.version=1.3.0 | 
|  | libs.benchmark.versions.130.path=/opt/compiler-explorer/libs/google-benchmark/v1.3.0/include | 
|  | libs.benchmark.versions.140.version=1.4.0 | 
|  | libs.benchmark.versions.140.path=/opt/compiler-explorer/libs/google-benchmark/v1.4.0/include | 
|  | libs.rangesv3.name=range-v3 | 
|  | libs.rangesv3.versions=trunk:030:035:036 | 
|  | libs.rangesv3.url=https://github.com/ericniebler/range-v3 | 
|  | libs.rangesv3.versions.trunk.version=trunk | 
|  | libs.rangesv3.versions.trunk.path=/opt/compiler-explorer/libs/rangesv3/trunk/include | 
|  | libs.rangesv3.versions.030.version=0.3.0 | 
|  | libs.rangesv3.versions.030.path=/opt/compiler-explorer/libs/rangesv3/0.3.0/include | 
|  | libs.rangesv3.versions.035.version=0.3.5 | 
|  | libs.rangesv3.versions.035.path=/opt/compiler-explorer/libs/rangesv3/0.3.5/include | 
|  | libs.rangesv3.versions.036.version=0.3.6 | 
|  | libs.rangesv3.versions.036.path=/opt/compiler-explorer/libs/rangesv3/0.3.6/include | 
|  | libs.dlib.name=dlib | 
|  | libs.dlib.description=Machine learning algorithms and tools | 
|  | libs.dlib.versions=197:199:1910:trunk | 
|  | libs.dlib.url=http://dlib.net/ | 
|  | libs.dlib.versions.trunk.version=trunk | 
|  | libs.dlib.versions.trunk.path=/opt/compiler-explorer/libs/dlib/trunk | 
|  | libs.dlib.versions.197.version=19.7 | 
|  | libs.dlib.versions.197.path=/opt/compiler-explorer/libs/dlib/v19.7 | 
|  | libs.dlib.versions.199.version=19.9 | 
|  | libs.dlib.versions.199.path=/opt/compiler-explorer/libs/dlib/v19.9 | 
|  | libs.dlib.versions.1910.version=19.10 | 
|  | libs.dlib.versions.1910.path=/opt/compiler-explorer/libs/dlib/v19.10 | 
|  | libs.libguarded.name=libGuarded | 
|  | libs.libguarded.versions=trunk:110 | 
|  | libs.libguarded.url=https://github.com/copperspice/libguarded | 
|  | libs.libguarded.versions.trunk.version=trunk | 
|  | libs.libguarded.versions.trunk.path=/opt/compiler-explorer/libs/libguarded/trunk/src | 
|  | libs.libguarded.versions.110.version=1.1.0 | 
|  | libs.libguarded.versions.110.path=/opt/compiler-explorer/libs/libguarded/libguarded-1.1.0/src | 
|  | libs.cppcoro.name=cppcoro | 
|  | libs.cppcoro.description=Coroutine abstractions for the Coroutines TS | 
|  | libs.cppcoro.versions=trunk | 
|  | libs.cppcoro.url=https://github.com/lewissbaker/cppcoro | 
|  | libs.cppcoro.versions.trunk.version=trunk | 
|  | libs.cppcoro.versions.trunk.path=/opt/compiler-explorer/libs/cppcoro/include | 
|  | libs.fmt.name={fmt} | 
|  | libs.fmt.description=A modern formatting library | 
|  | libs.fmt.versions=trunk:510:500:410:400 | 
|  | libs.fmt.url=http://fmtlib.net/ | 
|  | libs.fmt.versions.trunk.version=trunk | 
|  | libs.fmt.versions.trunk.path=/opt/compiler-explorer/libs/fmt/trunk/include | 
|  | libs.fmt.versions.510.version=5.1.0 | 
|  | libs.fmt.versions.510.path=/opt/compiler-explorer/libs/fmt/5.1.0/include | 
|  | libs.fmt.versions.500.version=5.0.0 | 
|  | libs.fmt.versions.500.path=/opt/compiler-explorer/libs/fmt/5.0.0/include | 
|  | libs.fmt.versions.410.version=4.1.0 | 
|  | libs.fmt.versions.410.path=/opt/compiler-explorer/libs/fmt/4.1.0 | 
|  | libs.fmt.versions.400.version=4.0.0 | 
|  | libs.fmt.versions.400.path=/opt/compiler-explorer/libs/fmt/4.0.0 | 
|  | libs.hfsm.name=HFSM | 
|  | libs.hfsm.description=Hierarchical Finite State Machine Framework | 
|  | libs.hfsm.versions=trunk:08:010 | 
|  | libs.hfsm.url=https://github.com/andrew-gresyk/HFSM | 
|  | libs.hfsm.versions.trunk.version=trunk | 
|  | libs.hfsm.versions.trunk.path=/opt/compiler-explorer/libs/hfsm/trunk:/opt/compiler-explorer/libs/hfsm/trunk/include | 
|  | libs.hfsm.versions.08.version=0.8 | 
|  | libs.hfsm.versions.08.path=/opt/compiler-explorer/libs/hfsm/0.8 | 
|  | libs.hfsm.versions.010.version=0.10 | 
|  | libs.hfsm.versions.010.path=/opt/compiler-explorer/libs/hfsm/0.10 | 
|  | libs.glm.name=GLM | 
|  | libs.glm.description=OpenGL Mathematics | 
|  | libs.glm.versions=trunk:0985:0990 | 
|  | libs.glm.url=https://glm.g-truc.net/ | 
|  | libs.glm.versions.trunk.version=trunk | 
|  | libs.glm.versions.trunk.path=/opt/compiler-explorer/libs/glm/trunk | 
|  | libs.glm.versions.0985.version=0.9.8.5 | 
|  | libs.glm.versions.0985.path=/opt/compiler-explorer/libs/glm/0.9.8.5 | 
|  | libs.glm.versions.0990.version=0.9.9.0 | 
|  | libs.glm.versions.0990.path=/opt/compiler-explorer/libs/glm/0.9.9.0 | 
|  | libs.llvm.name=LLVM | 
|  | libs.llvm.description=LLVM | 
|  | libs.llvm.versions=trunk:600:501:401 | 
|  | libs.llvm.url=https://llvm.org/ | 
|  | libs.llvm.versions.trunk.version=trunk | 
|  | libs.llvm.versions.trunk.path=/opt/compiler-explorer/libs/llvm/trunk/include | 
|  | libs.llvm.versions.600.version=6.0.0 | 
|  | libs.llvm.versions.600.path=/opt/compiler-explorer/libs/llvm/6.0.0/include | 
|  | libs.llvm.versions.501.version=5.0.1 | 
|  | libs.llvm.versions.501.path=/opt/compiler-explorer/libs/llvm/5.0.1/include | 
|  | libs.llvm.versions.401.version=4.0.1 | 
|  | libs.llvm.versions.401.path=/opt/compiler-explorer/libs/llvm/4.0.1/include | 
|  | libs.catch2.name=Catch2 | 
|  | libs.catch2.description=Catch2 | 
|  | libs.catch2.url=https://github.com/catchorg/Catch2 | 
|  | libs.catch2.versions=trunk:222:223 | 
|  | libs.catch2.versions.trunk.version=trunk | 
|  | libs.catch2.versions.trunk.path=/opt/compiler-explorer/libs/catch2/trunk/include | 
|  | libs.catch2.versions.222.version=2.2.2 | 
|  | libs.catch2.versions.222.path=/opt/compiler-explorer/libs/catch2/v2.2.2/include | 
|  | libs.catch2.versions.223.version=2.2.3 | 
|  | libs.catch2.versions.223.path=/opt/compiler-explorer/libs/catch2/v2.2.3/include | 
|  | libs.doctest.name=Doctest | 
|  | libs.doctest.description=The fastest feature-rich C++11 single-header testing framework for unit tests and TDD | 
|  | libs.doctest.url=https://github.com/onqtam/doctest | 
|  | libs.doctest.versions=trunk:129 | 
|  | libs.doctest.versions.trunk.version=trunk | 
|  | libs.doctest.versions.trunk.path=/opt/compiler-explorer/libs/doctest/trunk/doctest | 
|  | libs.doctest.versions.129.version=1.2.9 | 
|  | libs.doctest.versions.129.path=/opt/compiler-explorer/libs/doctest/1.2.9/doctest |