curl/src
Viktor Szakats fb711b5098
build: fix clang-cl builds, add CI job
- appveyor: add build-only job for clang-cl.

- cmake: `-pedantic-errors` enables `-Werror,-Wlanguage-extension-token`
  automatically, which makes `__int64` detection fail.
  Explictly disable this compiler warning for clang-cl to make the
  feature detection work and to accept `__int64` in the source code.

- cmake: disable `-Wlanguage-extension-token` warning for clang-cl
  to fix these when encountering `__int64`:
  ```
  lib/formdata.c(797,29): error : extension used [-Werror,-Wlanguage-extension-token]
  lib/warnless.c(117,33): error : extension used [-Werror,-Wlanguage-extension-token]
  lib/warnless.c(60,28): message : expanded from macro 'CURL_MASK_SCOFFT'
  lib/warnless.c(59,38): message : expanded from macro 'CURL_MASK_UCOFFT'
  include\curl/system.h(352,40): message : expanded from macro 'CURL_TYPEOF_CURL_OFF_T'
  ```

- make `__GNUC__` warning suppressions apply to `__clang__` too.
  Necessary for clang-cl, which defines the latter, but not the former.
  (Regular clang defines both.)

- examples: fix clang-cl compiler warning in `http2-upload.c`.
  ```
  docs\examples\http2-upload.c(56,5): error : no previous prototype for function 'my_gettimeofday' [-Werror,-Wmissing-prototypes]
  docs\examples\http2-upload.c(56,1): message : declare 'static' if the function is not intended to be used outside of this translation unit
  ```

- unit2604: add missing `#pragma GCC diagnostic pop`.
  Follow-up to e53523fef0 #14859

- unit1652: limit compiler warning suppression to GCC.
  They do not affect clang builds.
  Follow-up to 71cf0d1fca #14772

Closes #15449
2024-10-30 23:15:32 +01:00
..
.checksrc tool_getparam: replace two uses of strncpy(), ban strncpy 2024-10-09 23:43:24 +02:00
.gitignore
CMakeLists.txt cmake: replace CURL_*_DIR with {PROJECT,CMAKE_CURRENT}_*_DIR 2024-10-22 19:13:08 +02:00
curl.rc
Makefile.am tidy-up: indent, whitespace, #error in make files 2024-09-22 09:51:15 +02:00
Makefile.inc
Makefile.mk Makefile.mk: update to use Markdown sources for manual 2024-09-06 21:57:54 +02:00
mk-file-embed.pl src: guard for double declaration of curl_ca_embed in unity builds 2024-10-16 17:27:56 +02:00
mkhelp.pl tidy-up: misc build, tests, lib/macos.c 2024-08-16 16:05:36 +02:00
slist_wc.c
slist_wc.h
terminal.c source: avoid use of 'very' in comments 2024-10-17 13:36:33 +02:00
terminal.h
tool_binmode.c build: detect and use _setmode() with Cygwin/MSYS, also use on Windows 2024-10-07 12:31:21 +02:00
tool_binmode.h build: detect and use _setmode() with Cygwin/MSYS, also use on Windows 2024-10-07 12:31:21 +02:00
tool_bname.c
tool_bname.h
tool_cb_dbg.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
tool_cb_dbg.h
tool_cb_hdr.c tool: support --show-headers AND --remote-header-name 2024-10-02 08:04:33 +02:00
tool_cb_hdr.h tool: support --show-headers AND --remote-header-name 2024-10-02 08:04:33 +02:00
tool_cb_prg.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
tool_cb_prg.h
tool_cb_rea.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
tool_cb_rea.h
tool_cb_see.c src: fix potential macro confusion in cmake unity builds 2024-08-22 10:45:04 +02:00
tool_cb_see.h
tool_cb_soc.c
tool_cb_soc.h
tool_cb_wrt.c tool: support --show-headers AND --remote-header-name 2024-10-02 08:04:33 +02:00
tool_cb_wrt.h
tool_cfgable.c curl: detect ECH support dynamically, not at build time 2024-10-24 16:10:39 +02:00
tool_cfgable.h curl: detect ECH support dynamically, not at build time 2024-10-24 16:10:39 +02:00
tool_dirhie.c src: fix potential macro confusion in cmake unity builds 2024-08-22 10:45:04 +02:00
tool_dirhie.h
tool_doswin.c tool_doswin: simplify; remove unused options and strncpy calls 2024-09-26 10:45:08 +02:00
tool_doswin.h tool_doswin: simplify; remove unused options and strncpy calls 2024-09-26 10:45:08 +02:00
tool_easysrc.c lib, src: delete stray curl_ prefix from printf calls 2024-08-26 11:00:15 +02:00
tool_easysrc.h
tool_filetime.c tidy-up: rename CURL_WINDOWS_APP to CURL_WINDOWS_UWP 2024-09-19 19:24:12 +02:00
tool_filetime.h
tool_findfile.c lib, src: delete stray curl_ prefix from printf calls 2024-08-26 11:00:15 +02:00
tool_findfile.h
tool_formparse.c src: fix potential macro confusion in cmake unity builds 2024-08-22 10:45:04 +02:00
tool_formparse.h
tool_getparam.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
tool_getparam.h TLS: TLSv1.3 earlydata support for curl 2024-10-11 12:28:22 +02:00
tool_getpass.c
tool_getpass.h
tool_help.c ipfs: add options to disable 2024-09-21 12:08:32 +02:00
tool_help.h tool_help: handle longer lines, exit on too long 2024-08-07 00:31:07 +02:00
tool_helpers.c tool: support --show-headers AND --remote-header-name 2024-10-02 08:04:33 +02:00
tool_helpers.h
tool_hugehelp.c.cvs buildconf.bat: fix tool_hugehelp.c generation 2024-08-21 03:36:18 -04:00
tool_hugehelp.h curl: --help [option] displays documentation for given cmdline option 2024-08-04 16:06:17 +02:00
tool_ipfs.c ipfs: add options to disable 2024-09-21 12:08:32 +02:00
tool_ipfs.h ipfs: add options to disable 2024-09-21 12:08:32 +02:00
tool_libinfo.c curl: detect ECH support dynamically, not at build time 2024-10-24 16:10:39 +02:00
tool_libinfo.h curl: detect ECH support dynamically, not at build time 2024-10-24 16:10:39 +02:00
tool_listhelp.c TLS: TLSv1.3 earlydata support for curl 2024-10-11 12:28:22 +02:00
tool_main.c build: fix clang-cl builds, add CI job 2024-10-30 23:15:32 +01:00
tool_main.h
tool_msgs.c lib, src: delete stray curl_ prefix from printf calls 2024-08-26 11:00:15 +02:00
tool_msgs.h
tool_operate.c curl/config2setopts: move SSH related options into same block 2024-10-29 11:05:22 +01:00
tool_operate.h tool_operate: split up the huge single_transfer into sub functions 2024-10-23 23:12:54 +02:00
tool_operhlp.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
tool_operhlp.h tool_cb_wrt: use "curl_response" if no file name in URL 2024-09-17 13:39:51 +02:00
tool_paramhlp.c lib, src: delete stray curl_ prefix from printf calls 2024-08-26 11:00:15 +02:00
tool_paramhlp.h tool_paramhlp: bump maximum post data size in memory to 16GB 2024-08-14 07:57:24 +02:00
tool_parsecfg.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
tool_parsecfg.h
tool_progress.c src: fix potential macro confusion in cmake unity builds 2024-08-22 10:45:04 +02:00
tool_progress.h
tool_sdecls.h src: namespace symbols clashing with lib 2024-09-05 00:55:44 +02:00
tool_setopt.c src: fix potential macro confusion in cmake unity builds 2024-08-22 10:45:04 +02:00
tool_setopt.h
tool_setup.h config: rename the OS define to CURL_OS to reduce collision risk 2024-10-30 14:59:54 +01:00
tool_sleep.c select: use poll() if existing, avoid poll() with no sockets 2024-10-01 15:11:50 +02:00
tool_sleep.h
tool_stderr.c
tool_stderr.h
tool_strdup.c
tool_strdup.h
tool_urlglob.c tool_operate: split up the huge single_transfer into sub functions 2024-10-23 23:12:54 +02:00
tool_urlglob.h tool_operate: split up the huge single_transfer into sub functions 2024-10-23 23:12:54 +02:00
tool_util.c curl: add options for safe/no CA bundle search (Windows) 2024-09-22 18:17:25 +02:00
tool_util.h curl: add options for safe/no CA bundle search (Windows) 2024-09-22 18:17:25 +02:00
tool_version.h config: rename the OS define to CURL_OS to reduce collision risk 2024-10-30 14:59:54 +01:00
tool_vms.c src: fix potential macro confusion in cmake unity builds 2024-08-22 10:45:04 +02:00
tool_vms.h
tool_writeout_json.c src: fix potential macro confusion in cmake unity builds 2024-08-22 10:45:04 +02:00
tool_writeout_json.h
tool_writeout.c tool_operate: split up the huge single_transfer into sub functions 2024-10-23 23:12:54 +02:00
tool_writeout.h curl: fix the -w urle.* variables 2024-08-15 14:01:24 +02:00
tool_xattr.c tool_xattr: create the user.creator xattr attribute 2024-10-11 10:13:37 -07:00
tool_xattr.h
var.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
var.h