build: always revert #pragma GCC diagnostic after use

Before this patch some source files were overriding gcc warning options,
but without restoring them at the end of the file. In CMake UNITY builds
these options spilled over to the remainder of the source code,
effecitvely disabling them for a larger portion of the codebase than
intended.

`#pragma clang diagnostic` didn't have such issue in the codebase.

Reviewed-by: Marcel Raad
Closes #12352
This commit is contained in:
Viktor Szakats 2023-11-17 19:13:13 +00:00
parent ab50027ddf
commit a9fd0d0083
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
4 changed files with 24 additions and 0 deletions

View File

@ -93,6 +93,7 @@
#if defined(__GNUC__) && \
(LIBSSH_VERSION_MINOR >= 10) || \
(LIBSSH_VERSION_MAJOR > 0)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
@ -2946,4 +2947,10 @@ void Curl_ssh_version(char *buffer, size_t buflen)
(void)msnprintf(buffer, buflen, "libssh/%s", ssh_version(0));
}
#if defined(__GNUC__) && \
(LIBSSH_VERSION_MINOR >= 10) || \
(LIBSSH_VERSION_MAJOR > 0)
#pragma GCC diagnostic pop
#endif
#endif /* USE_LIBSSH */

View File

@ -46,6 +46,7 @@
#endif /* __clang__ */
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Waddress"
#pragma GCC diagnostic ignored "-Wundef"
#endif
@ -3500,6 +3501,10 @@ const struct Curl_ssl Curl_ssl_sectransp = {
sectransp_send, /* send data to encrypt */
};
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
#ifdef __clang__
#pragma clang diagnostic pop
#endif

View File

@ -220,6 +220,7 @@ static void main_free(struct GlobalConfig *config)
#ifdef _UNICODE
#if defined(__GNUC__)
/* GCC doesn't know about wmain() */
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-prototypes"
#pragma GCC diagnostic ignored "-Wmissing-declarations"
#endif
@ -287,4 +288,10 @@ int main(int argc, char *argv[])
#endif
}
#ifdef _UNICODE
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
#endif
#endif /* ndef UNITTESTS */

View File

@ -47,6 +47,7 @@ static CURLcode unit_stop(void)
}
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Woverlength-strings"
#endif
@ -161,6 +162,10 @@ UNITTEST_START
}
UNITTEST_STOP
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
#else
static CURLcode unit_setup(void)
{