[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