aboutsummaryrefslogtreecommitdiff
path: root/lib/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compilers')
-rw-r--r--lib/compilers/assembly.ts4
-rw-r--r--lib/compilers/cc65.ts4
-rw-r--r--lib/compilers/circt.ts4
-rw-r--r--lib/compilers/cppfront.ts4
-rw-r--r--lib/compilers/dotnet.ts4
-rw-r--r--lib/compilers/erlang.ts4
-rw-r--r--lib/compilers/hlsl.ts8
-rw-r--r--lib/compilers/hook.ts4
-rw-r--r--lib/compilers/jakt.ts13
-rw-r--r--lib/compilers/llvm-mos.ts4
-rw-r--r--lib/compilers/mlir.ts4
-rw-r--r--lib/compilers/nvcc.js4
-rw-r--r--lib/compilers/pony.ts6
-rw-r--r--lib/compilers/racket.ts10
-rw-r--r--lib/compilers/rga.ts4
-rw-r--r--lib/compilers/rust.ts4
-rw-r--r--lib/compilers/toit.ts4
-rw-r--r--lib/compilers/z88dk.ts13
-rw-r--r--lib/compilers/zig.ts8
-rw-r--r--lib/compilers/zigcc.ts10
-rw-r--r--lib/compilers/zigcxx.ts10
21 files changed, 82 insertions, 48 deletions
diff --git a/lib/compilers/assembly.ts b/lib/compilers/assembly.ts
index ac8b6508c..1d7d4dbae 100644
--- a/lib/compilers/assembly.ts
+++ b/lib/compilers/assembly.ts
@@ -28,7 +28,7 @@ import path from 'path';
import _ from 'underscore';
import {BuildResult} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AsmRaw} from '../parsers/asm-raw';
import {fileExists} from '../utils';
@@ -138,7 +138,7 @@ export class AssemblyCompiler extends BaseCompiler {
const outputFilename = this.getExecutableFilename(dirPath);
- const buildFilters: ParseFilters = Object.assign({}, key.filters);
+ const buildFilters: ParseFiltersAndOutputOptions = Object.assign({}, key.filters);
buildFilters.binary = true;
buildFilters.execute = false;
diff --git a/lib/compilers/cc65.ts b/lib/compilers/cc65.ts
index 927ba9dba..bbb5467cb 100644
--- a/lib/compilers/cc65.ts
+++ b/lib/compilers/cc65.ts
@@ -28,7 +28,7 @@ import fs from 'fs-extra';
import _ from 'underscore';
import {CompilationResult} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {CC65AsmParser} from '../parsers/asm-parser-cc65';
import * as utils from '../utils';
@@ -98,7 +98,7 @@ export class Cc65Compiler extends BaseCompiler {
maxSize: number,
intelAsm,
demangle,
- filters: ParseFilters,
+ filters: ParseFiltersAndOutputOptions,
) {
const res = await super.objdump(outputFilename, result, maxSize, intelAsm, demangle, filters);
diff --git a/lib/compilers/circt.ts b/lib/compilers/circt.ts
index 8627edae0..b34fdd450 100644
--- a/lib/compilers/circt.ts
+++ b/lib/compilers/circt.ts
@@ -24,7 +24,7 @@
import path from 'path';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {BaseParser} from './argument-parsers';
@@ -63,7 +63,7 @@ export class CIRCTCompiler extends BaseCompiler {
return BaseParser;
}
- override optionsForFilter(filters: ParseFilters, outputFilename, userOptions?): any[] {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename, userOptions?): any[] {
return [];
}
}
diff --git a/lib/compilers/cppfront.ts b/lib/compilers/cppfront.ts
index 3ad588807..38d64daaa 100644
--- a/lib/compilers/cppfront.ts
+++ b/lib/compilers/cppfront.ts
@@ -24,7 +24,7 @@
import path from 'path';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AsmParserCpp} from '../parsers/asm-parser-cpp';
@@ -44,7 +44,7 @@ export class CppFrontCompiler extends BaseCompiler {
return 'cppp';
}
- override optionsForFilter(filters: ParseFilters, outputFilename: any) {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: any) {
return [];
}
diff --git a/lib/compilers/dotnet.ts b/lib/compilers/dotnet.ts
index 054beec96..5887504cb 100644
--- a/lib/compilers/dotnet.ts
+++ b/lib/compilers/dotnet.ts
@@ -37,7 +37,7 @@ import {
import {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {BaseCompiler} from '../base-compiler';
import {DotNetAsmParser} from '../parsers/asm-parser-dotnet';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
class DotNetCompiler extends BaseCompiler {
private targetFramework: string;
@@ -204,7 +204,7 @@ class DotNetCompiler extends BaseCompiler {
return compilerResult;
}
- override optionsForFilter(filters: ParseFilters) {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions) {
if (filters.binary) {
this.compileToBinary = true;
}
diff --git a/lib/compilers/erlang.ts b/lib/compilers/erlang.ts
index 43872396e..e87c2aa4b 100644
--- a/lib/compilers/erlang.ts
+++ b/lib/compilers/erlang.ts
@@ -24,7 +24,7 @@
import path from 'path';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {ErlangParser} from './argument-parsers';
@@ -34,7 +34,7 @@ export class ErlangCompiler extends BaseCompiler {
return 'erlang';
}
- override optionsForFilter(filters: ParseFilters, outputFilename: string): string[] {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: string): string[] {
return [
'-noshell',
'-eval',
diff --git a/lib/compilers/hlsl.ts b/lib/compilers/hlsl.ts
index 2925a0154..91f5b0a5e 100644
--- a/lib/compilers/hlsl.ts
+++ b/lib/compilers/hlsl.ts
@@ -24,7 +24,7 @@
import path from 'path';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
export class HLSLCompiler extends BaseCompiler {
@@ -39,7 +39,11 @@ export class HLSLCompiler extends BaseCompiler {
}
/* eslint-disable no-unused-vars */
- override optionsForFilter(filters: ParseFilters, outputFilename: string, userOptions?: string[]): string[] {
+ override optionsForFilter(
+ filters: ParseFiltersAndOutputOptions,
+ outputFilename: string,
+ userOptions?: string[],
+ ): string[] {
return [
'-Zi', // Embed debug information to get DXIL line associations
'-Qembed_debug', // Silences the warning associated with embedded debug information
diff --git a/lib/compilers/hook.ts b/lib/compilers/hook.ts
index 55489c1b1..c30c1a981 100644
--- a/lib/compilers/hook.ts
+++ b/lib/compilers/hook.ts
@@ -25,7 +25,7 @@
import path from 'path';
import {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
export class HookCompiler extends BaseCompiler {
@@ -33,7 +33,7 @@ export class HookCompiler extends BaseCompiler {
return 'hook';
}
- override optionsForFilter(filters: ParseFilters): string[] {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions): string[] {
return ['--dump'];
}
diff --git a/lib/compilers/jakt.ts b/lib/compilers/jakt.ts
index 0cac7c023..e9948fb88 100644
--- a/lib/compilers/jakt.ts
+++ b/lib/compilers/jakt.ts
@@ -25,7 +25,7 @@
import path from 'path';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
export class JaktCompiler extends BaseCompiler {
@@ -43,13 +43,20 @@ export class JaktCompiler extends BaseCompiler {
return 'cppp';
}
- override async objdump(outputFilename, result: any, maxSize: number, intelAsm, demangle, filters: ParseFilters) {
+ override async objdump(
+ outputFilename,
+ result: any,
+ maxSize: number,
+ intelAsm,
+ demangle,
+ filters: ParseFiltersAndOutputOptions,
+ ) {
const objdumpResult = await super.objdump(outputFilename, result, maxSize, intelAsm, demangle, filters);
objdumpResult.languageId = 'asm';
return objdumpResult;
}
- override optionsForFilter(filters: ParseFilters, outputFilename: any) {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: any) {
return ['--binary-dir', path.dirname(outputFilename)];
}
diff --git a/lib/compilers/llvm-mos.ts b/lib/compilers/llvm-mos.ts
index 668686a3d..b5eb03686 100644
--- a/lib/compilers/llvm-mos.ts
+++ b/lib/compilers/llvm-mos.ts
@@ -28,7 +28,7 @@ import fs from 'fs-extra';
import _ from 'underscore';
import {CompilationResult} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import * as utils from '../utils';
import {ClangCompiler} from './clang';
@@ -62,7 +62,7 @@ export class LLVMMOSCompiler extends ClangCompiler {
maxSize: number,
intelAsm,
demangle,
- filters: ParseFilters,
+ filters: ParseFiltersAndOutputOptions,
) {
if (!outputFilename.endsWith('.elf') && (await utils.fileExists(outputFilename + '.elf'))) {
outputFilename = outputFilename + '.elf';
diff --git a/lib/compilers/mlir.ts b/lib/compilers/mlir.ts
index 744bb2c13..8332a1ace 100644
--- a/lib/compilers/mlir.ts
+++ b/lib/compilers/mlir.ts
@@ -24,7 +24,7 @@
import path from 'path';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {BaseParser} from './argument-parsers';
@@ -67,7 +67,7 @@ export class MLIRCompiler extends BaseCompiler {
return BaseParser;
}
- override optionsForFilter(filters: ParseFilters, outputFilename, userOptions?): any[] {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename, userOptions?): any[] {
return [];
}
}
diff --git a/lib/compilers/nvcc.js b/lib/compilers/nvcc.js
index 3a99e9c2f..ef527e5ce 100644
--- a/lib/compilers/nvcc.js
+++ b/lib/compilers/nvcc.js
@@ -51,7 +51,7 @@ export class NvccCompiler extends BaseCompiler {
/**
*
- * @param {import('../../types/features/filters.interfaces').ParseFilters} filters
+ * @param {import('../../types/features/filters.interfaces').ParseFiltersAndOutputOptions} filters
* @param {string} outputFilename
* @param {string[]?} userOptions
* @returns {string[]}
@@ -107,7 +107,7 @@ export class NvccCompiler extends BaseCompiler {
*
* @param {*} result
* @param {string} outputFilename
- * @param {import('../../types/features/filters.interfaces').ParseFilters} filters
+ * @param {import('../../types/features/filters.interfaces').ParseFiltersAndOutputOptions} filters
*/
async postProcess(result, outputFilename, filters) {
const maxSize = this.env.ceProps('max-asm-size', 64 * 1024 * 1024);
diff --git a/lib/compilers/pony.ts b/lib/compilers/pony.ts
index 004f41cc7..5435b1f03 100644
--- a/lib/compilers/pony.ts
+++ b/lib/compilers/pony.ts
@@ -27,7 +27,7 @@ import path from 'path';
import _ from 'underscore';
import {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
export class PonyCompiler extends BaseCompiler {
@@ -42,7 +42,7 @@ export class PonyCompiler extends BaseCompiler {
this.compiler.irArg = ['--pass', 'ir'];
} */
- override optionsForFilter(filters: ParseFilters, outputFilename: any, userOptions?: any): string[] {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: any, userOptions?: any): string[] {
let options = ['-d', '-b', path.parse(outputFilename).name];
if (!filters.binary) {
@@ -61,7 +61,7 @@ export class PonyCompiler extends BaseCompiler {
return source;
}
- override async generateIR(inputFilename: string, options: string[], filters: ParseFilters) {
+ override async generateIR(inputFilename: string, options: string[], filters: ParseFiltersAndOutputOptions) {
const newOptions = _.filter(options, option => !['--pass', 'asm'].includes(option)).concat(this.compiler.irArg);
const execOptions = this.getDefaultExecOptions();
diff --git a/lib/compilers/racket.ts b/lib/compilers/racket.ts
index 68bbec757..f77ba783a 100644
--- a/lib/compilers/racket.ts
+++ b/lib/compilers/racket.ts
@@ -25,7 +25,7 @@
import path from 'path';
import {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {logger} from '../logger';
@@ -45,7 +45,11 @@ export class RacketCompiler extends BaseCompiler {
this.raco = this.compilerProps<string>(`compiler.${this.compiler.id}.raco`);
}
- override optionsForFilter(filters: ParseFilters, outputFilename: string, userOptions?: string[]): string[] {
+ override optionsForFilter(
+ filters: ParseFiltersAndOutputOptions,
+ outputFilename: string,
+ userOptions?: string[],
+ ): string[] {
// We currently always compile to bytecode first and then decompile.
// Forcing `binary` on like this ensures `objdump` will be called for
// the decompilation phase.
@@ -93,7 +97,7 @@ export class RacketCompiler extends BaseCompiler {
maxSize: number,
intelAsm: any,
demangle: any,
- filters: ParseFilters,
+ filters: ParseFiltersAndOutputOptions,
): Promise<any> {
// Decompile to assembly via `raco decompile` with `disassemble` package
const execOptions: ExecutionOptions = {
diff --git a/lib/compilers/rga.ts b/lib/compilers/rga.ts
index 050e7499c..71d62a252 100644
--- a/lib/compilers/rga.ts
+++ b/lib/compilers/rga.ts
@@ -27,7 +27,7 @@ import path from 'path';
import {readdir, readFile, rename, writeFile} from 'fs-extra';
import {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import * as exec from '../exec';
import {logger} from '../logger';
@@ -54,7 +54,7 @@ export class RGACompiler extends BaseCompiler {
logger.debug(`RGA compiler ${this.compiler.id} configured to use DXC at ${this.dxcPath}`);
}
- override optionsForFilter(filters: ParseFilters, outputFilename: any, userOptions?: any): any[] {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: any, userOptions?: any): any[] {
return [outputFilename];
}
diff --git a/lib/compilers/rust.ts b/lib/compilers/rust.ts
index 28345e335..b0cb6484c 100644
--- a/lib/compilers/rust.ts
+++ b/lib/compilers/rust.ts
@@ -27,7 +27,7 @@ import path from 'path';
import _ from 'underscore';
import {BasicExecutionResult, UnprocessedExecResult} from '../../types/execution/execution.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {BuildEnvDownloadInfo} from '../buildenvsetup/buildenv.interfaces';
import {parseRustOutput} from '../utils';
@@ -149,7 +149,7 @@ export class RustCompiler extends BaseCompiler {
}
// Override the IR file name method for rustc because the output file is different from clang.
- override getIrOutputFilename(inputFilename: string, filters: ParseFilters): string {
+ override getIrOutputFilename(inputFilename: string, filters: ParseFiltersAndOutputOptions): string {
const outputFilename = this.getOutputFilename(path.dirname(inputFilename), this.outputFilebase);
// As per #4054, if we are asked for binary mode, the output will be in the .s file, no .ll will be emited
if (!filters.binary) {
diff --git a/lib/compilers/toit.ts b/lib/compilers/toit.ts
index 2318f7a61..84b1f2314 100644
--- a/lib/compilers/toit.ts
+++ b/lib/compilers/toit.ts
@@ -24,7 +24,7 @@
import _ from 'underscore';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {ToitParser} from './argument-parsers';
@@ -43,7 +43,7 @@ export class ToitCompiler extends BaseCompiler {
return outputFilename + '.cache';
}
- override optionsForFilter(filters: ParseFilters, outputFilename, userOptions?): string[] {
+ override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename, userOptions?): string[] {
if (!filters.binary) return ['execute', outputFilename];
return [outputFilename];
}
diff --git a/lib/compilers/z88dk.ts b/lib/compilers/z88dk.ts
index 1899be0d9..c7b0b7ecf 100644
--- a/lib/compilers/z88dk.ts
+++ b/lib/compilers/z88dk.ts
@@ -27,7 +27,7 @@ import path from 'path';
import fs from 'fs-extra';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {logger} from '../logger';
import {AsmParserZ88dk} from '../parsers/asm-parser-z88dk';
@@ -82,7 +82,7 @@ export class z88dkCompiler extends BaseCompiler {
);
}
- protected override optionsForFilter(filters: ParseFilters, outputFilename: string): string[] {
+ protected override optionsForFilter(filters: ParseFiltersAndOutputOptions, outputFilename: string): string[] {
if (!filters.binary) {
return ['-S'];
} else {
@@ -110,7 +110,14 @@ export class z88dkCompiler extends BaseCompiler {
return `${this.outputFilebase}.sms`;
}
- override async objdump(outputFilename, result: any, maxSize: number, intelAsm, demangle, filters: ParseFilters) {
+ override async objdump(
+ outputFilename,
+ result: any,
+ maxSize: number,
+ intelAsm,
+ demangle,
+ filters: ParseFiltersAndOutputOptions,
+ ) {
outputFilename = this.getObjdumpOutputFilename(outputFilename);
// sometimes (with +z80 for example) the .bin file is written and the .s file is empty
diff --git a/lib/compilers/zig.ts b/lib/compilers/zig.ts
index ef6298189..eed8a4bce 100644
--- a/lib/compilers/zig.ts
+++ b/lib/compilers/zig.ts
@@ -27,7 +27,7 @@ import path from 'path';
import Semver from 'semver';
import _ from 'underscore';
-import {ParseFilters} from '../../types/features/filters.interfaces';
+import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {SelectedLibraryVersion} from '../../types/libraries/libraries.interfaces';
import {BaseCompiler} from '../base-compiler';
import {asSafeVer} from '../utils';
@@ -104,7 +104,11 @@ export class ZigCompiler extends BaseCompiler {
return source;
}
- override optionsForFilter(filters: ParseFilters, outputFilename: string, userOptions: string[]): string[] {
+ override optionsForFilter(
+ filters: ParseFiltersAndOutputOptions,
+ outputFilename: string,
+ userOptions: string[],
+ ): string[] {
let options = [filters.execute ? 'build-exe' : 'build-obj'];
const desiredName = path.basename(outputFilename);
diff --git a/lib/compilers/zigcc.ts b/lib/compilers/zigcc.ts
index 7f35905e0..c50e766d1 100644
--- a/lib/compilers/zigcc.ts
+++ b/lib/compilers/zigcc.ts
@@ -24,7 +24,7 @@
import Semver from 'semver';
-import {CompilerFilters, ParseFilters} from '../../types/features/filters.interfaces';
+import {CompilerOutputOptions, ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {asSafeVer} from '../utils';
import {ClangCompiler} from './clang';
@@ -43,7 +43,7 @@ export class ZigCC extends ClangCompiler {
Semver.lt(asSafeVer(this.compiler.semver), '0.9.0', true);
}
- override preProcess(source: string, filters: CompilerFilters): string {
+ override preProcess(source: string, filters: CompilerOutputOptions): string {
if (this.needsForcedBinary) {
// note: zig versions > 0.6 don't emit asm, only binary works - https://github.com/ziglang/zig/issues/8153
filters.binary = true;
@@ -52,7 +52,11 @@ export class ZigCC extends ClangCompiler {
return super.preProcess(source, filters);
}
- override optionsForFilter(filters: ParseFilters, outputFilename: string, userOptions?: string[]): string[] {
+ override optionsForFilter(
+ filters: ParseFiltersAndOutputOptions,
+ outputFilename: string,
+ userOptions?: string[],
+ ): string[] {
if (this.needsForcedBinary) {
// note: zig versions > 0.6 don't emit asm, only binary works - https://github.com/ziglang/zig/issues/8153
filters.binary = true;
diff --git a/lib/compilers/zigcxx.ts b/lib/compilers/zigcxx.ts
index 4225d2503..f608f37c6 100644
--- a/lib/compilers/zigcxx.ts
+++ b/lib/compilers/zigcxx.ts
@@ -24,7 +24,7 @@
import Semver from 'semver';
-import {CompilerFilters, ParseFilters} from '../../types/features/filters.interfaces';
+import {CompilerOutputOptions, ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {asSafeVer} from '../utils';
import {ClangCompiler} from './clang';
@@ -43,7 +43,7 @@ export class ZigCXX extends ClangCompiler {
Semver.lt(asSafeVer(this.compiler.semver), '0.9.0', true);
}
- override preProcess(source: string, filters: CompilerFilters): string {
+ override preProcess(source: string, filters: CompilerOutputOptions): string {
if (this.needsForcedBinary) {
// note: zig versions > 0.6 don't emit asm, only binary works - https://github.com/ziglang/zig/issues/8153
filters.binary = true;
@@ -52,7 +52,11 @@ export class ZigCXX extends ClangCompiler {
return super.preProcess(source, filters);
}
- override optionsForFilter(filters: ParseFilters, outputFilename: string, userOptions?: string[]): string[] {
+ override optionsForFilter(
+ filters: ParseFiltersAndOutputOptions,
+ outputFilename: string,
+ userOptions?: string[],
+ ): string[] {
if (this.needsForcedBinary) {
// note: zig versions > 0.6 don't emit asm, only binary works - https://github.com/ziglang/zig/issues/8153
filters.binary = true;