From eb4446a70fb48fa38db888f4964f0ba638386c7f Mon Sep 17 00:00:00 2001 From: Ofek Shilon Date: Thu, 2 Nov 2023 22:11:17 +0200 Subject: [PATCH] Fix #5255 --- lib/base-compiler.ts | 16 ++++++++-------- lib/compilers/clang.ts | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/base-compiler.ts b/lib/base-compiler.ts index 494ea27a6fc..23ec879a35f 100644 --- a/lib/base-compiler.ts +++ b/lib/base-compiler.ts @@ -633,7 +633,7 @@ export class BaseCompiler implements ICompiler { } getGccDumpFileName(outputFilename: string) { - return outputFilename.replace(path.extname(outputFilename), '.dump'); + return outputFilename.substring(0, outputFilename.lastIndexOf('.')) + '.dump'; } getGccDumpOptions(gccDumpOptions, outputFilename: string) { @@ -1402,27 +1402,27 @@ export class BaseCompiler implements ICompiler { } getRustMacroExpansionOutputFilename(inputFilename) { - return inputFilename.replace(path.extname(inputFilename), '.expanded.rs'); + return inputFilename.substring(0, inputFilename.lastIndexOf('.')) + '.expanded.rs'; } getRustHirOutputFilename(inputFilename) { - return inputFilename.replace(path.extname(inputFilename), '.hir'); + return inputFilename.substring(0, inputFilename.lastIndexOf('.')) + '.hir'; } getRustMirOutputFilename(outputFilename) { - return outputFilename.replace(path.extname(outputFilename), '.mir'); + return outputFilename.substring(0, outputFilename.lastIndexOf('.')) + '.mir'; } getHaskellCoreOutputFilename(inputFilename) { - return inputFilename.replace(path.extname(inputFilename), '.dump-simpl'); + return inputFilename.substring(0, inputFilename.lastIndexOf('.')) + '.dump-simpl'; } getHaskellStgOutputFilename(inputFilename) { - return inputFilename.replace(path.extname(inputFilename), '.dump-stg-final'); + return inputFilename.substring(0, inputFilename.lastIndexOf('.')) + '.dump-stg-final'; } getHaskellCmmOutputFilename(inputFilename) { - return inputFilename.replace(path.extname(inputFilename), '.dump-cmm'); + return inputFilename.substring(0, inputFilename.lastIndexOf('.')) + '.dump-cmm'; } // Currently called for getting macro expansion and HIR. @@ -1495,7 +1495,7 @@ export class BaseCompiler implements ICompiler { getIrOutputFilename(inputFilename: string, filters: ParseFiltersAndOutputOptions): string { // filters are passed because rust needs to know whether a binary is being produced or not - return inputFilename.replace(path.extname(inputFilename), '.ll'); + return inputFilename.substring(0, inputFilename.lastIndexOf('.')) + '.ll'; } getOutputFilename(dirPath: string, outputFilebase: string, key?: any): string { diff --git a/lib/compilers/clang.ts b/lib/compilers/clang.ts index a5534aa36ca..8e81371215e 100644 --- a/lib/compilers/clang.ts +++ b/lib/compilers/clang.ts @@ -79,7 +79,7 @@ export class ClangCompiler extends BaseCompiler { let timeTraceJson = ''; const outputExt = path.extname(outputFilename); if (outputExt) { - timeTraceJson = outputFilename.replace(outputExt, '.json'); + timeTraceJson = outputFilename.substring(0, outputFilename.lastIndexOf('.')) + '.json'; } else { timeTraceJson += '.json'; }