(
userOptions: string[],
filters: ParseFiltersAndOutputOptions,
backendOptions: Record<string, any>,
inputFilename: string,
outputFilename: string,
libraries: SelectedLibraryVersion[],
overrides: ConfiguredOverrides,
)
| 82 | } |
| 83 | |
| 84 | override prepareArguments( |
| 85 | userOptions: string[], |
| 86 | filters: ParseFiltersAndOutputOptions, |
| 87 | backendOptions: Record<string, any>, |
| 88 | inputFilename: string, |
| 89 | outputFilename: string, |
| 90 | libraries: SelectedLibraryVersion[], |
| 91 | overrides: ConfiguredOverrides, |
| 92 | ) { |
| 93 | backendOptions = backendOptions || {}; |
| 94 | |
| 95 | // super call is needed as it handles the GCC Dump files. |
| 96 | const backend_opts = super.optionsForBackend(backendOptions, outputFilename); |
| 97 | |
| 98 | // gnatmake opts name {[-cargs opts] [-bargs opts] [-largs opts] [-margs opts]} |
| 99 | // ^ ^ ^ ^ ^ |
| 100 | // | | | | | |
| 101 | // `- inputFilename | | | `-- for gnatmake |
| 102 | // | | `-- for linker |
| 103 | // | `-- for binder (unused here) |
| 104 | // `-- for compiler (gcc) |
| 105 | |
| 106 | const gnatmake_opts: string[] = []; |
| 107 | const compiler_opts: string[] = []; |
| 108 | const binder_opts: string[] = []; |
| 109 | const linker_opts: string[] = ['']; |
| 110 | |
| 111 | if (this.compiler.adarts) { |
| 112 | gnatmake_opts.push(`--RTS=${this.compiler.adarts}`); |
| 113 | } |
| 114 | |
| 115 | if (this.compiler.supportsStackUsageOutput && backendOptions.produceStackUsageInfo) { |
| 116 | gnatmake_opts.push(unwrap(this.compiler.stackUsageArg)); |
| 117 | } |
| 118 | |
| 119 | if (!filters.execute && backendOptions.produceGnatDebug && this.compiler.supportsGnatDebugViews) |
| 120 | // This is using stdout |
| 121 | gnatmake_opts.push('-gnatGL'); |
| 122 | |
| 123 | if (!filters.execute && backendOptions.produceGnatDebugTree && this.compiler.supportsGnatDebugViews) |
| 124 | // This is also using stdout |
| 125 | gnatmake_opts.push('-gnatdt'); |
| 126 | |
| 127 | gnatmake_opts.push( |
| 128 | '-g', |
| 129 | '-fdiagnostics-color=always', |
| 130 | '-eS', // output commands to stdout, they are not errors |
| 131 | inputFilename, |
| 132 | ); |
| 133 | |
| 134 | if (!filters.execute && !filters.binary && !filters.binaryObject) { |
| 135 | gnatmake_opts.push( |
| 136 | '-S', // Generate ASM |
| 137 | '-c', // Compile only |
| 138 | '-fverbose-asm', // Generate verbose ASM showing variables |
| 139 | ); |
| 140 | |
| 141 | // produce assembly output in outputFilename |
no test coverage detected