mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 10:33:59 -05:00
Initial support for Objective-C/Objective-C++
Currently only list GCC compilers as a first step. Will add clang in a followup change. Port gcc.js to Typescript (simple renaming). Package the objectivec language support for Monaco. Add very basic example. Something more objc/objc++ specific would be better. fixes #2942 Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
This commit is contained in:
1476
etc/config/objc++.amazon.properties
Normal file
1476
etc/config/objc++.amazon.properties
Normal file
File diff suppressed because it is too large
Load Diff
69
etc/config/objc++.defaults.properties
Normal file
69
etc/config/objc++.defaults.properties
Normal file
@@ -0,0 +1,69 @@
|
||||
# Default settings for Objective-C++
|
||||
defaultCompiler=objcxxgdefault
|
||||
postProcess=
|
||||
demangler=c++filt
|
||||
demanglerType=cpp
|
||||
objdumper=objdump
|
||||
#androidNdk=/opt/google/android-ndk-r9c
|
||||
options=
|
||||
supportsBinary=true
|
||||
supportsBinaryObject=true
|
||||
binaryHideFuncRe=^(__.*|_(init|start|fini)|(de)?register_tm_clones|call_gmon_start|frame_dummy|\.plt.*|_dl_relocate_static_pie)$
|
||||
needsMulti=false
|
||||
stubRe=\bmain\b
|
||||
stubText=int main(void){return 0;/*stub provided by Compiler Explorer*/}
|
||||
supportsLibraryCodeFilter=true
|
||||
|
||||
|
||||
compilers=&gcc
|
||||
|
||||
group.gcc.compilers=objcxxg44:objcxxg45:objcxxg46:objcxxg47:objcxxg48:objcxxg5:objcxxg6x:objcxxg7:objcxxg8:objcxxg9:objcxxg10:objcxxg11:objcxxgdefault
|
||||
compiler.objcxxg44.exe=/usr/bin/g++-4.4
|
||||
compiler.objcxxg44.name=g++ 4.4
|
||||
compiler.objcxxg45.exe=/usr/bin/g++-4.5
|
||||
compiler.objcxxg45.name=g++ 4.5
|
||||
compiler.objcxxg46.exe=/usr/bin/g++-4.6
|
||||
compiler.objcxxg46.name=g++ 4.6
|
||||
compiler.objcxxg47.exe=/usr/bin/g++-4.7
|
||||
compiler.objcxxg47.name=g++ 4.7
|
||||
compiler.objcxxg48.exe=/usr/bin/g++-4.8
|
||||
compiler.objcxxg48.name=g++ 4.8
|
||||
compiler.objcxxg5.exe=/usr/bin/g++-5
|
||||
compiler.objcxxg5.name=g++ 5.x
|
||||
compiler.objcxxg6x.exe=/usr/bin/g++-6
|
||||
compiler.objcxxg6x.name=g++ 6.x
|
||||
compiler.objcxxg6x.alias=g6
|
||||
compiler.objcxxg7.exe=/usr/bin/g++-7
|
||||
compiler.objcxxg7.name=g++ 7.x
|
||||
compiler.objcxxg8.exe=/usr/bin/g++-8
|
||||
compiler.objcxxg8.name=g++ 8.x
|
||||
compiler.objcxxg9.exe=/usr/bin/g++-9
|
||||
compiler.objcxxg9.name=g++ 9.x
|
||||
compiler.objcxxg10.exe=/usr/bin/g++-10
|
||||
compiler.objcxxg10.name=g++ 10.x
|
||||
compiler.objcxxg11.exe=/usr/bin/g++-11
|
||||
compiler.objcxxg11.name=g++ 11.x
|
||||
compiler.objcxxgdefault.exe=/usr/bin/g++
|
||||
compiler.objcxxgdefault.name=g++ default
|
||||
|
||||
tools=strings:ldd
|
||||
|
||||
tools.ldd.name=ldd
|
||||
tools.ldd.exe=/usr/bin/ldd
|
||||
tools.ldd.type=postcompilation
|
||||
tools.ldd.class=readelf-tool
|
||||
tools.ldd.exclude=djggp
|
||||
tools.ldd.stdinHint=disabled
|
||||
|
||||
tools.strings.exe=/usr/bin/strings
|
||||
tools.strings.name=strings
|
||||
tools.strings.type=postcompilation
|
||||
tools.strings.class=strings-tool
|
||||
tools.strings.exclude=djggp
|
||||
tools.strings.stdinHint=disabled
|
||||
|
||||
|
||||
#################################
|
||||
#################################
|
||||
# Installed libs (See c++.amazon.properties for a scheme of libs group)
|
||||
libs=
|
||||
451
etc/config/objc.amazon.properties
Normal file
451
etc/config/objc.amazon.properties
Normal file
@@ -0,0 +1,451 @@
|
||||
compilers=&objcgcc86:&objccross
|
||||
defaultCompiler=objcg122
|
||||
demangler=/opt/compiler-explorer/gcc-12.2.0/bin/c++filt
|
||||
objdumper=/opt/compiler-explorer/gcc-12.2.0/bin/objdump
|
||||
needsMulti=false
|
||||
|
||||
externalparser=CEAsmParser
|
||||
externalparser.exe=/usr/local/bin/asm-parser
|
||||
|
||||
###############################
|
||||
# GCC for x86
|
||||
group.objcgcc86.compilers=objcg122:objcgsnapshot
|
||||
group.objcgcc86.groupName=GCC x86-64
|
||||
group.objcgcc86.instructionSet=amd64
|
||||
group.objcgcc86.isSemVer=true
|
||||
group.objcgcc86.baseName=x86-64 gcc
|
||||
group.objcgcc86.supportsPVS-Studio=true
|
||||
group.objcgcc86.licenseLink=https://gcc.gnu.org/onlinedocs/gcc/Copying.html
|
||||
group.objcgcc86.licenseName=GNU General Public License
|
||||
group.objcgcc86.licensePreamble=Copyright (c) 2007 Free Software Foundation, Inc. <a href="https://fsf.org/" target="_blank">https://fsf.org/</a>
|
||||
|
||||
compiler.objcg122.exe=/opt/compiler-explorer/gcc-12.2.0/bin/gcc
|
||||
compiler.objcg122.semver=12.2
|
||||
|
||||
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)
|
||||
|
||||
###############################
|
||||
# Cross Compilers
|
||||
group.objccross.compilers=&objcppcs:&objcmipss:&objcgccarm:&objcrv:&objcs390x:&objcloongarch64:&objcsparc:&objcsparc64:&objcsparcleon
|
||||
group.objccross.supportsBinary=false
|
||||
group.objccross.supportsBinaryObject=true
|
||||
group.objccross.groupName=Cross GCC
|
||||
group.objccross.licenseLink=https://gcc.gnu.org/onlinedocs/gcc/Copying.html
|
||||
group.objccross.licenseName=GNU General Public License
|
||||
group.objccross.licensePreamble=Copyright (c) 2007 Free Software Foundation, Inc. <a href="https://fsf.org/" target="_blank">https://fsf.org/</a>
|
||||
|
||||
###############################
|
||||
# Cross for SPARC
|
||||
group.objcsparc.compilers=&objcgccsparc
|
||||
|
||||
# GCC for SPARC
|
||||
group.objcgccsparc.compilers=objcsparcg1220
|
||||
group.objcgccsparc.supportsBinary=true
|
||||
group.objcgccsparc.supportsExecute=false
|
||||
group.objcgccsparc.baseName=SPARC gcc
|
||||
group.objcgccsparc.groupName=SPARC GCC
|
||||
group.objcgccsparc.isSemVer=true
|
||||
|
||||
compiler.objcsparcg1220.exe=/opt/compiler-explorer/sparc/gcc-12.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-gcc
|
||||
compiler.objcsparcg1220.semver=12.2.0
|
||||
compiler.objcsparcg1220.objdumper=/opt/compiler-explorer/sparc/gcc-12.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-objdump
|
||||
compiler.objcsparcg1220.demangler=/opt/compiler-explorer/sparc/gcc-12.2.0/sparc-unknown-linux-gnu/bin/sparc-unknown-linux-gnu-c++filt
|
||||
|
||||
###############################
|
||||
# Cross for SPARC64
|
||||
group.objcsparc64.compilers=&objcgccsparc64
|
||||
|
||||
# GCC for SPARC64
|
||||
group.objcgccsparc64.compilers=objcsparc64g1220
|
||||
group.objcgccsparc64.supportsBinary=true
|
||||
group.objcgccsparc64.supportsExecute=false
|
||||
group.objcgccsparc64.baseName=SPARC64 gcc
|
||||
group.objcgccsparc64.groupName=SPARC64 GCC
|
||||
group.objcgccsparc64.isSemVer=true
|
||||
|
||||
compiler.objcsparc64g1220.exe=/opt/compiler-explorer/sparc64/gcc-12.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-gcc
|
||||
compiler.objcsparc64g1220.semver=12.2.0
|
||||
compiler.objcsparc64g1220.objdumper=/opt/compiler-explorer/sparc64/gcc-12.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-objdump
|
||||
compiler.objcsparc64g1220.demangler=/opt/compiler-explorer/sparc64/gcc-12.2.0/sparc64-multilib-linux-gnu/bin/sparc64-multilib-linux-gnu-c++filt
|
||||
|
||||
###############################
|
||||
# Cross for SPARC-LEON
|
||||
group.objcsparcleon.compilers=&objcgccsparcleon
|
||||
|
||||
# GCC for SPARC-LEON
|
||||
group.objcgccsparcleon.compilers=objcsparcleong1220
|
||||
group.objcgccsparcleon.supportsBinary=true
|
||||
group.objcgccsparcleon.supportsExecute=false
|
||||
group.objcgccsparcleon.baseName=SPARC LEON gcc
|
||||
group.objcgccsparcleon.groupName=SPARC LEON GCC
|
||||
group.objcgccsparcleon.isSemVer=true
|
||||
|
||||
compiler.objcsparcleong1220.exe=/opt/compiler-explorer/sparc-leon/gcc-12.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-gcc
|
||||
compiler.objcsparcleong1220.semver=12.2.0
|
||||
compiler.objcsparcleong1220.objdumper=/opt/compiler-explorer/sparc-leon/gcc-12.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-objdump
|
||||
compiler.objcsparcleong1220.demangler=/opt/compiler-explorer/sparc-leon/gcc-12.2.0/sparc-leon-linux-uclibc/bin/sparc-leon-linux-uclibc-c++filt
|
||||
|
||||
###############################
|
||||
# Cross for loongarch64
|
||||
group.objcloongarch64.compilers=&objcgccloongarch64
|
||||
|
||||
# GCC for loongarch64
|
||||
group.objcgccloongarch64.compilers=objcloongarch64g1220
|
||||
group.objcgccloongarch64.supportsBinary=true
|
||||
group.objcgccloongarch64.supportsExecute=false
|
||||
group.objcgccloongarch64.baseName=loongarch64 gcc
|
||||
group.objcgccloongarch64.groupName=loongarch64 GCC
|
||||
group.objcgccloongarch64.isSemVer=true
|
||||
|
||||
compiler.objcloongarch64g1220.exe=/opt/compiler-explorer/loongarch64/gcc-12.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-gcc
|
||||
compiler.objcloongarch64g1220.semver=12.2.0
|
||||
compiler.objcloongarch64g1220.objdumper=/opt/compiler-explorer/loongarch64/gcc-12.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-objdump
|
||||
compiler.objcloongarch64g1220.demangler=/opt/compiler-explorer/loongarch64/gcc-12.2.0/loongarch64-unknown-linux-gnu/bin/loongarch64-unknown-linux-gnu-c++filt
|
||||
|
||||
|
||||
###############################
|
||||
# Cross for s390x
|
||||
group.objcs390x.compilers=&objcgccs390x
|
||||
|
||||
# GCC for s390x
|
||||
group.objcgccs390x.compilers=objcs390xg1220
|
||||
group.objcgccs390x.supportsBinary=true
|
||||
group.objcgccs390x.supportsExecute=false
|
||||
group.objcgccs390x.baseName=s390x gcc
|
||||
group.objcgccs390x.groupName=s390x GCC
|
||||
group.objcgccs390x.isSemVer=true
|
||||
|
||||
compiler.objcs390xg1220.exe=/opt/compiler-explorer/s390x/gcc-12.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-gcc
|
||||
compiler.objcs390xg1220.semver=12.2.0
|
||||
compiler.objcs390xg1220.objdumper=/opt/compiler-explorer/s390x/gcc-12.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-objdump
|
||||
compiler.objcs390xg1220.demangler=/opt/compiler-explorer/s390x/gcc-12.2.0/s390x-ibm-linux-gnu/bin/s390x-ibm-linux-gnu-c++filt
|
||||
|
||||
###############################
|
||||
# Cross compilers for PPC
|
||||
group.objcppcs.compilers=&objcppc:&objcppc64:&objcppc64le
|
||||
group.objcppcs.isSemVer=true
|
||||
group.objcppcs.supportsBinary=true
|
||||
group.objcppcs.supportsExecute=false
|
||||
|
||||
group.objcppc.compilers=objcppcg1220
|
||||
group.objcppc.groupName=POWER
|
||||
group.objcppc.baseName=POWER GCC
|
||||
|
||||
compiler.objcppcg1220.exe=/opt/compiler-explorer/powerpc/gcc-12.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-gcc
|
||||
compiler.objcppcg1220.semver=12.2.0
|
||||
compiler.objcppcg1220.objdumper=/opt/compiler-explorer/powerpc/gcc-12.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-objdump
|
||||
compiler.objcppcg1220.demangler=/opt/compiler-explorer/powerpc/gcc-12.2.0/powerpc-unknown-linux-gnu/bin/powerpc-unknown-linux-gnu-c++filt
|
||||
|
||||
group.objcppc64.compilers=objcppc64g1220
|
||||
group.objcppc64.groupName=POWER64
|
||||
group.objcppc64.baseName=POWER64 GCC
|
||||
|
||||
compiler.objcppc64g1220.exe=/opt/compiler-explorer/powerpc64/gcc-12.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-gcc
|
||||
compiler.objcppc64g1220.semver=12.2.0
|
||||
compiler.objcppc64g1220.objdumper=/opt/compiler-explorer/powerpc64/gcc-12.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-objdump
|
||||
compiler.objcppc64g1220.demangler=/opt/compiler-explorer/powerpc64/gcc-12.2.0/powerpc64-unknown-linux-gnu/bin/powerpc64-unknown-linux-gnu-c++filt
|
||||
|
||||
group.objcppc64le.compilers=objcppc64leg1220
|
||||
group.objcppc64le.groupName=POWER64LE
|
||||
group.objcppc64le.baseName=POWER64LE GCC
|
||||
|
||||
compiler.objcppc64leg1220.exe=/opt/compiler-explorer/powerpc64le/gcc-12.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-gcc
|
||||
compiler.objcppc64leg1220.semver=12.2.0
|
||||
compiler.objcppc64leg1220.objdumper=/opt/compiler-explorer/powerpc64le/gcc-12.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-objdump
|
||||
compiler.objcppc64leg1220.demangler=/opt/compiler-explorer/powerpc64le/gcc-12.2.0/powerpc64le-unknown-linux-gnu/bin/powerpc64le-unknown-linux-gnu-c++filt
|
||||
|
||||
###############################
|
||||
# GCC for ARM
|
||||
group.objcgccarm.compilers=&objcgcc32arm:&objcgcc64arm
|
||||
group.objcgccarm.supportsBinary=true
|
||||
group.objcgccarm.supportsExecute=false
|
||||
# Some of the compilers 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.objcgccarm.includeFlag=-I
|
||||
|
||||
# 32 bit
|
||||
group.objcgcc32arm.groupName=Arm 32-bit GCC
|
||||
group.objcgcc32arm.compilers=objcarmg1220:objcarmgtrunk
|
||||
group.objcgcc32arm.isSemVer=true
|
||||
group.objcgcc32arm.instructionSet=arm32
|
||||
group.objcgcc32arm.baseName=ARM gcc
|
||||
|
||||
compiler.objcarmg1220.exe=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc
|
||||
compiler.objcarmg1220.semver=12.2.0
|
||||
compiler.objcarmg1220.objdumper=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-objdump
|
||||
compiler.objcarmg1220.demangler=/opt/compiler-explorer/arm/gcc-12.2.0/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-c++filt
|
||||
|
||||
compiler.objcarmgtrunk.exe=/opt/compiler-explorer/arm/gcc-trunk/arm-unknown-linux-gnueabihf/bin/arm-unknown-linux-gnueabihf-gcc
|
||||
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
|
||||
|
||||
# 64 bit
|
||||
group.objcgcc64arm.groupName=Arm 64-bit GCC
|
||||
group.objcgcc64arm.baseName=ARM64 GCC
|
||||
group.objcgcc64arm.compilers=objcarm64gtrunk:objcarm64g1220
|
||||
group.objcgcc64arm.isSemVer=true
|
||||
group.objcgcc64arm.instructionSet=aarch64
|
||||
|
||||
compiler.objcarm64g1220.exe=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc
|
||||
compiler.objcarm64g1220.semver=12.2.0
|
||||
compiler.objcarm64g1220.objdumper=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump
|
||||
compiler.objcarm64g1220.demangler=/opt/compiler-explorer/arm64/gcc-12.2.0/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++filt
|
||||
|
||||
compiler.objcarm64gtrunk.exe=/opt/compiler-explorer/arm64/gcc-trunk/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc
|
||||
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
|
||||
|
||||
###############################
|
||||
# GCC for MIPS
|
||||
group.objcmipss.compilers=&objcmips:&objcmipsel:&objcmips64:&objcmips64el
|
||||
|
||||
group.objcmipss.isSemVer=true
|
||||
group.objcmipss.supportsBinary=true
|
||||
group.objcmipss.supportsExecute=false
|
||||
|
||||
## MIPS
|
||||
group.objcmips.compilers=objcmipsg1220
|
||||
group.objcmips.groupName=MIPS GCC
|
||||
group.objcmips.baseName=mips gcc
|
||||
|
||||
compiler.objcmipsg1220.exe=/opt/compiler-explorer/mips/gcc-12.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-gcc
|
||||
compiler.objcmipsg1220.semver=12.2.0
|
||||
compiler.objcmipsg1220.objdumper=/opt/compiler-explorer/mips/gcc-12.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-objdump
|
||||
compiler.objcmipsg1220.demangler=/opt/compiler-explorer/mips/gcc-12.2.0/mips-unknown-linux-gnu/bin/mips-unknown-linux-gnu-c++filt
|
||||
|
||||
## MIPS64
|
||||
group.objcmips64.groupName=MIPS64 GCC
|
||||
group.objcmips64.compilers=objcmips64g1220
|
||||
group.objcmips64.baseName=MIPS64 gcc
|
||||
|
||||
compiler.objcmips64g1220.exe=/opt/compiler-explorer/mips64/gcc-12.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-gcc
|
||||
compiler.objcmips64g1220.semver=12.2.0
|
||||
compiler.objcmips64g1220.objdumper=/opt/compiler-explorer/mips64/gcc-12.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-objdump
|
||||
compiler.objcmips64g1220.demangler=/opt/compiler-explorer/mips64/gcc-12.2.0/mips64-unknown-linux-gnu/bin/mips64-unknown-linux-gnu-c++filt
|
||||
|
||||
## MIPS EL
|
||||
group.objcmipsel.groupName=MIPSEL GCC
|
||||
group.objcmipsel.compilers=objcmipselg1220
|
||||
group.objcmipsel.baseName=mips (el) gcc
|
||||
|
||||
compiler.objcmipselg1220.exe=/opt/compiler-explorer/mipsel/gcc-12.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-gcc
|
||||
compiler.objcmipselg1220.semver=12.2.0
|
||||
compiler.objcmipselg1220.objdumper=/opt/compiler-explorer/mipsel/gcc-12.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-objdump
|
||||
compiler.objcmipselg1220.demangler=/opt/compiler-explorer/mipsel/gcc-12.2.0/mipsel-multilib-linux-gnu/bin/mipsel-multilib-linux-gnu-c++filt
|
||||
|
||||
## MIPS64 EL
|
||||
group.objcmips64el.groupName=MIPS64EL GCC
|
||||
group.objcmips64el.compilers=objcmips64elg1220
|
||||
group.objcmips64el.baseName=mips64 (el) gcc
|
||||
|
||||
compiler.objcmips64elg1220.exe=/opt/compiler-explorer/mips64el/gcc-12.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-gcc
|
||||
compiler.objcmips64elg1220.semver=12.2.0
|
||||
compiler.objcmips64elg1220.objdumper=/opt/compiler-explorer/mips64el/gcc-12.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-objdump
|
||||
compiler.objcmips64elg1220.demangler=/opt/compiler-explorer/mips64el/gcc-12.2.0/mips64el-multilib-linux-uclibc/bin/mips64el-multilib-linux-uclibc-c++filt
|
||||
|
||||
|
||||
###############################
|
||||
# GCC for RISC-V
|
||||
group.objcrv.compilers=&objcrv64:&objcrv32
|
||||
group.objcrv.groupName=RISC-V GCC
|
||||
group.objcrv.supportsExecute=false
|
||||
group.objcrv.supportsBinary=true
|
||||
|
||||
group.objcrv32.groupName=RISC-V 32-bits
|
||||
group.objcrv32.baseName=RISC-V 32 GCC
|
||||
group.objcrv32.compilers=objcrv32g1220
|
||||
|
||||
compiler.objcrv32g1220.exe=/opt/compiler-explorer/riscv32/gcc-12.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-gcc
|
||||
compiler.objcrv32g1220.semver=12.2.0
|
||||
compiler.objcrv32g1220.demangler=/opt/compiler-explorer/riscv32/gcc-12.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-c++filt
|
||||
compiler.objcrv32g1220.objdumper=/opt/compiler-explorer/riscv32/gcc-12.2.0/riscv32-unknown-linux-gnu/bin/riscv32-unknown-linux-gnu-objdump
|
||||
|
||||
group.objcrv64.groupName=RISC-V 64-bits
|
||||
group.objcrv64.baseName=RISC-V 64 GCC
|
||||
group.objcrv64.compilers=objcrv64g1220
|
||||
|
||||
compiler.objcrv64g1220.exe=/opt/compiler-explorer/riscv64/gcc-12.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-gcc
|
||||
compiler.objcrv64g1220.semver=12.2.0
|
||||
compiler.objcrv64g1220.objdumper=/opt/compiler-explorer/riscv64/gcc-12.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-objdump
|
||||
compiler.objcrv64g1220.demangler=/opt/compiler-explorer/riscv64/gcc-12.2.0/riscv64-unknown-linux-gnu/bin/riscv64-unknown-linux-gnu-c++filt
|
||||
|
||||
#################################
|
||||
#################################
|
||||
# Libraries
|
||||
libs=cs50:hedley:libuv:lua:nsimd:openssl:python:simde:curl
|
||||
|
||||
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/
|
||||
|
||||
libs.lua.name=Lua
|
||||
libs.lua.versions=535:540
|
||||
libs.lua.liblink=lua:dl:m
|
||||
libs.lua.versions.535.version=5.3.5
|
||||
libs.lua.versions.535.path=/opt/compiler-explorer/libs/lua/v5.3.5/include
|
||||
libs.lua.versions.535.libpath=/opt/compiler-explorer/libs/lua/v5.3.5/lib/x86_64:/opt/compiler-explorer/libs/lua/v5.3.5/lib/x86
|
||||
libs.lua.versions.540.version=5.4.0
|
||||
libs.lua.versions.540.path=/opt/compiler-explorer/libs/lua/v5.4.0/include
|
||||
libs.lua.versions.540.libpath=/opt/compiler-explorer/libs/lua/v5.4.0/lib/x86_64:/opt/compiler-explorer/libs/lua/v5.4.0/lib/x86
|
||||
|
||||
libs.libuv.name=libuv
|
||||
libs.libuv.description=Cross-platform asynchronous I/O
|
||||
libs.libuv.liblink=uv
|
||||
libs.libuv.url=https://github.com/libuv/libuv
|
||||
libs.libuv.versions=1370:1381
|
||||
libs.libuv.versions.1370.version=1.37.0
|
||||
libs.libuv.versions.1370.path=/opt/compiler-explorer/libs/libuv/v1.37.0/include
|
||||
libs.libuv.versions.1370.libpath=/opt/compiler-explorer/libs/libuv/v1.37.0/x86_64/lib:/opt/compiler-explorer/libs/libuv/v1.37.0/x86/lib
|
||||
libs.libuv.versions.1381.version=1.38.1
|
||||
libs.libuv.versions.1381.path=/opt/compiler-explorer/libs/libuv/v1.38.1/include
|
||||
libs.libuv.versions.1381.libpath=/opt/compiler-explorer/libs/libuv/v1.38.1/x86_64/lib:/opt/compiler-explorer/libs/libuv/v1.38.1/x86/lib
|
||||
|
||||
libs.nsimd.name=NSIMD
|
||||
libs.nsimd.url=https://github.com/agenium-scale/nsimd/
|
||||
libs.nsimd.versions=22-x86_64:22-arm:22-arm64:301-x86_64:301-arm:301-arm64
|
||||
libs.nsimd.versions.22-x86_64.version=2.2 (x86_64)
|
||||
libs.nsimd.versions.22-x86_64.path=/opt/compiler-explorer/libs/nsimd/v2.2/x86_64/include
|
||||
libs.nsimd.versions.22-x86_64.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/x86_64/lib
|
||||
libs.nsimd.versions.22-x86_64.liblink=nsimd_avx512_skylake
|
||||
libs.nsimd.versions.22-arm.version=2.2 (arm)
|
||||
libs.nsimd.versions.22-arm.path=/opt/compiler-explorer/libs/nsimd/v2.2/arm/neon128/include
|
||||
libs.nsimd.versions.22-arm.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/arm/neon128/lib
|
||||
libs.nsimd.versions.22-arm.liblink=nsimd_neon128
|
||||
libs.nsimd.versions.22-arm64.version=2.2 (arm64)
|
||||
libs.nsimd.versions.22-arm64.path=/opt/compiler-explorer/libs/nsimd/v2.2/arm/aarch64/include
|
||||
libs.nsimd.versions.22-arm64.libpath=/opt/compiler-explorer/libs/nsimd/v2.2/arm/aarch64/lib
|
||||
libs.nsimd.versions.22-arm64.liblink=nsimd_aarch64
|
||||
libs.nsimd.versions.301-x86_64.version=3.0.1 (x86_64)
|
||||
libs.nsimd.versions.301-x86_64.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/x86_64/include
|
||||
libs.nsimd.versions.301-x86_64.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/x86_64/lib
|
||||
libs.nsimd.versions.301-arm.version=3.0.1 (arm)
|
||||
libs.nsimd.versions.301-arm.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/neon128/include
|
||||
libs.nsimd.versions.301-arm.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/neon128/lib
|
||||
libs.nsimd.versions.301-arm64.version=3.0.1 (arm64)
|
||||
libs.nsimd.versions.301-arm64.path=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/aarch64/include
|
||||
libs.nsimd.versions.301-arm64.libpath=/opt/compiler-explorer/libs/nsimd/v3.0.1/arm/aarch64/lib
|
||||
|
||||
libs.openssl.name=OpenSSL
|
||||
libs.openssl.liblink=ssl:crypto
|
||||
libs.openssl.versions=111c:111g
|
||||
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.111g.version=1.1.1g
|
||||
libs.openssl.versions.111g.path=/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86_64/opt/include
|
||||
libs.openssl.versions.111g.libpath=/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86_64/opt/lib:/opt/compiler-explorer/libs/openssl/openssl_1_1_1g/x86/opt/lib
|
||||
|
||||
libs.python.name=Python
|
||||
libs.python.url=https://python.org
|
||||
libs.python.versions=359:3610:376:381
|
||||
libs.python.versions.359.version=3.5.9
|
||||
libs.python.versions.359.path=/opt/compiler-explorer/python-3.5.9/include/python3.5
|
||||
libs.python.versions.3610.version=3.6.10
|
||||
libs.python.versions.3610.path=/opt/compiler-explorer/python-3.6.10/include/python3.6
|
||||
libs.python.versions.376.version=3.7.6
|
||||
libs.python.versions.376.path=/opt/compiler-explorer/python-3.7.6/include/python3.7
|
||||
libs.python.versions.381.version=3.8.1
|
||||
libs.python.versions.381.path=/opt/compiler-explorer/python-3.8.1/include/python3.8
|
||||
|
||||
libs.simde.name=SIMDe
|
||||
libs.simde.description=Implementations of SIMD instruction sets for systems which don't natively support them.
|
||||
libs.simde.versions=trunk
|
||||
libs.simde.url=https://github.com/simd-everywhere/simde
|
||||
libs.simde.versions.trunk.version=trunk
|
||||
libs.simde.versions.trunk.path=/opt/compiler-explorer/libs/simde/trunk
|
||||
|
||||
libs.curl.name=curl
|
||||
libs.curl.liblink=curl-d
|
||||
libs.curl.url=https://curl.se
|
||||
libs.curl.versions=7831
|
||||
libs.curl.versions.7831.version=7.83.1
|
||||
libs.curl.versions.7831.path=/opt/compiler-explorer/libs/curl/7.83.1/include
|
||||
|
||||
#################################
|
||||
#################################
|
||||
# Installed tools
|
||||
tools=PVS-Studio:clangformattrunk:clangquerytrunk:clangtidytrunk:ldd:llvm-mcatrunk:osacatrunk:pahole:readelf:strings
|
||||
|
||||
tools.PVS-Studio.name=PVS-Studio
|
||||
tools.PVS-Studio.exe=/opt/compiler-explorer/pvs-studio-latest/bin/pvs-studio-analyzer
|
||||
tools.PVS-Studio.type=postcompilation
|
||||
tools.PVS-Studio.exclude=ccl19:ccl19_2015_u3:ccl_new:armcclang32:armcclang64:rvcclang:ppci:cicc:cross:cgcc-classic:cc65
|
||||
tools.PVS-Studio.class=pvs-studio-tool
|
||||
tools.PVS-Studio.stdinHint=disabled
|
||||
tools.PVS-Studio.includeKey=supportsPVS-Studio
|
||||
|
||||
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.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.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
|
||||
|
||||
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.osacatrunk.name=OSACA (0.4.8)
|
||||
tools.osacatrunk.exe=/opt/compiler-explorer/osaca-0.4.8/bin/osaca
|
||||
tools.osacatrunk.type=postcompilation
|
||||
tools.osacatrunk.class=osaca-tool
|
||||
tools.osacatrunk.exclude=cavr:carm:cmips:cmsp:cppc:ppci:armv7:ckvx:ck1c:carduino:carmh:carm5:carmg:carmce:cfr:rv6
|
||||
tools.osacatrunk.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.strings.exe=/opt/compiler-explorer/gcc-snapshot/bin/strings
|
||||
tools.strings.name=strings
|
||||
tools.strings.type=postcompilation
|
||||
tools.strings.class=strings-tool
|
||||
tools.strings.exclude=
|
||||
tools.strings.stdinHint=disabled
|
||||
39
etc/config/objc.defaults.properties
Normal file
39
etc/config/objc.defaults.properties
Normal file
@@ -0,0 +1,39 @@
|
||||
# Default settings for Objective-C
|
||||
compilers=:&gcc
|
||||
defaultCompiler=gdefault
|
||||
objdumper=objdump
|
||||
postProcess=
|
||||
supportsBinary=true
|
||||
supportsBinaryObject=true
|
||||
binaryHideFuncRe=^(__.*|_(init|start|fini)|(de)?register_tm_clones|call_gmon_start|frame_dummy|\.plt.*)$
|
||||
stubRe=\bmain\b
|
||||
stubText=int main(void){return 0;/*stub provided by Compiler Explorer*/}
|
||||
supportsLibraryCodeFilter=true
|
||||
|
||||
group.gcc.compilers=objcg44:objcg45:objcg46:objcg47:objcg48:objcg5:objcg6:objcg7:objcg8:objcg9:objcg10:objcg11:objcgdefault
|
||||
compiler.objcg44.exe=/usr/bin/gcc-4.4
|
||||
compiler.objcg44.name=gcc 4.4
|
||||
compiler.objcg45.exe=/usr/bin/gcc-4.5
|
||||
compiler.objcg45.name=gcc 4.5
|
||||
compiler.objcg46.exe=/usr/bin/gcc-4.6
|
||||
compiler.objcg46.name=gcc 4.6
|
||||
compiler.objcg47.exe=/usr/bin/gcc-4.7
|
||||
compiler.objcg47.name=gcc 4.7
|
||||
compiler.objcg48.exe=/usr/bin/gcc-4.8
|
||||
compiler.objcg48.name=gcc 4.8
|
||||
compiler.objcg5.exe=/usr/bin/gcc-5
|
||||
compiler.objcg5.name=gcc 5.x
|
||||
compiler.objcg6.exe=/usr/bin/gcc-6
|
||||
compiler.objcg6.name=gcc 6.x
|
||||
compiler.objcg7.exe=/usr/bin/gcc-7
|
||||
compiler.objcg7.name=gcc 7.x
|
||||
compiler.objcg8.exe=/usr/bin/gcc-8
|
||||
compiler.objcg8.name=gcc 8.x
|
||||
compiler.objcg9.exe=/usr/bin/gcc-9
|
||||
compiler.objcg9.name=gcc 9.x
|
||||
compiler.objcg10.exe=/usr/bin/gcc-10
|
||||
compiler.objcg10.name=gcc 10.x
|
||||
compiler.objcg11.exe=/usr/bin/gcc-11
|
||||
compiler.objcg11.name=gcc 11.x
|
||||
compiler.objcgdefault.exe=/usr/bin/gcc
|
||||
compiler.objcgdefault.name=gcc default
|
||||
4
examples/objc++/default.mm
Normal file
4
examples/objc++/default.mm
Normal file
@@ -0,0 +1,4 @@
|
||||
/* Type your code here, or load an example. */
|
||||
int square(int num) {
|
||||
return num * num;
|
||||
}
|
||||
4
examples/objc/default.m
Normal file
4
examples/objc/default.m
Normal file
@@ -0,0 +1,4 @@
|
||||
/* Type your code here, or load an example. */
|
||||
int square(int num) {
|
||||
return num * num;
|
||||
}
|
||||
@@ -429,6 +429,28 @@ const definitions: Record<LanguageKey, LanguageDefinition> = {
|
||||
previewFilter: null,
|
||||
monacoDisassembly: null,
|
||||
},
|
||||
objc: {
|
||||
name: 'Objective-C',
|
||||
monaco: 'objective-c',
|
||||
extensions: ['.m'],
|
||||
alias: [],
|
||||
logoUrl: null,
|
||||
logoUrlDark: null,
|
||||
formatter: null,
|
||||
previewFilter: null,
|
||||
monacoDisassembly: null,
|
||||
},
|
||||
'objc++': {
|
||||
name: 'Objective-C++',
|
||||
monaco: 'objective-c',
|
||||
extensions: ['.mm'],
|
||||
alias: [],
|
||||
logoUrl: null,
|
||||
logoUrlDark: null,
|
||||
formatter: null,
|
||||
previewFilter: null,
|
||||
monacoDisassembly: null,
|
||||
},
|
||||
ocaml: {
|
||||
name: 'OCaml',
|
||||
monaco: 'ocaml',
|
||||
|
||||
@@ -59,6 +59,8 @@ export type LanguageKey =
|
||||
| 'mlir'
|
||||
| 'nim'
|
||||
| 'ocaml'
|
||||
| 'objc'
|
||||
| 'objc++'
|
||||
| 'openclc'
|
||||
| 'pascal'
|
||||
| 'pony'
|
||||
|
||||
@@ -78,6 +78,7 @@ const plugins = [
|
||||
'typescript',
|
||||
'solidity',
|
||||
'scheme',
|
||||
'objective-c',
|
||||
],
|
||||
filename: isDev ? '[name].worker.js' : `[name]${webjackJsHack}worker.[contenthash].js`,
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user