From owner-svn-src-vendor@freebsd.org Thu Oct 1 15:40:26 2020 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6DE7C42BA0B; Thu, 1 Oct 2020 15:40:26 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4C2HQ22F0lz4HP9; Thu, 1 Oct 2020 15:40:26 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3088B12BF4; Thu, 1 Oct 2020 15:40:26 +0000 (UTC) (envelope-from se@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 091FeQ4V093088; Thu, 1 Oct 2020 15:40:26 GMT (envelope-from se@FreeBSD.org) Received: (from se@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 091FePrQ093083; Thu, 1 Oct 2020 15:40:25 GMT (envelope-from se@FreeBSD.org) Message-Id: <202010011540.091FePrQ093083@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: se set sender to se@FreeBSD.org using -f From: =?UTF-8?Q?Stefan_E=c3=9fer?= Date: Thu, 1 Oct 2020 15:40:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r366316 - in vendor/bc/dist: . include src X-SVN-Group: vendor X-SVN-Commit-Author: se X-SVN-Commit-Paths: in vendor/bc/dist: . include src X-SVN-Commit-Revision: 366316 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2020 15:40:26 -0000 Author: se Date: Thu Oct 1 15:40:24 2020 New Revision: 366316 URL: https://svnweb.freebsd.org/changeset/base/366316 Log: Update to version 3.1.6 Modified: vendor/bc/dist/Makefile.in vendor/bc/dist/NEWS.md vendor/bc/dist/include/bc.h vendor/bc/dist/release.sh vendor/bc/dist/src/data.c vendor/bc/dist/src/num.c Modified: vendor/bc/dist/Makefile.in ============================================================================== --- vendor/bc/dist/Makefile.in Thu Oct 1 15:04:55 2020 (r366315) +++ vendor/bc/dist/Makefile.in Thu Oct 1 15:40:24 2020 (r366316) @@ -29,7 +29,7 @@ # .POSIX: -VERSION = 3.1.5 +VERSION = 3.1.6 SRC = %%SRC%% OBJ = %%OBJ%% Modified: vendor/bc/dist/NEWS.md ============================================================================== --- vendor/bc/dist/NEWS.md Thu Oct 1 15:04:55 2020 (r366315) +++ vendor/bc/dist/NEWS.md Thu Oct 1 15:40:24 2020 (r366316) @@ -1,5 +1,13 @@ # News +## 3.1.6 + +This is a production release that fixes a new warning from Clang 12 for FreeBSD +and also removes some possible undefined behavior found by UBSan that compilers +did not seem to take advantage of. + +Users do ***NOT*** need to upgrade, if they do not want to. + ## 3.1.5 This is a production release that fixes the Chinese locales (which caused `bc` Modified: vendor/bc/dist/include/bc.h ============================================================================== --- vendor/bc/dist/include/bc.h Thu Oct 1 15:04:55 2020 (r366315) +++ vendor/bc/dist/include/bc.h Thu Oct 1 15:40:24 2020 (r366316) @@ -173,6 +173,10 @@ extern const BcParseNext bc_parse_next_elem; extern const BcParseNext bc_parse_next_for; extern const BcParseNext bc_parse_next_read; +#else // BC_ENABLED + +#define BC_PARSE_NO_EXEC(p) (0) + #endif // BC_ENABLED #endif // BC_BC_H Modified: vendor/bc/dist/release.sh ============================================================================== --- vendor/bc/dist/release.sh Thu Oct 1 15:04:55 2020 (r366315) +++ vendor/bc/dist/release.sh Thu Oct 1 15:40:24 2020 (r366316) @@ -383,6 +383,7 @@ build_set() { clang_flags="-Weverything -Wno-padded -Wno-switch-enum -Wno-format-nonliteral" clang_flags="$clang_flags -Wno-cast-align -Wno-missing-noreturn -Wno-disabled-macro-expansion" clang_flags="$clang_flags -Wno-unreachable-code -Wno-unreachable-code-return" +clang_flags="$clang_flags -Wno-implicit-fallthrough" gcc_flags="-Wno-maybe-uninitialized -Wno-clobbered" cflags="-Wall -Wextra -Werror -pedantic -Wno-conditional-uninitialized" Modified: vendor/bc/dist/src/data.c ============================================================================== --- vendor/bc/dist/src/data.c Thu Oct 1 15:04:55 2020 (r366315) +++ vendor/bc/dist/src/data.c Thu Oct 1 15:40:24 2020 (r366316) @@ -141,8 +141,8 @@ const char* const bc_err_msgs[] = { "empty expression", "bad print statement", "bad function definition", - "bad assignment: left side must be scale, ibase, " - "obase, seed, last, var, or array element", + ("bad assignment: left side must be scale, ibase, " + "obase, seed, last, var, or array element"), "no auto variable found", "function parameter or auto \"%s%s\" already exists", "block end cannot be found", Modified: vendor/bc/dist/src/num.c ============================================================================== --- vendor/bc/dist/src/num.c Thu Oct 1 15:04:55 2020 (r366315) +++ vendor/bc/dist/src/num.c Thu Oct 1 15:40:24 2020 (r366316) @@ -1457,7 +1457,8 @@ static void bc_num_parseDecimal(BcNum *restrict n, con for (i = 0; i < len && (zero = (val[i] == '0' || val[i] == '.')); ++i); - n->scale = (size_t) (rdx * ((val + len) - (ptr + 1))); + n->scale = (size_t) (rdx * (((uintptr_t) (val + len)) - + (((uintptr_t) ptr) + 1))); n->rdx = BC_NUM_RDX(n->scale); i = len - (ptr == val ? 0 : i) - rdx; @@ -1656,7 +1657,7 @@ static void bc_num_printDecimal(const BcNum *restrict memset(buffer, 0, BC_BASE_DIGS * sizeof(size_t)); for (j = 0; n9 && j < BC_BASE_DIGS; ++j) { - buffer[j] = n9 % BC_BASE; + buffer[j] = ((size_t) n9) % BC_BASE; n9 /= BC_BASE; }