From 2b8e8cda62c245a5678f679823f80a04d58a583d Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Thu, 9 Apr 2026 13:25:12 -0700 Subject: [PATCH] Fix MSVC build: replace ET_UNWRAP with manual error check Summary: ET_UNWRAP uses GCC statement expressions ({...}) which MSVC does not support, causing compilation failure on Windows CI. Replace with equivalent manual check: get the Result, check ok(), return error on failure, then dereference. Same semantics, cross-platform compatible. Differential Revision: D100218870 --- extension/llm/runner/llm_runner_helper.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/extension/llm/runner/llm_runner_helper.cpp b/extension/llm/runner/llm_runner_helper.cpp index 5701966ab7b..bf6de1cee68 100644 --- a/extension/llm/runner/llm_runner_helper.cpp +++ b/extension/llm/runner/llm_runner_helper.cpp @@ -121,9 +121,11 @@ get_llm_metadata(tokenizers::Tokenizer* tokenizer, Module* module) { auto& value = pair.second; if (method_names.count(method_name)) { - value = ET_UNWRAP(module->get(method_name)) - .toScalar() - .to(); + auto get_result = module->get(method_name); + if (!get_result.ok()) { + return get_result.error(); + } + value = get_result->toScalar().to(); } else { ET_LOG( Info,