diff mbox series

[RFC] docs/devel: more documentation on the use of suffixes

Message ID 20211217171902.2668674-1-alex.bennee@linaro.org
State New
Headers show
Series [RFC] docs/devel: more documentation on the use of suffixes | expand

Commit Message

Alex Bennée Dec. 17, 2021, 5:19 p.m. UTC
Using _qemu is a little confusing. Let's use _compat for these sorts
of things. We should also mention _impl which is another common suffix
in the code base.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 docs/devel/style.rst  | 7 +++++++
 include/glib-compat.h | 6 +++---
 2 files changed, 10 insertions(+), 3 deletions(-)

Comments

Daniel P. Berrangé Dec. 17, 2021, 5:26 p.m. UTC | #1
On Fri, Dec 17, 2021 at 05:19:02PM +0000, Alex Bennée wrote:
> Using _qemu is a little confusing. Let's use _compat for these sorts
> of things. We should also mention _impl which is another common suffix
> in the code base.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  docs/devel/style.rst  | 7 +++++++
>  include/glib-compat.h | 6 +++---
>  2 files changed, 10 insertions(+), 3 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
Philippe Mathieu-Daudé Dec. 17, 2021, 6:44 p.m. UTC | #2
On 12/17/21 18:19, Alex Bennée wrote:
> Using _qemu is a little confusing. Let's use _compat for these sorts
> of things. We should also mention _impl which is another common suffix
> in the code base.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  docs/devel/style.rst  | 7 +++++++
>  include/glib-compat.h | 6 +++---
>  2 files changed, 10 insertions(+), 3 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Paolo Bonzini Dec. 18, 2021, 10:05 a.m. UTC | #3
On 12/17/21 18:19, Alex Bennée wrote:
> Using _qemu is a little confusing. Let's use _compat for these sorts
> of things. We should also mention _impl which is another common suffix
> in the code base.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   docs/devel/style.rst  | 7 +++++++
>   include/glib-compat.h | 6 +++---
>   2 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/devel/style.rst b/docs/devel/style.rst
> index 9c5c0fffd9..60dfdf9b7f 100644
> --- a/docs/devel/style.rst
> +++ b/docs/devel/style.rst
> @@ -151,6 +151,13 @@ If there are two versions of a function to be called with or without a
>   lock held, the function that expects the lock to be already held
>   usually uses the suffix ``_locked``.
>   
> +If a function is a shim designed to deal with compatibility
> +workarounds we use the suffix ``_compat``. These are generally not
> +called directly and aliased to the plain function name via the
> +pre-processor. Another common suffix that is used is ``__impl`` which
> +is often used for the concrete implementation of something that has
> +multiple potential approaches hidden behind a common function name or
> +one that needs expansion via the pre-processor.

Another common suffix is ``_impl``; it is used for the concrete 
implementation of a function that will not be called directly, but 
rather through a macro or an inline function.

Otherwise it is indeed worth documenting!

Paolo

>   
>   Block structure
>   ===============
> diff --git a/include/glib-compat.h b/include/glib-compat.h
> index 9e95c888f5..9d3eb1b7a0 100644
> --- a/include/glib-compat.h
> +++ b/include/glib-compat.h
> @@ -46,9 +46,9 @@
>    *    int g_foo(const char *wibble)
>    *
>    * We must define a static inline function with the same signature that does
> - * what we need, but with a "_qemu" suffix e.g.
> + * what we need, but with a "_compat" suffix e.g.
>    *
> - * static inline void g_foo_qemu(const char *wibble)
> + * static inline void g_foo_compat(const char *wibble)
>    * {
>    *     #if GLIB_CHECK_VERSION(X, Y, 0)
>    *        g_foo(wibble)
> @@ -61,7 +61,7 @@
>    * ensuring this wrapper function impl doesn't trigger the compiler warning
>    * about using too new glib APIs. Finally we can do
>    *
> - *   #define g_foo(a) g_foo_qemu(a)
> + *   #define g_foo(a) g_foo_compat(a)
>    *
>    * So now the code elsewhere in QEMU, which *does* have the
>    * -Wdeprecated-declarations warning active, can call g_foo(...) as normal,
>
diff mbox series

Patch

diff --git a/docs/devel/style.rst b/docs/devel/style.rst
index 9c5c0fffd9..60dfdf9b7f 100644
--- a/docs/devel/style.rst
+++ b/docs/devel/style.rst
@@ -151,6 +151,13 @@  If there are two versions of a function to be called with or without a
 lock held, the function that expects the lock to be already held
 usually uses the suffix ``_locked``.
 
+If a function is a shim designed to deal with compatibility
+workarounds we use the suffix ``_compat``. These are generally not
+called directly and aliased to the plain function name via the
+pre-processor. Another common suffix that is used is ``__impl`` which
+is often used for the concrete implementation of something that has
+multiple potential approaches hidden behind a common function name or
+one that needs expansion via the pre-processor.
 
 Block structure
 ===============
diff --git a/include/glib-compat.h b/include/glib-compat.h
index 9e95c888f5..9d3eb1b7a0 100644
--- a/include/glib-compat.h
+++ b/include/glib-compat.h
@@ -46,9 +46,9 @@ 
  *    int g_foo(const char *wibble)
  *
  * We must define a static inline function with the same signature that does
- * what we need, but with a "_qemu" suffix e.g.
+ * what we need, but with a "_compat" suffix e.g.
  *
- * static inline void g_foo_qemu(const char *wibble)
+ * static inline void g_foo_compat(const char *wibble)
  * {
  *     #if GLIB_CHECK_VERSION(X, Y, 0)
  *        g_foo(wibble)
@@ -61,7 +61,7 @@ 
  * ensuring this wrapper function impl doesn't trigger the compiler warning
  * about using too new glib APIs. Finally we can do
  *
- *   #define g_foo(a) g_foo_qemu(a)
+ *   #define g_foo(a) g_foo_compat(a)
  *
  * So now the code elsewhere in QEMU, which *does* have the
  * -Wdeprecated-declarations warning active, can call g_foo(...) as normal,