Commit 41b14d12 authored by Matt Turner's avatar Matt Turner
Browse files

ralloc: Annotate printf functions with PRINTFLIKE(...)



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.

NOTE: This is a candidate for the release branches.
Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
parent ec57fbbc
...@@ -41,14 +41,6 @@ _CRTIMP int _vscprintf(const char *format, va_list argptr); ...@@ -41,14 +41,6 @@ _CRTIMP int _vscprintf(const char *format, va_list argptr);
#include "ralloc.h" #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 #ifndef va_copy
#ifdef __va_copy #ifdef __va_copy
#define va_copy(dest, src) __va_copy((dest), (src)) #define va_copy(dest, src) __va_copy((dest), (src))
......
...@@ -54,6 +54,7 @@ extern "C" { ...@@ -54,6 +54,7 @@ extern "C" {
#include <stddef.h> #include <stddef.h>
#include <stdarg.h> #include <stdarg.h>
#include <stdbool.h> #include <stdbool.h>
#include "main/compiler.h"
/** /**
* \def ralloc(ctx, type) * \def ralloc(ctx, type)
...@@ -301,7 +302,7 @@ bool ralloc_strncat(char **dest, const char *str, size_t n); ...@@ -301,7 +302,7 @@ bool ralloc_strncat(char **dest, const char *str, size_t n);
* *
* \return The newly allocated string. * \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. * Print to a string, given a va_list.
...@@ -334,7 +335,8 @@ char *ralloc_vasprintf(const void *ctx, const char *fmt, va_list args); ...@@ -334,7 +335,8 @@ char *ralloc_vasprintf(const void *ctx, const char *fmt, va_list args);
* \return True unless allocation failed. * \return True unless allocation failed.
*/ */
bool ralloc_asprintf_rewrite_tail(char **str, size_t *start, 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. * 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, ...@@ -376,7 +378,8 @@ bool ralloc_vasprintf_rewrite_tail(char **str, size_t *start, const char *fmt,
* *
* \return True unless allocation failed. * \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. * Append formatted text to the supplied string, given a va_list.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment