diff --git a/docs/examples/sslbackend.c b/docs/examples/sslbackend.c index 14c230390..12e515005 100644 --- a/docs/examples/sslbackend.c +++ b/docs/examples/sslbackend.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -47,7 +47,7 @@ int main(int argc, char **argv) const curl_ssl_backend **list; int i; - result = curl_global_sslset(-1, NULL, &list); + result = curl_global_sslset((curl_sslbackend)-1, NULL, &list); assert(result == CURLSSLSET_UNKNOWN_BACKEND); for(i = 0; list[i]; i++) @@ -62,7 +62,7 @@ int main(int argc, char **argv) result = curl_global_sslset((curl_sslbackend)id, NULL, NULL); } else - result = curl_global_sslset(-1, name, NULL); + result = curl_global_sslset((curl_sslbackend)-1, name, NULL); if(result == CURLSSLSET_UNKNOWN_BACKEND) { fprintf(stderr, "Unknown SSL backend id: %s\n", name); diff --git a/lib/easyoptions.c b/lib/easyoptions.c index 9145ba7fc..0ab6a3fc6 100644 --- a/lib/easyoptions.c +++ b/lib/easyoptions.c @@ -332,7 +332,7 @@ struct curl_easyoption Curl_easyopts[] = { {"XFERINFODATA", CURLOPT_XFERINFODATA, CURLOT_CBPTR, 0}, {"XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CURLOT_FUNCTION, 0}, {"XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CURLOT_STRING, 0}, - {NULL, 0, 0, 0} /* end of table */ + {NULL, CURLOPT_LASTENTRY, 0, 0} /* end of table */ }; #ifdef DEBUGBUILD diff --git a/lib/optiontable.pl b/lib/optiontable.pl index ce5d02015..9c3b62619 100644 --- a/lib/optiontable.pl +++ b/lib/optiontable.pl @@ -101,7 +101,7 @@ for my $name (sort @names) { } print <, et al. + * Copyright (C) 2001 - 2020, Daniel Stenberg, , et al. * * All rights reserved. * @@ -529,7 +529,7 @@ static CURLcode choose_mech(struct connectdata *conn) if(ret != AUTH_CONTINUE) { if(ret != AUTH_OK) { /* Mechanism has dumped the error to stderr, don't error here. */ - return -1; + return CURLE_USE_SSL_FAILED; } DEBUGASSERT(ret == AUTH_OK); diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c index 9f280447c..978c61abf 100644 --- a/lib/vtls/gtls.c +++ b/lib/vtls/gtls.c @@ -304,7 +304,7 @@ static gnutls_x509_crt_fmt_t do_file_type(const char *type) return GNUTLS_X509_FMT_PEM; if(strcasecompare(type, "DER")) return GNUTLS_X509_FMT_DER; - return -1; + return GNUTLS_X509_FMT_PEM; /* default to PEM */ } #define GNUTLS_CIPHERS "NORMAL:-ARCFOUR-128:-CTYPE-ALL:+CTYPE-X509" diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c index 8e9de3cd6..25098814a 100644 --- a/lib/vtls/nss.c +++ b/lib/vtls/nss.c @@ -1672,7 +1672,8 @@ static CURLcode nss_load_ca_certificates(struct connectdata *conn, if(!dir) return CURLE_SSL_CACERT_BADFILE; - while((entry = PR_ReadDir(dir, PR_SKIP_BOTH | PR_SKIP_HIDDEN))) { + while((entry = + PR_ReadDir(dir, (PRDirFlags)(PR_SKIP_BOTH | PR_SKIP_HIDDEN)))) { char *fullpath = aprintf("%s/%s", capath, entry->name); if(!fullpath) { PR_CloseDir(dir); diff --git a/m4/curl-compilers.m4 b/m4/curl-compilers.m4 index b0d5d4213..7d59f0667 100644 --- a/m4/curl-compilers.m4 +++ b/m4/curl-compilers.m4 @@ -945,6 +945,10 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [ tmp_CFLAGS="$tmp_CFLAGS -Wno-varargs" fi fi + dnl clang 7 or later + if test "$compiler_num" -ge "700"; then + CURL_ADD_COMPILER_WARNINGS([tmp_CFLAGS], [assign-enum]) + fi fi ;; # diff --git a/tests/libtest/lib1538.c b/tests/libtest/lib1538.c index 91481e88d..0f91e2f0c 100644 --- a/tests/libtest/lib1538.c +++ b/tests/libtest/lib1538.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2017, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -31,12 +31,12 @@ int test(char *URL) CURLSHcode shareret; (void)URL; - curl_easy_strerror(INT_MAX); - curl_multi_strerror(INT_MAX); - curl_share_strerror(INT_MAX); - curl_easy_strerror(-INT_MAX); - curl_multi_strerror(-INT_MAX); - curl_share_strerror(-INT_MAX); + curl_easy_strerror((CURLcode)INT_MAX); + curl_multi_strerror((CURLMcode)INT_MAX); + curl_share_strerror((CURLSHcode)INT_MAX); + curl_easy_strerror((CURLcode)-INT_MAX); + curl_multi_strerror((CURLMcode)-INT_MAX); + curl_share_strerror((CURLSHcode)-INT_MAX); for(easyret = CURLE_OK; easyret <= CURL_LAST; easyret++) { printf("e%d: %s\n", (int)easyret, curl_easy_strerror(easyret)); } diff --git a/tests/libtest/lib1560.c b/tests/libtest/lib1560.c index 20f852310..cc61199e9 100644 --- a/tests/libtest/lib1560.c +++ b/tests/libtest/lib1560.c @@ -638,7 +638,7 @@ static CURLUPart part2id(char *part) return CURLUPART_FRAGMENT; if(!strcmp("zoneid", part)) return CURLUPART_ZONEID; - return 9999; /* bad input => bad output */ + return (CURLUPart)9999; /* bad input => bad output */ } static CURLUcode updateurl(CURLU *u, const char *cmd, unsigned int setflags) diff --git a/tests/libtest/lib1592.c b/tests/libtest/lib1592.c index 5e6bf04eb..ce0892be2 100644 --- a/tests/libtest/lib1592.c +++ b/tests/libtest/lib1592.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -43,7 +43,7 @@ int test(char *URL) int stillRunning; CURLM *multiHandle = NULL; CURL *curl = NULL; - CURLMcode res = CURLM_OK; + CURLcode res = CURLE_OK; int timeout; global_init(CURL_GLOBAL_ALL); diff --git a/tests/libtest/lib556.c b/tests/libtest/lib556.c index 0595000ce..82e8b71dc 100644 --- a/tests/libtest/lib556.c +++ b/tests/libtest/lib556.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -96,7 +96,7 @@ int test(char *URL) } if(iolen != 0) - res = TEST_ERR_FAILURE; + res = (CURLcode)TEST_ERR_FAILURE; } test_cleanup: diff --git a/tests/libtest/lib583.c b/tests/libtest/lib583.c index 86dd8b55a..3e2fe3867 100644 --- a/tests/libtest/lib583.c +++ b/tests/libtest/lib583.c @@ -35,7 +35,7 @@ int test(char *URL) int stillRunning; CURLM *multiHandle = NULL; CURL *curl = NULL; - CURLMcode res = CURLM_OK; + CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); diff --git a/tests/libtest/lib661.c b/tests/libtest/lib661.c index a4f2c8e5c..454d8f337 100644 --- a/tests/libtest/lib661.c +++ b/tests/libtest/lib661.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2020, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms diff --git a/tests/libtest/mk-lib1521.pl b/tests/libtest/mk-lib1521.pl index e71fe1e51..9b57b64ee 100755 --- a/tests/libtest/mk-lib1521.pl +++ b/tests/libtest/mk-lib1521.pl @@ -297,7 +297,7 @@ while() { print <