mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-31 08:57:40 +00:00
wikiheaders: Fixes and cleanups to fix SDL_ReportAssertion's wiki page.
This commit is contained in:
parent
c3a4b15a74
commit
8e782602de
3 changed files with 20 additions and 14 deletions
|
@ -872,7 +872,7 @@ while (my $d = readdir(DH)) {
|
||||||
}
|
}
|
||||||
$decl =~ s/\s*\)\s*(\{.*|)\s*\Z/);/;
|
$decl =~ s/\s*\)\s*(\{.*|)\s*\Z/);/;
|
||||||
} else {
|
} else {
|
||||||
if (not $decl =~ /\)\s*;/) {
|
if (not $decl =~ /;/) {
|
||||||
while (<FH>) {
|
while (<FH>) {
|
||||||
chomp;
|
chomp;
|
||||||
$lineno++;
|
$lineno++;
|
||||||
|
@ -880,14 +880,19 @@ while (my $d = readdir(DH)) {
|
||||||
s/\A\s+//;
|
s/\A\s+//;
|
||||||
s/\s+\Z//;
|
s/\s+\Z//;
|
||||||
$decl .= " $_";
|
$decl .= " $_";
|
||||||
last if /\)\s*;/;
|
last if /;/;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$decl =~ s/\s+\);\Z/);/;
|
$decl =~ s/\s+\);\Z/);/;
|
||||||
|
$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*\((.*?)\);/) {
|
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;
|
$sym = $7;
|
||||||
} elsif ($is_forced_inline && $decl =~ /\A\s*SDL_FORCE_INLINE\s+(SDL_DEPRECATED\s+|)(const\s+|)(unsigned\s+|)(.*?)([\*\s]+)(.*?)\s*\((.*?)\);/) {
|
} 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/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.
|
# !!! 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.
|
# 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,
|
extern SDL_DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *data,
|
||||||
const char *func,
|
const char *func,
|
||||||
const char *file, int line)
|
const char *file, int line) SDL_ANALYZER_NORETURN;
|
||||||
#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. */
|
|
||||||
|
|
||||||
|
|
||||||
/* Define the trigger breakpoint call used in asserts */
|
/* Define the trigger breakpoint call used in asserts */
|
||||||
#ifndef SDL_AssertBreakpoint
|
#ifndef SDL_AssertBreakpoint
|
||||||
|
|
|
@ -139,6 +139,16 @@
|
||||||
#endif
|
#endif
|
||||||
#endif /* SDL_NORETURN not defined */
|
#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 */
|
/* Apparently this is needed by several Windows compilers */
|
||||||
#ifndef __MACH__
|
#ifndef __MACH__
|
||||||
#ifndef NULL
|
#ifndef NULL
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue