This commit is contained in:
nub31
2025-06-13 00:14:03 +02:00
parent 93a95c2a0c
commit 2a2c70b499

View File

@@ -108,7 +108,9 @@ foreach (var compilationUnit in compilationUnits)
}
var assembly = Assembly.GetExecutingAssembly();
var runtimeResources = assembly.GetManifestResourceNames().Where(name => name.EndsWith(".s", StringComparison.OrdinalIgnoreCase));
var runtimeResources = assembly
.GetManifestResourceNames()
.Where(name => name.EndsWith(".s", StringComparison.OrdinalIgnoreCase));
foreach (var resourceName in runtimeResources)
{
@@ -188,8 +190,8 @@ static async Task<string> InvokeQBE(string ssa)
static async Task InvokeAssembler(string asmPath, string objPath)
{
using var asProcess = new Process();
asProcess.StartInfo = new ProcessStartInfo("gcc", ["-c", asmPath, "-o", objPath])
using var gccProcess = new Process();
gccProcess.StartInfo = new ProcessStartInfo("gcc", ["-c", asmPath, "-o", objPath])
{
UseShellExecute = false,
RedirectStandardOutput = true,
@@ -197,16 +199,16 @@ static async Task InvokeAssembler(string asmPath, string objPath)
CreateNoWindow = true
};
asProcess.Start();
gccProcess.Start();
var asOutput = await asProcess.StandardOutput.ReadToEndAsync();
var asErrors = await asProcess.StandardError.ReadToEndAsync();
var gccOutput = await gccProcess.StandardOutput.ReadToEndAsync();
var gccErrors = await gccProcess.StandardError.ReadToEndAsync();
await asProcess.WaitForExitAsync();
await gccProcess.WaitForExitAsync();
if (asProcess.ExitCode != 0)
if (gccProcess.ExitCode != 0)
{
throw new Exception($"Assembler errors:\n{asErrors}");
throw new Exception($"Assembler errors:\n{gccErrors}");
}
}