diff --git a/app.js b/app.js index d05ca898..b3fa0a72 100755 --- a/app.js +++ b/app.js @@ -329,8 +329,6 @@ function findCompilers() { versionRe: props("versionRe"), compilerType: props("compilerType", ""), intelAsm: props("intelAsm", ""), - asmFlag: props("asmFlag", "-S"), - outputFlag: props("outputFlag", "-o"), needsMulti: !!props("needsMulti", true), supportsBinary: !!props("supportsBinary", true), postProcess: props("postProcess", "").split("|") diff --git a/etc/config/c++.lud-mgodbolt01.properties b/etc/config/c++.lud-mgodbolt01.properties index 4bc410a3..12302098 100644 --- a/etc/config/c++.lud-mgodbolt01.properties +++ b/etc/config/c++.lud-mgodbolt01.properties @@ -18,7 +18,6 @@ compiler.clang39.name=Clang 3.9 group.windows.compilers=&cl19 group.windows.compilerType=CL group.windows.needsMulti=false -group.windows.asmFlag=/FAsc group.windows.versionFlag=/? group.windows.versionRe=^Microsoft \(R\) C/C\+\+.*$ group.cl19.compilers=cl19_64:cl19_x86:cl19_arm diff --git a/etc/config/d.amazon.properties b/etc/config/d.amazon.properties index 4a960429..86ebd71b 100644 --- a/etc/config/d.amazon.properties +++ b/etc/config/d.amazon.properties @@ -12,9 +12,7 @@ compiler.gdc52.exe=/opt/gcc-explorer/gdc5.2.0/x86_64-pc-linux-gnu/bin/gdc compiler.gdc52.name=gdc 5.2.0 group.ldc.compilers=ldc017:ldc100:ldc110 -group.ldc.asmFlag=-output-s -group.ldc.outputFlag=-of -group.ldc.intelAsm=-x86-asm-syntax=intel +group.ldc.compilerType=ldc compiler.ldc017.exe=/opt/gcc-explorer/ldc0.17.2/ldc2-0.17.2-linux-x86_64/bin/ldc2 compiler.ldc017.name=ldc 0.17.2 compiler.ldc100.exe=/opt/gcc-explorer/ldc1.0.0/ldc2-1.0.0-linux-x86_64/bin/ldc2 diff --git a/lib/compile.js b/lib/compile.js index 97c29986..d45de616 100644 --- a/lib/compile.js +++ b/lib/compile.js @@ -446,12 +446,23 @@ function compileRust(info, env) { compiler.optionsForFilter = function (filters, outputFilename) { var options = ['-g', '-o', this.filename(outputFilename)]; // TODO: binary not supported(?) - if (filters.binary) options = options.concat('--emit', 'asm'); + if (!filters.binary) options = options.concat('--emit', 'asm'); options = options.concat(['--crate-type', 'staticlib']); return options; }; } +function compileLdc(info, env) { + var compiler = new Compile(info, env); + // TODO this needs testing! + compiler.optionsForFilter = function (filters, outputFilename) { + var options = ['-g', '-of', this.filename(outputFilename)]; + if (filters.intel && !filters.binary) options.concat('-x86-asm-syntax=intel'); + if (!filters.binary) options = options.concat('-output-s'); + return options; + }; +} + var compileFactories = { "": function (info, env) { var comp = new Compile(info, env); @@ -459,7 +470,8 @@ var compileFactories = { }, "CL": compileCl, "6g": compile6g, - "rust": compileRust + "rust": compileRust, + "ldc": compileLdc }; function CompileHandler() {