Skip to content

Commit

Permalink
Mark the go compiler gc as not supporting cfg (#6470)
Browse files Browse the repository at this point in the history
Following #6439: mark the go compiler `gc` as not supporting cfg.
Also, don't pass argument to `isCfgCompiler` - the base-compiler
implementation uses `this.compiler.instructionSet` anyway.
  • Loading branch information
OfekShilon committed May 11, 2024
1 parent 0741ec2 commit 402c5ec
Show file tree
Hide file tree
Showing 14 changed files with 22 additions and 17 deletions.
10 changes: 5 additions & 5 deletions lib/base-compiler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3181,12 +3181,12 @@ export class BaseCompiler implements ICompiler {
return false;
}

isCfgCompiler(compilerVersion: string) {
isCfgCompiler() {
return (
compilerVersion.includes('clang') ||
compilerVersion.includes('icc (ICC)') ||
this.compiler.version.includes('clang') ||
this.compiler.version.includes('icc (ICC)') ||
['amd64', 'arm32', 'aarch64', 'llvm'].includes(this.compiler.instructionSet ?? '') ||
compilerVersion.match(/^([\w-]*-)?g((\+\+)|(cc)|(dc))/g) !== null
/^([\w-]*-)?g((\+\+)|(cc)|(dc))/.test(this.compiler.version) !== null
);
}

Expand Down Expand Up @@ -3586,7 +3586,7 @@ but nothing was dumped. Possible causes are:
logger.debug(`${compiler} is version '${version}'`);
this.compiler.version = version;
this.compiler.fullVersion = fullVersion;
this.compiler.supportsCfg = this.isCfgCompiler(version);
this.compiler.supportsCfg = this.isCfgCompiler();
// all C/C++ compilers support -E
this.compiler.supportsPpView = this.compiler.lang === 'c' || this.compiler.lang === 'c++';
this.compiler.supportsAstView = this.couldSupportASTDump(version);
Expand Down
2 changes: 1 addition & 1 deletion lib/compilers/assembly.ts
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ export class AssemblyCompiler extends BaseCompiler {
return this.getGeneratedOutputFilename(defaultOutputFilename);
}

override isCfgCompiler(/* compilerVersion */) {
override isCfgCompiler() {
return true;
}
}
2 changes: 1 addition & 1 deletion lib/compilers/beebasm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export class BeebAsmCompiler extends BaseCompiler {
return result;
}

override isCfgCompiler(/*compilerVersion: string*/): boolean {
override isCfgCompiler(): boolean {
return true;
}
}
5 changes: 5 additions & 0 deletions lib/compilers/golang.ts
Original file line number Diff line number Diff line change
Expand Up @@ -272,4 +272,9 @@ export class GolangCompiler extends BaseCompiler {
override getArgumentParser(): any {
return GolangParser;
}

override isCfgCompiler() {
// #6439: `gccgo` is ok, the default go compiler `gc` isn't
return !this.compiler.version.includes('go version');
}
}
2 changes: 1 addition & 1 deletion lib/compilers/ispc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ export class ISPCCompiler extends BaseCompiler {
);
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return true;
}
}
2 changes: 1 addition & 1 deletion lib/compilers/movfuscator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export class MovfuscatorCompiler extends BaseCompiler {
return 'movfuscator';
}

override isCfgCompiler(compilerVersion: string) {
override isCfgCompiler() {
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/compilers/nim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ export class NimCompiler extends BaseCompiler {
return NimParser;
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/compilers/racket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export class RacketCompiler extends BaseCompiler {
return [];
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return false;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/compilers/rust.ts
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ export class RustCompiler extends BaseCompiler {
return RustParser;
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/compilers/snowball.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ export class SnowballCompiler extends BaseCompiler {
return options;
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return true;
}
}
2 changes: 1 addition & 1 deletion lib/compilers/solidity-eravm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export class SolidityEravmCompiler extends BaseCompiler {
return ['--combined-json', 'asm', '-o', 'contracts'];
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return false;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/compilers/solidity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export class SolidityCompiler extends BaseCompiler {
];
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return false;
}

Expand Down
2 changes: 1 addition & 1 deletion lib/compilers/swift.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export class SwiftCompiler extends BaseCompiler {
return SwiftParser;
}

override isCfgCompiler(/*compilerVersion*/) {
override isCfgCompiler() {
return true;
}
}
2 changes: 1 addition & 1 deletion lib/compilers/zig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ export class ZigCompiler extends BaseCompiler {
return userOptions.filter(option => !forbiddenOptions.test(option));
}

override isCfgCompiler(/*compilerVersion*/): boolean {
override isCfgCompiler(): boolean {
return true;
}
}

0 comments on commit 402c5ec

Please sign in to comment.