From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id E2C9749889 for ; Thu, 21 Mar 2024 18:40:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CEF8068D55C; Thu, 21 Mar 2024 20:40:05 +0200 (EET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2051.outbound.protection.outlook.com [40.92.58.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6CC9968D333 for ; Thu, 21 Mar 2024 20:39:59 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KrdcT91wL4IAIz+8fG2vQXeCKGch7+00NudwKIq/xvDSlWLQfbQqz50cEAGQ1yhQbYLJMIRuXFX+I96pbDj9230++at2+81lSDvVXAc8ChBUQ6rnkWoTeidECwc82SFMWqVdkrxrGT9gEsNaoavKDphWdeIZ1uNYGEb1ku2Bwo/1lfTvur4bx4Vag76RxN/F58jbWUWQAHZoXL96ByzdSPa9KQQGrHkOK+tV+kzgYQrEdOeIOMvprIxdIvsy6KW1Zbo5wV45t5dCCvZiQtVjzEqlQiRa5jbQyNxHbD86WKIEiDDuRP34Q5A8VumAca660CxcbnTiInaWggNFSP3klg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AGilMriUzQQj4xshtmO4U/i6FgNuunBk4XkpL+9uYGY=; b=XmtCg33JpxckdYrU54Fzqg08Sd76ULiDtUNcQg8OXC4uVhXuQXl4BHAs6xjm+UDMk6g6Nm3LzIgRoEArdarkUCCfNGJ1wz9dFGxtgmp9fmmfNwPPYbQv9FzVwYqIesFNBRdKGk7MlNjeHpDiRpPzTsOa34RX0d6hit8oRyI2Ha5gTZiWpHDNhP0ZT1FHJu1LaJRzi8mswXgd7s0I//joWRNeynr1GZhFNOB76E0/PpJpkTh31FHGFsxTNIyZMgmv4WPP0owGfCQYeGyh1cFConsm94BcPuq8rG5+2ftId0QSV0rG1saA5Xe1A8QN0RbxaJsIUgzaQlReb/hokVGCwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AGilMriUzQQj4xshtmO4U/i6FgNuunBk4XkpL+9uYGY=; b=muR10MWkZkrogMFfDNbha30MdbgM/BdKTWU9QxWgc8ELt44nMBk7CqZSGDhLezCJtk4AKkPISW0tXlfXJH/TZ+6hDgFTMJtVzVSO/3B0WqsICkFi8HIQAu7HKmyrdXdcZqX//byMl5lhEwpv/mNSkLTGUG38kpmqgjfX+p7obvQrMiCR0M10/Koy0eTQYjk/Bxa9ENVQezQQlOdXLOBo/VY7MpRu+pfO3l6YwKl6ATp6rhmRdj7cYTBOruL1xZmSrpT3Ofa2RqrrRYdTZ/2ewkkimkN/RB/7WXOhXWUrWSlCLqih9StzvGFsZGltdHXXLS3/sWU6pLDShBruay97ZA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0310.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:329::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.23; Thu, 21 Mar 2024 18:39:54 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7386.025; Thu, 21 Mar 2024 18:39:54 +0000 Message-ID: Date: Thu, 21 Mar 2024 19:39:51 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [CcsWoYwP9V2mWHAtUosfr6tlqWKqasmDR06wOSToNcE=] X-ClientProxiedBy: ZR2P278CA0079.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:65::18) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0310:EE_ X-MS-Office365-Filtering-Correlation-Id: a39b5667-4399-437b-2347-08dc49d64cc7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LG3LjHmLNU6R+siCBgR23nxEplCESDrL2RtmpjIdT0maK7tOSnwOBKBkhrXxh5B2HhGEU9kIf3wu4Ua7pRcbmpE+oR4zvrDZ4uliLwK6mw/NFO5Y9W1KOBtSIEloEMRMQ5HrHNZpfW380LnimIAylHwH+eRPrxlUzX35pBEm1jXLtdbJ24VAPHhPtpNgsysVNsMS1a/ylqTacdlRMsq/vNgmTJs66WKcVYyt1MvxVO4kBjluJITSo0lPTr3WweJUPqICwyLSZHjBndnOBSsuZ6mB14nlSLRlPt2qGWL37AqInwJuvU6rGq/aeJZDNFCvk6zyAeN78fR1ERUHyJV0SfOIy+uhyF5tSSbVwxE1s1+5pthINOqGL5bDTLPR8iNsYtaSTmWHLEbt6QvhZulzgEmeAzGa6F/Wra+UwRrnGncKaiNm0Ays5Z4DE5iYwNOa+dv4RPtJRCclUs9edK+AK9fgJ7Vn16fY4UZaGU9pY6YwIq/Wypt52qOzfQjCmEHZJrHjSdBnI8cPlMgQ2V8hHc8yHcO8r/9yC8w+gFBqPXGXKC4YZd0nz7NSMI7qD9Pq89C+3in+xh72uereTzCcIXn6L/2YHi5dhOq8Fk9wRzmSiTiflxLy7HZhH8en8hOLkHvw59i9zUjCmzCWO/gJF1XN5epIzOS6mW/ZNNDQB5g= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UEY4c0FreFhBbC80Z0xsS1FTMXd2YW5WM3ppT3Z1Ymt0ZHVTTXNUVUduT2Zm?= =?utf-8?B?TWUrWVpNZ2h4cFhuSFZ1V2YraFJOM25BL1BIYngwVW5NOEVqNHZlYUVXNmlX?= =?utf-8?B?ZmxFekd0cDlwWUNnUGZuaThMaWU3UHU5MW9ZSVlZc1NQckFORVNzMmJIUWpa?= =?utf-8?B?VzNNZ1RRZWV1Qk14U0VjcXBMZjBGZ1E4RTUyTW1GYnJ1WTJmREV3L2RvRFZI?= =?utf-8?B?R0lwM3FGbEFyb0lZSGROOWxqa3NXWVRJNkJtTzFLNzBkc3YxZjd0SHhSc01Y?= =?utf-8?B?TUZyTi93OHZKZVZYNmNLOVZuMkk5RUxFRzlNN1RJQVVvUXpMeDljelRDa1Mr?= =?utf-8?B?dlRURmNIVkdsSGZEVFlZR3lONFpjVjkvSEVzc2F0aUpSb1lxM3JDSCtheEky?= =?utf-8?B?M2VBeXVVSnlhTjQ2aFhQMXZiZ0NvN3B5ckJPOGNXUmRXbUdUR0ZjWDFWUFRp?= =?utf-8?B?cE5HM2VZM09teTRQUjZibGVZUlZMTENFRGkwbFlJM3IrZ1VscStXLzBLS3dl?= =?utf-8?B?QzVpTGZwR3hpNWg1bnpsUzVlQmEyUEcyQ25uVGVYWkJ2SXV0c0ZkUHFwcDVt?= =?utf-8?B?QUxTMXhVUmNYZnVmNHh5OEtUMUpxMmlMSEVsK1J3RXJ0MkNWeHhmMUluQ2Fm?= =?utf-8?B?Qy9MVjBQOW85OGQ2RlVGVUkzMkxNU1RlbmZxYUFhZlBrUzYzbERwUE5mWU5G?= =?utf-8?B?ODBMYkdxelJDMnp1cldWUjZ0V3EzSjN4YnpKaExTdnhWLzBPU2xNMDBMT0JS?= =?utf-8?B?MzZpbjAvaHFRVU5HWUY3VlpQTW1SVVdpK2FabkQxNkt2TUhnbjZUOW1aT1hR?= =?utf-8?B?ZVpkTWlvSi9DZW5BY1VoRWF5L0pxLzhnVmxrNytheUlXYmQvOFFLWlVTRnJZ?= =?utf-8?B?UnY0WnhZbU00U2ExL3NzZDZwOExyV0VET1ZvMEN5QnQ3TStJam1yam5WMVNt?= =?utf-8?B?V21QZ3dnaTN4SVpIc2ZaZnBJekoxUStJbXVQTUdxNjdWZTduQVo3UzRvUFlE?= =?utf-8?B?cFhBTUJZNGwvOENXTXJINXlsWmoxbVRoUXcxZ3ZpaVpxOTA1UUc3cnhrMnB5?= =?utf-8?B?OTVRYjZsenpBTUNXVmRWM2hLT1hVdy9lRU1VeFBhZTd2KzhxYUdTOXJhcmY5?= =?utf-8?B?eE53MDVvSEx2dVZ5MTRtYTRuUUswTmhtMzZDMVArMEs0QlozLzEyZFFzam1Y?= =?utf-8?B?RlgxQllibWUyWEg1dCswaGczT1hWVWJpSjFLU0p6cisxblBMSjZ6WE11cGJw?= =?utf-8?B?VmpISWRQb0hGWkwzZG1hUnZWbUlpamNsNXE2d0Vlb3pIRU5CVHVMbnZhU0dR?= =?utf-8?B?blFZOWdTbEM4WnFuUUZuM1JGNlQydjFIK0l1VmVld3pyNjFCTjJLSGp6MnFU?= =?utf-8?B?K0I1aWo0eGJzbkpWdmRpYzVYdDBTVXJ3M1g5R1Y2L2ZlNkpjc1ZSRW54R24x?= =?utf-8?B?TFJzTFllQ1gwc2dJdXIxUHVxQVhxWSs2ZCs4cTlFUHl5alIxQXllb2R3YXds?= =?utf-8?B?R1V0N2J5VXBMNFF6UGdlOTFuVEgxRUllUWM4NnFCTFYzVFphK0VDSHJWMlJv?= =?utf-8?B?bXk4YStMRDhMY0VQUlZxREpzTFpmLzFzZnJ5dFpENjBtQ2tRRll5MTV2ZTN4?= =?utf-8?B?SmJBUGJGR2JKN1VvYkwxck9DZ0tLNTU3V1NWY2VJR2M3WWljMG9GZ1R6MjZi?= =?utf-8?B?aXVQSlZVcmFQSlZ1L3RRdCsyMkNkNk96TlQrc0lvVnNMazZpd3o2WVFnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a39b5667-4399-437b-2347-08dc49d64cc7 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2024 18:39:54.2249 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8P250MB0310 Subject: Re: [FFmpeg-devel] [PATCH v2] configure: Explicitly check for static_assert X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Andreas Rheinhardt: > C11 provides static assertions via _Static_assert and > provides static_assert as a convenience define for this > in assert.h. MSVC 19.27 declares support for C11, but does > not support _Static_assert, but somehow supports > static_assert. That's therefore what we use. > > But apparently there are some old GCC toolchains where > _Static_assert is supported, but assert.h does not provide > the fallback define. Some fate boxes are affected by this > [1]. > > This commit therefore checks whether static_assert works > with assert.h included; if not, it errors out. Users like > the above can still add -Dstatic_assert=_Static_assert > to cflags as a workaround. > > [1]: https://fate.ffmpeg.org/report.cgi?time=20240321123620&slot=sh4-debian-qemu-gcc-4.7 > > Signed-off-by: Andreas Rheinhardt > --- > This is what a test without fallback looks like. > Posted to gather opinions on what people prefer. > > configure | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/configure b/configure > index 6d7b33b0ff..c2d2c70c20 100755 > --- a/configure > +++ b/configure > @@ -5589,6 +5589,19 @@ check_cxxflags_cc -std=$stdcxx ctype.h "__cplusplus >= 201103L" || > check_cflags_cc -std=$stdc ctype.h "__STDC_VERSION__ >= 201112L" || > { check_cflags_cc -std=c11 ctype.h "__STDC_VERSION__ >= 201112L" && stdc="c11" || die "Compiler lacks C11 support"; } > > +test_cc < +#include > +#include > +struct Foo { > + int a; > + void *ptr; > +} obj; > +static_assert(offsetof(struct Foo, a) == 0, > + "First element of struct does not have offset 0"); > +static_assert(offsetof(struct Foo, ptr) >= offsetof(struct Foo, a) + sizeof(obj.a), > + "elements not properly ordered in struct"); > +EOF > + > check_cppflags -D_FILE_OFFSET_BITS=64 > check_cppflags -D_LARGEFILE_SOURCE > Jan has tested old toolchains and found out that his GCC 4.7 has proper C11 headers; so this seems to be unique to Michael's setup. This makes me prefer this patch instead of the version with the fallback. (Michael can simply add -Dstatic_assert=_Static_assert to his cflags.) Of course others are still invited to share their opinions. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".