Codechange: Use __attribute__ access none to silence GCC 11 -Wmaybe-uninitialized warnings (#9124)

This commit is contained in:
Milek7 2021-04-28 23:06:47 +02:00 committed by GitHub
parent 267703c14b
commit 8e9eca6ddd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 8 deletions

View File

@ -138,6 +138,12 @@
# endif # endif
#endif /* __GNUC__ || __clang__ */ #endif /* __GNUC__ || __clang__ */
#if __GNUC__ > 11 || (__GNUC__ == 11 && __GNUC_MINOR__ >= 1)
# 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);
void StrTrimInPlace(char *str); void StrTrimInPlace(char *str);
/** /**