Your message dated Sun, 9 Oct 2016 22:08:21 +0100
with message-id <[email protected]>
and subject line beignet: FTBFS with clang instead of gcc
has caused the Debian Bug report #750380,
regarding beignet: FTBFS with clang instead of gcc
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
750380: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750380
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: beignet
Severity: minor
Tags: patch
User: [email protected]
Usertags: clang-ftbfs
Hello,
Using the rebuild infrastructure, your package fails to build with clang
(instead of gcc).
See build logs here:
http://clang.debian.net/logs/2014-01-14/beignet_0.3-1_unstable_clang.log
Thanks,
Alexander
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.13-1-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- beignet-0.8/backend/src/backend/gen_insn_selection.cpp 2014-02-12 02:43:26.000000000 -0500
+++ beignet-0.8-my/backend/src/backend/gen_insn_selection.cpp 2014-06-02 19:59:11.090968625 -0400
@@ -2401,7 +2401,7 @@
// The first 16 DWORD register space is for temporary usage at encode stage.
uint32_t tmpRegNum = (sel.ctx.getSimdWidth() == 8) ? valueNum * 2 : valueNum;
- GenRegister dst[valueNum + tmpRegNum];
+ GenRegister *dst = static_cast<GenRegister *>(alloca(sizeof(GenRegister) * (valueNum + tmpRegNum)));
for (dstID = 0; dstID < tmpRegNum ; ++dstID)
dst[dstID] = sel.selReg(sel.reg(FAMILY_DWORD));
for ( uint32_t valueID = 0; valueID < valueNum; ++dstID, ++valueID)
@@ -2517,8 +2517,8 @@
addr = GenRegister::retype(sel.selReg(insn.getSrc(addrID)), GEN_TYPE_F);
// The first 16 DWORD register space is for temporary usage at encode stage.
uint32_t tmpRegNum = (sel.ctx.getSimdWidth() == 8) ? valueNum * 2 : valueNum;
- GenRegister src[valueNum];
- GenRegister dst[tmpRegNum + 1];
+ GenRegister *src = static_cast<GenRegister *>(alloca(sizeof(GenRegister) * valueNum));
+ GenRegister *dst = static_cast<GenRegister *>(alloca(sizeof(GenRegister) * (tmpRegNum + 1)));
/* dst 0 is for the temporary address register. */
dst[0] = sel.selReg(sel.reg(FAMILY_DWORD));
for (srcID = 0; srcID < tmpRegNum; ++srcID)
@@ -3003,7 +3003,8 @@
{
using namespace ir;
GenRegister msgPayloads[4];
- GenRegister dst[insn.getDstNum()], src[insn.getSrcNum()];
+ GenRegister *dst = static_cast<GenRegister *>(alloca(sizeof(GenRegister) * insn.getDstNum()));
+ GenRegister *src = static_cast<GenRegister *>(alloca(sizeof(GenRegister) * insn.getSrcNum()));
uint32_t srcNum = insn.getSrcNum();
for( int i = 0; i < 4; ++i)
@@ -3034,7 +3035,7 @@
const uint32_t simdWidth = sel.ctx.getSimdWidth();
uint32_t valueID;
GenRegister msgs[9]; // (header + U + V + R + LOD + 4)
- GenRegister src[insn.getSrcNum()];
+ GenRegister *src = static_cast<GenRegister *>(alloca(sizeof(GenRegister) * insn.getSrcNum()));
uint32_t msgNum = (8 / (simdWidth / 8)) + 1;
uint32_t coordNum = 3;
--- End Message ---
--- Begin Message ---
Version: 1.2.0-1
This now appears to be fixed: I only actually tested the
not-yet-uploaded 1.2.0-2 (and without 'gcc'-but-actually-clang
symlinks), but it is likely the fix was upstream (probably
https://cgit.freedesktop.org/beignet/commit/utests/utest_generator.py?id=1d2c630c00bc96b088d2ac443a214a17bd7f2607).
--- End Message ---