All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
@ 2015-03-25  1:01 Daniel Kurtz
  2015-03-26 15:12 ` Emil Velikov
  2015-04-05 14:32 ` Emil Velikov
  0 siblings, 2 replies; 7+ messages in thread
From: Daniel Kurtz @ 2015-03-25  1:01 UTC (permalink / raw)
  To: dri-devel, Rob Clark; +Cc: Emil Velikov

Unfortunately, there are some users of libdrm installed headers that like
to be built with -std=c89 -pedantic, which does not like "inline".

However, __inline works.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
---
 xf86drmMode.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xf86drmMode.h b/xf86drmMode.h
index 856a6bb..2d30184 100644
--- a/xf86drmMode.h
+++ b/xf86drmMode.h
@@ -240,7 +240,7 @@ typedef struct _drmModeProperty {
 	uint32_t *blob_ids; /* store the blob IDs */
 } drmModePropertyRes, *drmModePropertyPtr;
 
-static inline int drm_property_type_is(drmModePropertyPtr property,
+static __inline int drm_property_type_is(drmModePropertyPtr property,
 		uint32_t type)
 {
 	/* instanceof for props.. handles extended type vs original types: */
-- 
2.2.0.rc0.207.ga3a616c

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
  2015-03-25  1:01 [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic Daniel Kurtz
@ 2015-03-26 15:12 ` Emil Velikov
  2015-03-26 15:38   ` Daniel Kurtz
  2015-04-05 14:32 ` Emil Velikov
  1 sibling, 1 reply; 7+ messages in thread
From: Emil Velikov @ 2015-03-26 15:12 UTC (permalink / raw)
  To: Daniel Kurtz, dri-devel, Rob Clark; +Cc: emil.l.velikov

Hi Daniel,
On 25/03/15 01:01, Daniel Kurtz wrote:
> Unfortunately, there are some users of libdrm installed headers that like
> to be built with -std=c89 -pedantic, which does not like "inline".
> 
> However, __inline works.
> 
> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

> ---
>  xf86drmMode.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xf86drmMode.h b/xf86drmMode.h
> index 856a6bb..2d30184 100644
> --- a/xf86drmMode.h
> +++ b/xf86drmMode.h
> @@ -240,7 +240,7 @@ typedef struct _drmModeProperty {
>  	uint32_t *blob_ids; /* store the blob IDs */
>  } drmModePropertyRes, *drmModePropertyPtr;
>  
> -static inline int drm_property_type_is(drmModePropertyPtr property,
> +static __inline int drm_property_type_is(drmModePropertyPtr property,

Can you share the name of those users ?

From a quick look clang and gcc are ok with this change, although some
versions of the Sun compiler are not. Considering that most programs try
to use c99 and later, might I suggest that you add a trivial wrapper in
your program ? Something along the lines of

#ifndef inline
#define inline __inline
#endif


-Emil

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
  2015-03-26 15:12 ` Emil Velikov
@ 2015-03-26 15:38   ` Daniel Kurtz
  2015-03-26 16:21     ` Emil Velikov
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel Kurtz @ 2015-03-26 15:38 UTC (permalink / raw)
  To: Emil Velikov; +Cc: dri-devel

Hi Emil,

On Thu, Mar 26, 2015 at 11:12 PM, Emil Velikov <emil.l.velikov@gmail.com> wrote:
>
> Hi Daniel,
> On 25/03/15 01:01, Daniel Kurtz wrote:
> > Unfortunately, there are some users of libdrm installed headers that like
> > to be built with -std=c89 -pedantic, which does not like "inline".
> >
> > However, __inline works.
> >
> > Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>
> > ---
> >  xf86drmMode.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/xf86drmMode.h b/xf86drmMode.h
> > index 856a6bb..2d30184 100644
> > --- a/xf86drmMode.h
> > +++ b/xf86drmMode.h
> > @@ -240,7 +240,7 @@ typedef struct _drmModeProperty {
> >       uint32_t *blob_ids; /* store the blob IDs */
> >  } drmModePropertyRes, *drmModePropertyPtr;
> >
> > -static inline int drm_property_type_is(drmModePropertyPtr property,
> > +static __inline int drm_property_type_is(drmModePropertyPtr property,
>
> Can you share the name of those users ?
>
> From a quick look clang and gcc are ok with this change, although some
> versions of the Sun compiler are not. Considering that most programs try
> to use c99 and later, might I suggest that you add a trivial wrapper in
> your program ? Something along the lines of
>
> #ifndef inline
> #define inline __inline
> #endif

It isn't a program, its a third party EGL/GLES driver, so, no I can't
really do this easily.

Alternatively can we:
 (1) move the wrapper to xf86drmMode.h itself, or
 (2) move this inline helper function out of xf86drmMode.h and into
the two libdrm tests that use it (or a shared test helper .h [0])
 (3) remove the inline and make drm_property_type_is a non-inline
function in xf86drmMode.c

[0] I think Thierry already has a patch set that rearranges the tests
to use some shared headers.  Perhaps this will work well once his set
lands.

-Dan

>
>
> -Emil
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
  2015-03-26 15:38   ` Daniel Kurtz
@ 2015-03-26 16:21     ` Emil Velikov
  2015-03-26 16:57       ` randyf
  0 siblings, 1 reply; 7+ messages in thread
From: Emil Velikov @ 2015-03-26 16:21 UTC (permalink / raw)
  To: Daniel Kurtz
  Cc: Stuart Kreitman, Niveditha Rau, emil.l.velikov, dri-devel, Randy Fishel

On 26/03/15 15:38, Daniel Kurtz wrote:
> Hi Emil,
> 
> On Thu, Mar 26, 2015 at 11:12 PM, Emil Velikov <emil.l.velikov@gmail.com> wrote:
>>
>> Hi Daniel,
>> On 25/03/15 01:01, Daniel Kurtz wrote:
>>> Unfortunately, there are some users of libdrm installed headers that like
>>> to be built with -std=c89 -pedantic, which does not like "inline".
>>>
>>> However, __inline works.
>>>
>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>
>>> ---
>>>  xf86drmMode.h | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/xf86drmMode.h b/xf86drmMode.h
>>> index 856a6bb..2d30184 100644
>>> --- a/xf86drmMode.h
>>> +++ b/xf86drmMode.h
>>> @@ -240,7 +240,7 @@ typedef struct _drmModeProperty {
>>>       uint32_t *blob_ids; /* store the blob IDs */
>>>  } drmModePropertyRes, *drmModePropertyPtr;
>>>
>>> -static inline int drm_property_type_is(drmModePropertyPtr property,
>>> +static __inline int drm_property_type_is(drmModePropertyPtr property,
>>
>> Can you share the name of those users ?
>>
>> From a quick look clang and gcc are ok with this change, although some
>> versions of the Sun compiler are not. Considering that most programs try
>> to use c99 and later, might I suggest that you add a trivial wrapper in
>> your program ? Something along the lines of
>>
>> #ifndef inline
>> #define inline __inline
>> #endif
> 
> It isn't a program, its a third party EGL/GLES driver, so, no I can't
> really do this easily.
> 
I see... due to various agreements you're not allowed to make any
changes. Be that to the code or the build (-Dinline...).

> Alternatively can we:
>  (1) move the wrapper to xf86drmMode.h itself, or
>  (2) move this inline helper function out of xf86drmMode.h and into
> the two libdrm tests that use it (or a shared test helper .h [0])
>  (3) remove the inline and make drm_property_type_is a non-inline
> function in xf86drmMode.c
> 
> [0] I think Thierry already has a patch set that rearranges the tests
> to use some shared headers.  Perhaps this will work well once his set
> lands.
> 
Fwiw I would opt for 1 or 3 (leaning towards 1), as 2 might lead to:
 - Everyone coming up with their own "helper", or
 - Ignoring DRM_MODE_PROP_EXTENDED_TYPE checking
drmModePropertyPtr::flags, thus causing all sorts of chaos.


Randy, Niveditha, Stuart,

Does the compiler(s) used to build libdrm and friends support __inline ?

Thanks,
Emil

P.S. [0] Seems to be missing but I do recall the series :)

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
  2015-03-26 16:21     ` Emil Velikov
@ 2015-03-26 16:57       ` randyf
  2015-03-29 16:20         ` Emil Velikov
  0 siblings, 1 reply; 7+ messages in thread
From: randyf @ 2015-03-26 16:57 UTC (permalink / raw)
  To: Emil Velikov; +Cc: dri-devel, Niveditha Rau, Stuart Kreitman


>
>> Alternatively can we:
>>  (1) move the wrapper to xf86drmMode.h itself, or
>>  (2) move this inline helper function out of xf86drmMode.h and into
>> the two libdrm tests that use it (or a shared test helper .h [0])
>>  (3) remove the inline and make drm_property_type_is a non-inline
>> function in xf86drmMode.c
>>
>> [0] I think Thierry already has a patch set that rearranges the tests
>> to use some shared headers.  Perhaps this will work well once his set
>> lands.
>>
> Fwiw I would opt for 1 or 3 (leaning towards 1), as 2 might lead to:
> - Everyone coming up with their own "helper", or
> - Ignoring DRM_MODE_PROP_EXTENDED_TYPE checking
> drmModePropertyPtr::flags, thus causing all sorts of chaos.
>
>
> Randy, Niveditha, Stuart,
>
> Does the compiler(s) used to build libdrm and friends support __inline ?

   It should.  I can't be 100% sure as there was just recently a new 
compiler release, but I would also suspect if this support was broken or 
dropped, then lots of stuff would break.


   Cheers!

 	---- Randy
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
  2015-03-26 16:57       ` randyf
@ 2015-03-29 16:20         ` Emil Velikov
  0 siblings, 0 replies; 7+ messages in thread
From: Emil Velikov @ 2015-03-29 16:20 UTC (permalink / raw)
  To: randyf; +Cc: dri-devel, Niveditha Rau, emil.l.velikov, Stuart Kreitman

On 26/03/15 16:57, randyf@sibernet.com wrote:
[...]
>>> Alternatively can we:
>>>  (1) move the wrapper to xf86drmMode.h itself, or
>>>  (2) move this inline helper function out of xf86drmMode.h and into
>>> the two libdrm tests that use it (or a shared test helper .h [0])
>>>  (3) remove the inline and make drm_property_type_is a non-inline
>>> function in xf86drmMode.c
>>>
>>> [0] I think Thierry already has a patch set that rearranges the tests
>>> to use some shared headers.  Perhaps this will work well once his set
>>> lands.
>>>
>> Fwiw I would opt for 1 or 3 (leaning towards 1), as 2 might lead to:
>> - Everyone coming up with their own "helper", or
>> - Ignoring DRM_MODE_PROP_EXTENDED_TYPE checking
>> drmModePropertyPtr::flags, thus causing all sorts of chaos.
>>
>>
>> Randy, Niveditha, Stuart,
>>
>> Does the compiler(s) used to build libdrm and friends support __inline ?
> 
>   It should.  I can't be 100% sure as there was just recently a new
> compiler release, but I would also suspect if this support was broken or
> dropped, then lots of stuff would break.
> 
> 
Thanks for the information Randy.

Daniel
Based Randy's input we can go with the original solution :-) Will leave
the patch around for a week or so, for others to comment, before pushing
it. If someone else beats me to it, feel free to add:

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

Cheers,
Emil

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
  2015-03-25  1:01 [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic Daniel Kurtz
  2015-03-26 15:12 ` Emil Velikov
@ 2015-04-05 14:32 ` Emil Velikov
  1 sibling, 0 replies; 7+ messages in thread
From: Emil Velikov @ 2015-04-05 14:32 UTC (permalink / raw)
  To: Daniel Kurtz; +Cc: ML dri-devel

On 25 March 2015 at 01:01, Daniel Kurtz <djkurtz@chromium.org> wrote:
> Unfortunately, there are some users of libdrm installed headers that like
> to be built with -std=c89 -pedantic, which does not like "inline".
>
> However, __inline works.
>
Pushed to master. Thanks !

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2015-04-05 14:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-25  1:01 [PATCH] xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic Daniel Kurtz
2015-03-26 15:12 ` Emil Velikov
2015-03-26 15:38   ` Daniel Kurtz
2015-03-26 16:21     ` Emil Velikov
2015-03-26 16:57       ` randyf
2015-03-29 16:20         ` Emil Velikov
2015-04-05 14:32 ` Emil Velikov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.