build: add build-level CURL_DISABLE_TYPECHECK options#19637
Closed
vszakats wants to merge 8 commits intocurl:masterfrom
Closed
build: add build-level CURL_DISABLE_TYPECHECK options#19637vszakats wants to merge 8 commits intocurl:masterfrom
CURL_DISABLE_TYPECHECK options#19637vszakats wants to merge 8 commits intocurl:masterfrom
Conversation
CURL_DISABLE_TYPECHECK optionCURL_DISABLE_TYPECHECK options
ading2210
pushed a commit
to ading2210/curl
that referenced
this pull request
Dec 1, 2025
Usage: - autotools: `--disable-typecheck` (or `--enable-typecheck` (default)) - cmake: `-DCURL_DISABLE_TYPECHECK=ON`. To disable `curl_easy_setopt()`/`curl_easy_getinfo()` type checking with supported (new) gcc and clang compilers. It is useful to improve build performance for the `tests/libtest` target. In particular the CodeQL analyzer may take above an hour to compile with type checking enabled, and disabling it brings it down to seconds. On local machines it may also cut build times in half when build testdeps, depending on platform and compiler. Other than these cases, we recommend leaving type checking enabled. Ref: fdacf34 curl#19632 Also: - GHA/codeql: use it. - test1165: check in `include/curl`. - lib1912: delete stray todo comment. - spelling and comment nits. Closes curl#19637
ading2210
pushed a commit
to ading2210/curl
that referenced
this pull request
Dec 1, 2025
Usage: - autotools: `--disable-typecheck` (or `--enable-typecheck` (default)) - cmake: `-DCURL_DISABLE_TYPECHECK=ON`. To disable `curl_easy_setopt()`/`curl_easy_getinfo()` type checking with supported (new) gcc and clang compilers. It is useful to improve build performance for the `tests/libtest` target. In particular the CodeQL analyzer may take above an hour to compile with type checking enabled, and disabling it brings it down to seconds. On local machines it may also cut build times in half when build testdeps, depending on platform and compiler. Other than these cases, we recommend leaving type checking enabled. Ref: fdacf34 curl#19632 Also: - GHA/codeql: use it. - test1165: check in `include/curl`. - lib1912: delete stray todo comment. - spelling and comment nits. Closes curl#19637
vszakats
added a commit
that referenced
this pull request
Dec 12, 2025
- cmake: automatically disable typecheck when running clang-tidy, to avoid possible interference, and to improve performance. - INSTALL-CMAKE: document both this, and unity=off for clang-tidy. - GHA/linux: disable for some static analyzers CI jobs to avoid possible interference. - GHA/linux: disable in Fil-C job to improve build performance. Follow-up to 9e6f1c5 #19637 Follow-up to fd2ca23 #17955 Closes #19941
vszakats
added a commit
that referenced
this pull request
Feb 20, 2026
To make it apply to examples. This in turn makes analyzers run quicker and with fewer false positives. It's a special disable option, having its effect via `curl/curl.h`. Bug: #20649 (comment) Follow-up to 9e6f1c5 #19637 Closes #20650
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Usage:
--disable-typecheck(or--enable-typecheck(default))-DCURL_DISABLE_TYPECHECK=ON.To disable
curl_easy_setopt()/curl_easy_getinfo()type checking withsupported (new) gcc and clang compilers. It is useful to improve build
performance for the
tests/libtesttarget. In particular the CodeQLanalyzer may take above an hour to compile with type checking enabled,
and disabling it brings it down to seconds. On local machines it may
also cut build times in half when build testdeps, depending on platform
and compiler.
Other than these cases, we recommend leaving type checking enabled.
Ref: fdacf34 #19632
Also:
include/curl.https://github.com/curl/curl/pull/19637/files?w=1