From nobody Mon Dec 06 15:55:26 2021 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 9913118C40EB; Mon, 6 Dec 2021 15:55:29 +0000 (UTC) (envelope-from git@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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4J77LR6GGZz4b27; Mon, 6 Dec 2021 15:55:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2F3EA6A62; Mon, 6 Dec 2021 15:55:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1B6FtQHM032939; Mon, 6 Dec 2021 15:55:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1B6FtQFa032938; Mon, 6 Dec 2021 15:55:26 GMT (envelope-from git) Date: Mon, 6 Dec 2021 15:55:26 GMT Message-Id: <202112061555.1B6FtQFa032938@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Warner Losh Subject: git: 773538247007 - stable/12 - headers: Implement _ISOC11_SOURCES macro when __POSIX_C_SOURCE defined List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 77353824700794eac987ae11e82d3ec5e4a99228 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1638806128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=19jp2hrwejLmUTWazHr5bvLhPTtYo7Xy7mKcoYddZn8=; b=SB5M4/wXH+bMG7EYKLWGfpsDL+CdvrVbvK3z2CclF4xJPFOCFsnJdlXfkXyB1OPT2i5LTp HOuTmDMMZM4wzT9JnDjllEjCgmdoVGUIMg0gJB40F0Y9aoCPPGXXbuG/ayo/ny9nfO2U19 Oiv2fww6JA0jE57K24euDuuVelTTAsWAJoz+8VMH3ei7u0EVDmile43t+MjL3ehTqN/OH2 PvuygOF71f5eONMyHdYTYg1iMNiB/QsP8TnW0LndUtkjJc1B5dHXcvIuQt/RSJB3ykjVRc 00KSsBi5rws6txmumdIrQyxn4Y5N1c6crsP/F/oX/C8P12QyaSiWzJXSyhEVpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1638806128; a=rsa-sha256; cv=none; b=WnE3VFqzo7GQMFzATzBvpFjaiN844mhW2O7ZGqEJ2WEALL1xoBp2iDSsjS1lyMfcXkNmx7 gxkRoPnBKbkFQRVFDSHLQuoW87Oyb3E0EjqLm340TsSef46z21RxEjwXXl4cXC/s3YIiPP jMriGJSNR8wmf/CYdzGPFCDK91a7pEOzI1mmSn4I9taUg1yXLQVPkWZEuvcPb88KBHAs5X iCmLG1W7tWkYWtCuMpFNrTvX2lCbDEuznxPTCUVLrwKCyFPPMI3yY31q6MosK7xG92Cq2C HY2p7UVnuyYkeCtwLuNiSeNWpQOpaewldCvI5vN7KwzC/RYldIypXls2MWceYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=77353824700794eac987ae11e82d3ec5e4a99228 commit 77353824700794eac987ae11e82d3ec5e4a99228 Author: Warner Losh AuthorDate: 2021-05-06 22:20:19 +0000 Commit: Warner Losh CommitDate: 2021-12-06 15:54:11 +0000 headers: Implement _ISOC11_SOURCES macro when __POSIX_C_SOURCE defined When _ISOC11_SOURCES is defined for glibc at the same time __POSIX_C_SOURCE is defined, it extends the __POSIX_C_SOURCE definition by exaclty what C11 adds to the spec for each system header. We follow both OpenBSD's and glibc's convention by also C11 or higher compliation mode is selected. The Open Group is working on issuing a new version of the POSIX standard that will realign the standard from C99 to a newer version of C. This commit is a stop-gap measure for greater compatibility until that environment has been standardized. Reviewed by: brooks@, arichards@, Olivier Certne (comments tweaked before commit) PR: 255290 Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29902 (cherry picked from commit a709a4f0d4e0303eb40ea1b39b4bb35837800805) --- sys/sys/cdefs.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index edb491d80b86..e884875c69d4 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -720,6 +720,17 @@ #define __POSIX_VISIBLE 198808 #define __ISO_C_VISIBLE 0 #endif /* _POSIX_C_SOURCE */ +/* + * Both glibc and OpenBSD enable c11 features when _ISOC11_SOURCE is defined, or + * when compiling with -stdc=c11. A strict reading of the standard would suggest + * doing it only for the former. However, a strict reading also requires C99 + * mode only, so building with C11 is already undefined. Follow glibc's and + * OpenBSD's lead for this non-standard configuration for maximum compatibility. + */ +#if _ISOC11_SOURCE || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) +#undef __ISO_C_VISIBLE +#define __ISO_C_VISIBLE 2011 +#endif #else /*- * Deal with _ANSI_SOURCE: