diff options
author | Rubén Rincón Blanco <ruben@rinconblanco.es> | 2022-04-02 23:26:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-02 23:26:11 +0200 |
commit | 48c95e849d70b1694f4b8ec2f8a32d2e5f214a29 (patch) | |
tree | 4868b56f1fbed2cf61b6375403701f2ac103d62b | |
parent | 1ac1664294ad4f3039669b32717016e01f026c02 (diff) | |
download | compiler-explorer-48c95e849d70b1694f4b8ec2f8a32d2e5f214a29.tar.gz compiler-explorer-48c95e849d70b1694f4b8ec2f8a32d2e5f214a29.zip |
Adds overridable orderArguments function (#3489)gh-2259
Closes #3488
-rw-r--r-- | lib/base-compiler.js | 23 | ||||
-rw-r--r-- | lib/compilers/nim.js | 12 |
2 files changed, 33 insertions, 2 deletions
diff --git a/lib/base-compiler.js b/lib/base-compiler.js index fda955b19..a13a1efe4 100644 --- a/lib/base-compiler.js +++ b/lib/base-compiler.js @@ -662,6 +662,18 @@ export class BaseCompiler { })); } + orderArguments(options, inputFilename, libIncludes, libOptions, libPaths, libLinks, userOptions, staticLibLinks) { + return options.concat( + [this.filename(inputFilename)], + libIncludes, + libOptions, + libPaths, + libLinks, + userOptions, + staticLibLinks, + ); + } + prepareArguments(userOptions, filters, backendOptions, inputFilename, outputFilename, libraries) { let options = this.optionsForFilter(filters, outputFilename, userOptions); backendOptions = backendOptions || {}; @@ -689,8 +701,15 @@ export class BaseCompiler { } userOptions = this.filterUserOptions(userOptions) || []; - return options.concat([this.filename(inputFilename)], libIncludes, libOptions, - libPaths, libLinks, userOptions, staticLibLinks); + return this.orderArguments(options, + inputFilename, + libIncludes, + libOptions, + libPaths, + libLinks, + userOptions, + staticLibLinks, + ); } filterUserOptions(userOptions) { diff --git a/lib/compilers/nim.js b/lib/compilers/nim.js index d0124db61..5d24bb923 100644 --- a/lib/compilers/nim.js +++ b/lib/compilers/nim.js @@ -125,4 +125,16 @@ export class NimCompiler extends BaseCompiler { isCfgCompiler(/*compilerVersion*/) { return true; } + + orderArguments(options, inputFilename, libIncludes, libOptions, libPaths, libLinks, userOptions, staticLibLinks) { + return options.concat( + libIncludes, + libOptions, + libPaths, + libLinks, + userOptions, + [this.filename(inputFilename)], + staticLibLinks, + ); + } } |