[Intel-gfx] PATCH i-g-t Fix a clang compile error.

Dave Gordon david.s.gordon at intel.com
Thu Apr 30 07:15:34 PDT 2015


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 





More information about the Intel-gfx mailing list