Files
openwrt_yocto/poky/meta/recipes-graphics/spir/spirv-tools/0001-opt-Fix-build-issue-with-gcc-16-replaeces-PR-6542-65.patch
T
francis.wang 4c86c082a2 Initial commit: OpenWrt-Yocto monorepo
Combine poky (Yocto scarthgap), meta-openembedded (scarthgap), and
meta-openwrt into a single repository.

Components:
- poky/             Yocto core framework (BitBake + OE-Core)
- meta-openembedded/ Community layers (meta-oe, meta-python, meta-networking)
- meta-openwrt/     OpenWrt customization layer
- setup-env.sh      One-click build environment setup
- README.md         Project documentation
2026-07-11 13:28:01 +08:00

51 lines
2.1 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
From aab5c96b7eb237b8bcd15e28f8aff068842db4b7 Mon Sep 17 00:00:00 2001
From: David Neto <dneto@google.com>
Date: Tue, 3 Mar 2026 12:11:47 -0500
Subject: [PATCH] opt: Fix build issue with gcc 16 (replaeces PR #6542)
(#6567)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Compiling with gcc 16 throws this error:
FAILED: [code=1]
source/opt/CMakeFiles/SPIRV-Tools-opt.dir/decoration_manager.cpp.o
source/opt/decoration_manager.cpp: In member function
spvtools::opt::analysis::DecorationManager::CloneDecorations(unsigned
int, unsigned int):
source/opt/decoration_manager.cpp:546:27: error:
MEM[(unsigned int &)&op + 24] may be used uninitialized
[-Werror=maybe-uninitialized]
546 | if (op.words[0] == from) { // add new pair of operands: (to,
literal)
source/opt/decoration_manager.cpp:545:19: note: op declared here
545 | Operand op = inst->GetOperand(i);
| ^~
cc1plus: all warnings being treated as errors
Make sure that the vector is not empty before using it.
Co-authored-by: José Expósito <jose.exposito89@gmail.com>
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Upstream-Status: Backport [c28f5937bce369dde1d645299a8c9873da43dc72]
---
source/opt/decoration_manager.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/source/opt/decoration_manager.cpp b/source/opt/decoration_manager.cpp
index 3e95dbc35..bee7d9482 100644
--- a/source/opt/decoration_manager.cpp
+++ b/source/opt/decoration_manager.cpp
@@ -543,7 +543,8 @@ void DecorationManager::CloneDecorations(uint32_t from, uint32_t to) {
const uint32_t num_operands = inst->NumOperands();
for (uint32_t i = 1; i < num_operands; i += 2) {
Operand op = inst->GetOperand(i);
- if (op.words[0] == from) { // add new pair of operands: (to, literal)
+ if (!op.words.empty() &&
+ op.words[0] == from) { // add new pair of operands: (to, literal)
inst->AddOperand(
Operand(spv_operand_type_t::SPV_OPERAND_TYPE_ID, {to}));
op = inst->GetOperand(i + 1);