public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* PATCH i-g-t Fix a clang compile error.
@ 2015-04-23 16:54 Yunlian Jiang
  2015-04-27 13:36 ` Thomas Wood
  2015-04-27 18:48 ` Dave Gordon
  0 siblings, 2 replies; 7+ messages in thread
From: Yunlian Jiang @ 2015-04-23 16:54 UTC (permalink / raw)
  To: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 1101 bytes --]

The bug entry is at
https://code.google.com/p/chromium/issues/detail?id=476001

The patch below makes clang happy.

 debugger/eudb.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/debugger/eudb.c b/debugger/eudb.c
index 0e810db..7188a4f 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 *)&buff[i*dh.per_thread_scratch];
                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

[-- Attachment #1.2: Type: text/html, Size: 1661 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: PATCH i-g-t Fix a clang compile error.
  2015-04-23 16:54 PATCH i-g-t Fix a clang compile error Yunlian Jiang
@ 2015-04-27 13:36 ` Thomas Wood
  2015-04-27 16:20   ` Yunlian Jiang
  2015-04-27 18:48 ` Dave Gordon
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Wood @ 2015-04-27 13:36 UTC (permalink / raw)
  To: Yunlian Jiang; +Cc: Intel Graphics Development, Benjamin Widawsky

On 23 April 2015 at 17:54, Yunlian Jiang <yunlian@chromium.org> wrote:
> The bug entry is at
> https://code.google.com/p/chromium/issues/detail?id=476001
>
> The patch below makes clang happy.

Thanks for the patch; Ben Widawsky reviewed it and added his
reviewed-by tag. Unfortunately it doesn't apply cleanly because tabs
have been converted to spaces. Your commit message is also missing a
signed-off-by line. It may be easier to apply if you are able to use
git format-patch or git send-email to send your patch. The
CONTRIBUTING file in intel-gpu-tools has more details about using git
send-email/git format-patch and the developer's certificate of origin
requirements.


>
>  debugger/eudb.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/debugger/eudb.c b/debugger/eudb.c
> index 0e810db..7188a4f 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 *)&buff[i*dh.per_thread_scratch];
>                 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
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PATCH i-g-t Fix a clang compile error.
  2015-04-27 13:36 ` Thomas Wood
@ 2015-04-27 16:20   ` Yunlian Jiang
  2015-04-30 14:15     ` Dave Gordon
  0 siblings, 1 reply; 7+ messages in thread
From: Yunlian Jiang @ 2015-04-27 16:20 UTC (permalink / raw)
  To: Thomas Wood; +Cc: Intel Graphics Development, Benjamin Widawsky


[-- Attachment #1.1: Type: text/plain, Size: 2217 bytes --]

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

On Mon, Apr 27, 2015 at 6:36 AM, Thomas Wood <thomas.wood@intel.com> wrote:

> On 23 April 2015 at 17:54, Yunlian Jiang <yunlian@chromium.org> wrote:
> > The bug entry is at
> > https://code.google.com/p/chromium/issues/detail?id=476001
> >
> > The patch below makes clang happy.
>
> Thanks for the patch; Ben Widawsky reviewed it and added his
> reviewed-by tag. Unfortunately it doesn't apply cleanly because tabs
> have been converted to spaces. Your commit message is also missing a
> signed-off-by line. It may be easier to apply if you are able to use
> git format-patch or git send-email to send your patch. The
> CONTRIBUTING file in intel-gpu-tools has more details about using git
> send-email/git format-patch and the developer's certificate of origin
> requirements.
>
>
> >
> >  debugger/eudb.c | 6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> >
> > diff --git a/debugger/eudb.c b/debugger/eudb.c
> > index 0e810db..7188a4f 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 *)&buff[i*dh.per_thread_scratch];
> >                 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
> >
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>

[-- Attachment #1.2: Type: text/html, Size: 3266 bytes --]

[-- Attachment #2: clang.patch --]
[-- Type: text/x-patch, Size: 1377 bytes --]

From c2f6ecc1c8837abd87aa2da5510281a4833b2a27 Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <yunlian@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];
 		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


[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: PATCH i-g-t Fix a clang compile error.
  2015-04-23 16:54 PATCH i-g-t Fix a clang compile error Yunlian Jiang
  2015-04-27 13:36 ` Thomas Wood
@ 2015-04-27 18:48 ` Dave Gordon
  2015-04-27 19:53   ` Yunlian Jiang
  1 sibling, 1 reply; 7+ messages in thread
From: Dave Gordon @ 2015-04-27 18:48 UTC (permalink / raw)
  To: Yunlian Jiang, intel-gfx

On 23/04/15 17:54, Yunlian Jiang wrote:
> The bug entry is at
> https://code.google.com/p/chromium/issues/detail?id=476001
> 
> The patch below makes clang happy.
> 
>  debugger/eudb.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/debugger/eudb.c b/debugger/eudb.c
> index 0e810db..7188a4f 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 *)&buff[i*dh.per_thread_scratch];

"buff" here vs. "buf" elsewhere - is that a typo?

.Dave.

>                 mem_tid = eu->sr0 & 0x7;
>                 mem_euid = (eu->sr0 >> 8) & 0xf;
>                 if (mem_tid == eu_tid(bit) && mem_euid == eu_id(bit))
> 
> 
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PATCH i-g-t Fix a clang compile error.
  2015-04-27 18:48 ` Dave Gordon
@ 2015-04-27 19:53   ` Yunlian Jiang
  0 siblings, 0 replies; 7+ messages in thread
From: Yunlian Jiang @ 2015-04-27 19:53 UTC (permalink / raw)
  To: Dave Gordon; +Cc: Intel Graphics Development


[-- Attachment #1.1: Type: text/plain, Size: 2652 bytes --]

Thanks, please see the attachment for the updated patch. I also put it into
plain mail.

---
 debugger/eudb.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/debugger/eudb.c b/debugger/eudb.c
index 0e810db..451f284 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 *)&buf[i * dh.per_thread_scratch];
                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


On Mon, Apr 27, 2015 at 11:48 AM, Dave Gordon <david.s.gordon@intel.com>
wrote:

> On 23/04/15 17:54, Yunlian Jiang wrote:
> > The bug entry is at
> > https://code.google.com/p/chromium/issues/detail?id=476001
> >
> > The patch below makes clang happy.
> >
> >  debugger/eudb.c | 6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> >
> > diff --git a/debugger/eudb.c b/debugger/eudb.c
> > index 0e810db..7188a4f 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 *)&buff[i*dh.per_thread_scratch];
>
> "buff" here vs. "buf" elsewhere - is that a typo?
>
> .Dave.
>
> >                 mem_tid = eu->sr0 & 0x7;
> >                 mem_euid = (eu->sr0 >> 8) & 0xf;
> >                 if (mem_tid == eu_tid(bit) && mem_euid == eu_id(bit))
> >
> >
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
>
>

[-- Attachment #1.2: Type: text/html, Size: 4164 bytes --]

[-- Attachment #2: clang.patch --]
[-- Type: text/x-patch, Size: 1364 bytes --]

From d5c4476fdbe7e9bf538c6f85b3764c902089f8b1 Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <yunlian@google.com>
Date: Mon, 27 Apr 2015 12:45:09 -0700
Subject: [PATCH] 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..451f284 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 *)&buf[i * dh.per_thread_scratch];
 		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


[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: PATCH i-g-t Fix a clang compile error.
  2015-04-27 16:20   ` Yunlian Jiang
@ 2015-04-30 14:15     ` Dave Gordon
  2015-05-01 22:03       ` Yunlian Jiang
  0 siblings, 1 reply; 7+ messages in thread
From: Dave Gordon @ 2015-04-30 14:15 UTC (permalink / raw)
  To: Yunlian Jiang, Thomas Wood; +Cc: Intel Graphics Development, Benjamin Widawsky

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@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 



_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: PATCH i-g-t Fix a clang compile error.
  2015-04-30 14:15     ` Dave Gordon
@ 2015-05-01 22:03       ` Yunlian Jiang
  0 siblings, 0 replies; 7+ messages in thread
From: Yunlian Jiang @ 2015-05-01 22:03 UTC (permalink / raw)
  To: Dave Gordon; +Cc: Intel Graphics Development, Thomas Wood, Benjamin Widawsky

[-- Attachment #1: Type: text/plain, Size: 2574 bytes --]

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@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@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
>
>
>

[-- Attachment #2: clang.patch --]
[-- Type: text/x-patch, Size: 1377 bytes --]

From bdfb2390a1f819b091043bb30284b1b961fdb07a Mon Sep 17 00:00:00 2001
From: Yunlian Jiang <yunlian@google.com>
Date: Mon, 27 Apr 2015 12:45:09 -0700
Subject: [PATCH 3442/3442] 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..39c5cca 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 *)(buf + i * dh.per_thread_scratch);
 		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


[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-05-01 22:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-23 16:54 PATCH i-g-t Fix a clang compile error Yunlian Jiang
2015-04-27 13:36 ` Thomas Wood
2015-04-27 16:20   ` Yunlian Jiang
2015-04-30 14:15     ` Dave Gordon
2015-05-01 22:03       ` Yunlian Jiang
2015-04-27 18:48 ` Dave Gordon
2015-04-27 19:53   ` Yunlian Jiang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox