mirror of https://github.com/libsdl-org/SDL
wikiheaders: Fixes and cleanups to fix SDL_ReportAssertion's wiki page.
This commit is contained in:
parent
c3a4b15a74
commit
8e782602de
|
@ -872,7 +872,7 @@ while (my $d = readdir(DH)) {
|
|||
}
|
||||
$decl =~ s/\s*\)\s*(\{.*|)\s*\Z/);/;
|
||||
} else {
|
||||
if (not $decl =~ /\)\s*;/) {
|
||||
if (not $decl =~ /;/) {
|
||||
while (<FH>) {
|
||||
chomp;
|
||||
$lineno++;
|
||||
|
@ -880,14 +880,19 @@ while (my $d = readdir(DH)) {
|
|||
s/\A\s+//;
|
||||
s/\s+\Z//;
|
||||
$decl .= " $_";
|
||||
last if /\)\s*;/;
|
||||
last if /;/;
|
||||
}
|
||||
}
|
||||
$decl =~ s/\s+\);\Z/);/;
|
||||
$decl =~ s/\s+;\Z/;/;
|
||||
}
|
||||
|
||||
$decl =~ s/\s+\Z//;
|
||||
|
||||
$decl =~ s/\s*SDL_W?PRINTF_VARARG_FUNCV?\s*\(\d+\)\s*//; # don't want this metadata as part of the documentation.
|
||||
$decl =~ s/SDL_PRINTF_FORMAT_STRING\s*//; # don't want this metadata as part of the documentation.
|
||||
$decl =~ s/\s*SDL_ANALYZER_NORETURN\s*//; # don't want this metadata as part of the documentation.
|
||||
|
||||
if (!$is_forced_inline && $decl =~ /\A\s*extern\s+(SDL_DEPRECATED\s+|)(SDLMAIN_|SDL_)DECLSPEC\s+(const\s+|)(unsigned\s+|)(.*?)\s*(\*?)\s*SDLCALL\s+(.*?)\s*\((.*?)\);/) {
|
||||
$sym = $7;
|
||||
} elsif ($is_forced_inline && $decl =~ /\A\s*SDL_FORCE_INLINE\s+(SDL_DEPRECATED\s+|)(const\s+|)(unsigned\s+|)(.*?)([\*\s]+)(.*?)\s*\((.*?)\);/) {
|
||||
|
@ -919,8 +924,9 @@ while (my $d = readdir(DH)) {
|
|||
}
|
||||
}
|
||||
|
||||
$decl =~ s/\s*SDL_W?PRINTF_VARARG_FUNCV?\s*\(\d+\)\s*;\Z/;/; # don't want this metadata as part of the documentation.
|
||||
$decl =~ s/\s*SDL_W?PRINTF_VARARG_FUNCV?\s*\(\d+\)\s*//; # don't want this metadata as part of the documentation.
|
||||
$decl =~ s/SDL_PRINTF_FORMAT_STRING\s*//; # don't want this metadata as part of the documentation.
|
||||
$decl =~ s/\s*SDL_ANALYZER_NORETURN\s*//; # don't want this metadata as part of the documentation.
|
||||
|
||||
# !!! FIXME: code duplication with typedef processing, below.
|
||||
# We assume any `#define`s directly after the function are related to it: probably bitflags for an integer typedef.
|
||||
|
|
|
@ -244,17 +244,7 @@ typedef struct SDL_AssertData
|
|||
*/
|
||||
extern SDL_DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *data,
|
||||
const char *func,
|
||||
const char *file, int line)
|
||||
#ifdef __clang__
|
||||
#if __has_feature(attribute_analyzer_noreturn)
|
||||
__attribute__((analyzer_noreturn))
|
||||
#endif
|
||||
#endif
|
||||
;
|
||||
/* Previous 'analyzer_noreturn' attribute tells Clang's static analysis that we're a custom assert function,
|
||||
and that the analyzer should assume the condition was always true past this
|
||||
SDL_assert test. */
|
||||
|
||||
const char *file, int line) SDL_ANALYZER_NORETURN;
|
||||
|
||||
/* Define the trigger breakpoint call used in asserts */
|
||||
#ifndef SDL_AssertBreakpoint
|
||||
|
|
|
@ -139,6 +139,16 @@
|
|||
#endif
|
||||
#endif /* SDL_NORETURN not defined */
|
||||
|
||||
#ifdef __clang__
|
||||
#if __has_feature(attribute_analyzer_noreturn)
|
||||
#define SDL_ANALYZER_NORETURN __attribute__((analyzer_noreturn))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef SDL_ANALYZER_NORETURN
|
||||
#define SDL_ANALYZER_NORETURN
|
||||
#endif
|
||||
|
||||
/* Apparently this is needed by several Windows compilers */
|
||||
#ifndef __MACH__
|
||||
#ifndef NULL
|
||||
|
|
Loading…
Reference in New Issue