[Mesa-dev] [PATCH] ralloc: Annotate printf functions with PRINTFLIKE(...)

Ian Romanick idr at freedesktop.org
Wed Oct 24 13:03:29 PDT 2012


On 10/24/2012 12:15 PM, Matt Turner wrote:
> Catches problems such as (in the gles3 branch)
>
> glcpp-parse.y: In function '_glcpp_parser_handle_version_declaration':
> glcpp-parse.y:1990:39: warning: format '%lli' expects argument of type
> 	'long long int', but argument 4 has type 'int' [-Wformat]
>
> As a side-effect, remove ralloc.c's likely/unlikely macros and just use
> the ones from main/compiler.h.

This should probably go into at least the 9.0 branch and possibly 8.0 as 
well.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> ---
>   src/glsl/ralloc.c |    8 --------
>   src/glsl/ralloc.h |    9 ++++++---
>   2 files changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/src/glsl/ralloc.c b/src/glsl/ralloc.c
> index 3da09b5..59e71c4 100644
> --- a/src/glsl/ralloc.c
> +++ b/src/glsl/ralloc.c
> @@ -41,14 +41,6 @@ _CRTIMP int _vscprintf(const char *format, va_list argptr);
>
>   #include "ralloc.h"
>
> -#ifdef __GNUC__
> -#define likely(x)       __builtin_expect(!!(x),1)
> -#define unlikely(x)     __builtin_expect(!!(x),0)
> -#else
> -#define likely(x)       !!(x)
> -#define unlikely(x)     !!(x)
> -#endif
> -
>   #ifndef va_copy
>   #ifdef __va_copy
>   #define va_copy(dest, src) __va_copy((dest), (src))
> diff --git a/src/glsl/ralloc.h b/src/glsl/ralloc.h
> index 86306b1..67eb938 100644
> --- a/src/glsl/ralloc.h
> +++ b/src/glsl/ralloc.h
> @@ -54,6 +54,7 @@ extern "C" {
>   #include <stddef.h>
>   #include <stdarg.h>
>   #include <stdbool.h>
> +#include "main/compiler.h"
>
>   /**
>    * \def ralloc(ctx, type)
> @@ -301,7 +302,7 @@ bool ralloc_strncat(char **dest, const char *str, size_t n);
>    *
>    * \return The newly allocated string.
>    */
> -char *ralloc_asprintf (const void *ctx, const char *fmt, ...);
> +char *ralloc_asprintf (const void *ctx, const char *fmt, ...) PRINTFLIKE(2, 3);
>
>   /**
>    * Print to a string, given a va_list.
> @@ -334,7 +335,8 @@ char *ralloc_vasprintf(const void *ctx, const char *fmt, va_list args);
>    * \return True unless allocation failed.
>    */
>   bool ralloc_asprintf_rewrite_tail(char **str, size_t *start,
> -				  const char *fmt, ...);
> +				  const char *fmt, ...)
> +				  PRINTFLIKE(3, 4);
>
>   /**
>    * Rewrite the tail of an existing string, starting at a given index.
> @@ -376,7 +378,8 @@ bool ralloc_vasprintf_rewrite_tail(char **str, size_t *start, const char *fmt,
>    *
>    * \return True unless allocation failed.
>    */
> -bool ralloc_asprintf_append (char **str, const char *fmt, ...);
> +bool ralloc_asprintf_append (char **str, const char *fmt, ...)
> +			     PRINTFLIKE(2, 3);
>
>   /**
>    * Append formatted text to the supplied string, given a va_list.
>



More information about the mesa-dev mailing list