From dcecc4d17d051949db00fc7a1d7b28d6ff6c2763 Mon Sep 17 00:00:00 2001 From: Andrei Elovikov Date: Mon, 20 Oct 2025 11:42:19 -0700 Subject: [PATCH] [SYCL RTC] Add one forgotten `consumeError` Follow-up for https://github.com/intel/llvm/pull/20374. And as part of the change, spell out more `auto` types to make it clearer when such calls are necessary. --- .../jit-compiler/lib/rtc/DeviceCompilation.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sycl-jit/jit-compiler/lib/rtc/DeviceCompilation.cpp b/sycl-jit/jit-compiler/lib/rtc/DeviceCompilation.cpp index 5b3d9c10adc9c..738fdb719b286 100644 --- a/sycl-jit/jit-compiler/lib/rtc/DeviceCompilation.cpp +++ b/sycl-jit/jit-compiler/lib/rtc/DeviceCompilation.cpp @@ -434,19 +434,20 @@ class SYCLToolchain { return (void)UseCachedPreamble(PCHStorage); }; - auto CacheOrErr = + llvm::Expected CacheOrErr = llvm::localCache("SYCL RTC Persistent Preambles", "syclrtc-tmp-", PersistentPCHDir, CacheCallback); assert(CacheOrErr && "Don't see any code path returning Error"); - auto AddStreamOrErr = (*CacheOrErr)(0, EncodedHash, ""); + llvm::Expected AddStreamOrErr = + (*CacheOrErr)(0, EncodedHash, ""); if (!AddStreamOrErr) { // Not a hit, but we won't be able to store the data in the cache, so // no need to generate precompiled preamble. consumeError(AddStreamOrErr.takeError()); return RunWithoutPCH(); } - auto &AddStream = *AddStreamOrErr; + llvm::AddStreamFn &AddStream = *AddStreamOrErr; if (!AddStream) { // UseCachedPreamble was called by the cache after successfully // reading persistent auto-pch file. @@ -467,9 +468,12 @@ class SYCLToolchain { // Any errors updating the persistent preambles cache won't affect // current compilation, so ignore any error below: - auto FileOrErr = AddStream(1, ""); - if (!FileOrErr) + llvm::Expected> FileOrErr = + AddStream(1, ""); + if (!FileOrErr) { + consumeError(FileOrErr.takeError()); return Success; + } llvm::CachedFileStream *CFS = FileOrErr->get(); raw_pwrite_stream &OS = *CFS->OS;