[Intel-gfx] PATCH i-g-t Fix a clang compile error.
Yunlian Jiang
yunlian at google.com
Fri May 1 15:03:15 PDT 2015
Hi Dave,
I have updated the patch to use
+ eu = (struct eu_state *)&buf[i * dh.per_thread_scratch];
and I think
+ eu = (struct eu_state *)(buf + i*dh.per_thread_scratch);
is better.
So I attach the patch in the attachment.
Thanks for reviewing.
On Thu, Apr 30, 2015 at 7:15 AM, Dave Gordon <david.s.gordon at intel.com> wrote:
> On 27/04/15 17:20, Yunlian Jiang wrote:
>> Thomas,
>> Thanks for the review. This time I put the patch in the attachment so
>> it should be applied cleanly.
>> I added Signed-off-by line too.
>> Thanks
>>
>> From c2f6ecc1c8837abd87aa2da5510281a4833b2a27 Mon Sep 17 00:00:00 2001
>> From: Yunlian Jiang <yunlian at chromium.com>
>> Date: Mon, 27 Apr 2015 09:14:33 -0700
>> Subject: [PATCH 3432/3432] Remove struct per_thread_data to make it compile
>> with clang.
>>
>> The bug enty is https://code.google.com/p/chromium/issues/detail?id=476001
>> This patch makes clang happy.
>>
>> Cc:Benjamin Widawsky <benjamin.widawsky at intel.com>
>> Cc:Thomas Wood <thomas.wood at intel.com>
>> Signed-off-by: Yunlian Jiang <yunlian at chromium.org>
>> ---
>> debugger/eudb.c | 6 +-----
>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/debugger/eudb.c b/debugger/eudb.c
>> index 0e810db..21405ef 100644
>> --- a/debugger/eudb.c
>> +++ b/debugger/eudb.c
>> @@ -207,15 +207,11 @@ wait_for_attn(int timeout, int *out_bits) {
>> #define eu_tid(bit) eu_info->debuggees[bit].tid
>> static struct eu_state *
>> find_eu_shmem(int bit, volatile uint8_t *buf) {
>> - struct per_thread_data {
>> - uint8_t ____[dh.per_thread_scratch];
>> - }__attribute__((packed)) *data;
>> struct eu_state *eu;
>> int mem_tid, mem_euid, i;
>>
>> - data = (struct per_thread_data *)buf;
>> for(i = 0; i < eu_info->num_threads; i++) {
>> - eu = (struct eu_state *)&data[i];
>> + eu = (struct eu_state *)&data[i * dh.per_thread_scratc];
>
> This line can't be right! AFAICS, you don't have anything called 'data'
> in scope now (you deleted the declaration); also, there's an 'h' missing
> right at the end, just before the closing ']' :(
>
> Perhaps it should say:
>
> + eu = (struct eu_state *)&buf[i * dh.per_thread_scratch];
>
> or even:
>
> + eu = (struct eu_state *)(buf + i*dh.per_thread_scratch);
>
> .Dave.
>
>> mem_tid = eu->sr0 & 0x7;
>> mem_euid = (eu->sr0 >> 8) & 0xf;
>> if (mem_tid == eu_tid(bit) && mem_euid == eu_id(bit))
>> -- 2.2.0.rc0.207.ga3a616c
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang.patch
Type: text/x-patch
Size: 1377 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20150501/8007b080/attachment.bin>
More information about the Intel-gfx
mailing list