FFmpeg
Loading...
Searching...
No Matches
attributes.h File Reference

Platform and compiler attribute macros. More...

#include <stddef.h>

Go to the source code of this file.

Macros

#define CHECKASM_PRINTF(fmt, attr)
 Printf-style format string checking attribute.
 
#define CHECKASM_API
 Symbol visibility attribute for public API functions.
 

Detailed Description

Platform and compiler attribute macros.

This header defines platform-specific compiler attributes used throughout the checkasm API for features like printf format checking and symbol visibility.

Definition in file attributes.h.

Macro Definition Documentation

◆ CHECKASM_PRINTF

#define CHECKASM_PRINTF ( fmt,
attr )
Value:
__attribute__((__format__(__printf__, fmt, attr)))

Printf-style format string checking attribute.

Enables compile-time checking of printf-style format strings and arguments when supported by the compiler. This helps catch format string errors at compile time rather than runtime.

Parameters
fmtPosition of the format string parameter (1-indexed)
attrPosition of the first variadic argument (1-indexed)

Definition at line 59 of file attributes.h.

Referenced by checkasm_check_key(), checkasm_fail_abort(), checkasm_fail_func(), checkasm_json(), checkasm_report(), and checkasm_set_func_variant().

◆ CHECKASM_API

#define CHECKASM_API

Symbol visibility attribute for public API functions.

Marks functions and variables as part of the public checkasm API. This ensures proper symbol export/import behavior across different platforms and build configurations.

Note
All public checkasm API functions are marked with this attribute.

Definition at line 90 of file attributes.h.

Referenced by checkasm_check_key(), checkasm_checked_call(), checkasm_checked_call_emms(), checkasm_checked_call_float(), checkasm_checked_call_ptr(), checkasm_clobber_args(), checkasm_empty_mmx(), checkasm_fail_func(), checkasm_init_mask16(), checkasm_init_mask8(), checkasm_rand_float32(), checkasm_rand_float64(), checkasm_rand_int16(), checkasm_rand_int32(), checkasm_rand_int64(), checkasm_rand_int8(), checkasm_rand_uint16(), checkasm_rand_uint32(), checkasm_rand_uint64(), checkasm_rand_uint8(), checkasm_report(), checkasm_set_func_variant(), checkasm_set_function(), and DECL_CHECKASM_CHECK_FUNC().