1
0
Fork 0

Codechange: Use access __attribute__ to silence warnings in GCC

pull/8523/head
milek7 2021-01-08 01:26:51 +01:00 committed by Charles Pigott
parent 79d938b957
commit 639cfa43d2
2 changed files with 14 additions and 8 deletions

View File

@ -136,6 +136,12 @@
# endif # endif
#endif /* __GNUC__ || __clang__ */ #endif /* __GNUC__ || __clang__ */
#if defined(__GNUC__)
# define NOACCESS(args) __attribute__ ((access (none, args)))
#else
# define NOACCESS(args)
#endif
#if defined(__WATCOMC__) #if defined(__WATCOMC__)
# define NORETURN # define NORETURN
# define CDECL # define CDECL

View File

@ -30,25 +30,25 @@
#include "core/bitmath_func.hpp" #include "core/bitmath_func.hpp"
#include "string_type.h" #include "string_type.h"
char *strecat(char *dst, const char *src, const char *last); char *strecat(char *dst, const char *src, const char *last) NOACCESS(3);
char *strecpy(char *dst, const char *src, const char *last); char *strecpy(char *dst, const char *src, const char *last) NOACCESS(3);
char *stredup(const char *src, const char *last = nullptr); char *stredup(const char *src, const char *last = nullptr) NOACCESS(2);
int CDECL seprintf(char *str, const char *last, const char *format, ...) WARN_FORMAT(3, 4); int CDECL seprintf(char *str, const char *last, const char *format, ...) WARN_FORMAT(3, 4) NOACCESS(2);
int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) WARN_FORMAT(3, 0); int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) WARN_FORMAT(3, 0) NOACCESS(2);
char *CDECL str_fmt(const char *str, ...) WARN_FORMAT(1, 2); char *CDECL str_fmt(const char *str, ...) WARN_FORMAT(1, 2);
void str_validate(char *str, const char *last, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK); void str_validate(char *str, const char *last, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK) NOACCESS(2);
std::string str_validate(const std::string &str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK); std::string str_validate(const std::string &str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK);
void ValidateString(const char *str); void ValidateString(const char *str);
void str_fix_scc_encoded(char *str, const char *last); void str_fix_scc_encoded(char *str, const char *last) NOACCESS(2);
void str_strip_colours(char *str); void str_strip_colours(char *str);
bool strtolower(char *str); bool strtolower(char *str);
bool strtolower(std::string &str, std::string::size_type offs = 0); bool strtolower(std::string &str, std::string::size_type offs = 0);
bool StrValid(const char *str, const char *last); bool StrValid(const char *str, const char *last) NOACCESS(2);
/** /**
* Check if a string buffer is empty. * Check if a string buffer is empty.