Source: beignet
Severity: minor
Tags: patch
User: pkg-llvm-t...@lists.alioth.debian.org
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;
 

Reply via email to