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 6AE8A48C42 for ; Sat, 23 Mar 2024 11:20:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E270F68D4B5; Sat, 23 Mar 2024 13:20:28 +0200 (EET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2052.outbound.protection.outlook.com [40.92.73.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 69B9F68D3DC for ; Sat, 23 Mar 2024 13:20:22 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dniO4TF10bQroFPPKxTyeOHXel8+uzKva0P87OytGJW5oDEp+DnfNrdZ6ENLlWhNk6n524LVXu/sP7JMh1dDyI4NqoU3jUbgGmQHrA4HE06SYz0yn0zwuSvJKIQ5s8r6PTsIN9cjj2+R+fBDm90SimhijedkP3FXZ7ccbtusuXWJVmvjvlizPo+mRyXge+prDOEARl9W0MtJNqvFSyFAaXFl+ZuGLCqgVB5DPk1wpzGh89aPMbiOSpNWjgPLyQ5dBjFLNS61QoxLUlEP6cQIqWARHrvOvFGKdbOTWSP+ZZLbUlYmXOrkjmE5a1GYFbGIhVXQWkLAfWNG2xlPay8XNA== 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=+2SU9gHEuEe1acoAhe3yQT7wL0aK7u9d2VOgt1NNy+M=; b=HE4Bl9TpcfSdEGiePgW75bkhVmVcBQClL5aJCNr7iTHHa6vXgPjAR6iiNe09B5JSTPVNUFUkJPeTEZoTII5oa+yr0/2mJ61nZGP2D8EJPaW+wAuUGf3DJRvICGky2kMQ3dd4U7RsrXQLyeM9lTqc/8cYsvrv2iE8SDybjbcHJhPU9eNk/WkiKXZbekDZn77XMPb1fw4kgEOKVIC6oloDF/xp4d9u+FJi/dht4Z5R4g3eCexOhwsBGrjn2W7wJyQec51DqKchVoSTLtfXKL/WXm1B7UXfwWpYMVdpg9kjiYUpvzluyOL786Gx6UVr7U0hWq8PPGtRMn/0EE8rrLeEpQ== 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=+2SU9gHEuEe1acoAhe3yQT7wL0aK7u9d2VOgt1NNy+M=; b=QbHcOWNRtwTZsBu3R4DoGPizih7KS5GEO2hj8LLrZd4amik2860jAyGSXb9l/GVG9N3NjWASLfQLPCJb8ecPfo3MCFK3z3LnXbMhxIu9pn+GHwMx2bgfitn2i1Jp5zlSq0oCdQ2/yX+LRVerH0TxJsblj00tAUkfWK9D+NFlc9MzFhAbpyYuU7wlV3s/d7v3yViIaHL/keNS1aapX/iIUg9tTUxVJeV8iolypGw0lFmQaX4QZPHko5HyYC3NWW3X4QLA+TQw3nuJDG2PL2/YoRXl9LAokD19iR0/AIOY4JPvRzmqaotoet/3XTJACipf35tULCja2Tc5XSt1Sjp9QA== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AM8P250MB0358.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:329::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.26; Sat, 23 Mar 2024 11:20:20 +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; Sat, 23 Mar 2024 11:20:20 +0000 Message-ID: Date: Sat, 23 Mar 2024 12:20:16 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [DSttgDFOQIWR91v/FzMY0DPCsMZOfFAAVNSoEl1BauY=] X-ClientProxiedBy: ZR0P278CA0192.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::16) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <139c9a9c-b196-4261-b1c5-8dafd1626f7b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AM8P250MB0358:EE_ X-MS-Office365-Filtering-Correlation-Id: 38e17c48-bdc6-4185-0ad6-08dc4b2b3964 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnqkjmXb1vlddM5aSa/Epk3AcEtYeN3Yv2WQrWS1EfUO0H43wT6qLCn/eIw30rybAoRCJ2IHOLDiB/0VaxlJ4FZV05W5F6sBOQ1BskP6p6AY4Kgbd/GKDgt2iWAOHsnR0q29/d/2zAB+ZQrF4w8HVgUTCxoNX4BwVnO9C6PG2o/eNTmzE412DTNnvP5YEjdE+ImKk2XEOLDOZldn27poMFpbZBnkQQXo+ZjbAB59um9UAVsnl/o2HWHvn0yNryZ8mWS1GYy1INB6nvWEdMfp4orfvD/mBtYmycGEEjF91hQc6xpLtuSGLnF3KLSYb6tfo+a6a0zi6v//1hgMDr6ZPovTETdHyCwK7QQMPGy/AqZ+ZQqoIAyF780vG+ebInfHPCxFtR0+Qm5SdPhkZ0ILIdf+a38ZappNzUgmS3JKI8OVe9yCoQjklzlX10ttUCvoLsgJo6deDuDNGOELkjCyZviNWTlxcjI5W8xUlf0Dg+WyQ0tNCyqH1WCG+7sQBIHYUs51Cblq8OqtD2MAu8DvRmqjJ+IY6OKqYnCYMGSHizUjv1Dg1UJ/91xlG8taIqAtDx6W1h+TZamfpbI6yOFPe2gesR6Ns3+hcGq0oVyXohBEEY3Cp4G0WVGALT9HnjZMxKJNBJvpN79kRTU//rEPIwwgtxJrbgGSPv9vZySxzfSmyqaPg9CPM9VEnuMZI+iXCvXsemQ1SACbV4bpsys2cy0krJ64Q+yaPO9F6/8FKtqh2oCA6DjKJdd1XfWvvWbWmGQ= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XPBkKM3EUDO9zs5iHlMvuO1HwioRdgRshEIQZWl4bTR6Y8EBATP1Ttybgi+ybJV//8NQRRGSEfZ8Ep/uRhWBWUIvvao4TVSHxq33OEUOD25CP1OjLWhxLH0X05Pq25sWemEKwgN6wCyjBWDXqn7THXY4/iA2OhYQeXule/Y2Kl/kup43UnAk6RQEo70bDvMxlIaIrT8vMFy2nFnpEA5rBfMgh8/6foa4UoTe3RguTSAT04leH75tWuhb9mFc2cypDXbw6Lh/19W4snUx+LKUxJBtAyF/bhbp0Nyz3Ulx8Bi09WdRuwyLv+N/CaI7VDc0Tl2152EpIFAX8oJf7QQBiUHnMlTiuKlF3KR58+llQaxfIn7rNk4jttHBQLo9BqW7/E+7cSkIXz056LeHOzFgvle9UiWV746R2uM7HGrA5nF4oKaOWq57TJnBvc4ZW4llqW6d1mhwWMkSNS4exInKZ5eqyTz2qJgfoWXCeKkIJTnQJF8dXsRxEyGFa/uGz19xcxVYantxYdQ1hbo/9lTc4yien5BmCPFLYknXoFVc0hZGwcEfflGpaifk5d/pKV3MUB65uVGLfVKimfGZ4JWOw+HoBZ4I20Gt+FZbmPvKSAZpX0ahhAGcy4f9TlpPWTqf6mJ4Ak41HCA8uCQIbXz44wSz/jQoEKlEocgbFgAJWXY= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YWFKMTVrTU02Y2Q1T3YrZXg2dElINFR0UU5WRVZMWjl0akN6Qm9LamRDamly?= =?utf-8?B?L0lZY2VtSUdGdG9aU1I3aVRWM2RFSlQ0MzhacFBwaFVRem4xZXNwT3hSSk40?= =?utf-8?B?RTRocGpvMEtMM2QvaE9pait1UXN0Sy92Rk1CNnV2VUh4ejNpaHhsVzlxa0NQ?= =?utf-8?B?UW83WVQwVXBhTERhN0lHRks2emN6cVdoaWhPR2d0RFI2eStkWFZJSlJWcTJm?= =?utf-8?B?MjNsOXBpbnQ4VkM0dTlGV2VPOWg4Zm1TNlJ0ME9hVjNrK0pEanZxbzJhZ2J6?= =?utf-8?B?OUZ4VHNQZE9SRnhRbjZyRzNlRU9wTVhKeWl3VXMvS0d3bkFPYi92ZnR4OElB?= =?utf-8?B?MWw2aXgvUW1OUFplVDB1aDRpOTF6L0tZQ2xzVG9xa01OZFlXRHNCZlF0ZFBE?= =?utf-8?B?Zm42bmNjMlBQTHo4ejY4MjQ4RFhJMGtnZjNpZ1MxMk5IZzU5Ui9ONXpjV2py?= =?utf-8?B?NnpiWFBqWFlHVlIxa0hPcFFjQnNjc0VwRitITThrRXh2alBZa1NlY3dQVFZl?= =?utf-8?B?c0xPMjVhYkFQUTk5LzlQaDRMV1dPM2k0U0xuWG5Rc0VjM3grSTE5bmc3Lytl?= =?utf-8?B?YnJsS1ptOUhuVXQwTlpMcE0xQlM2bTBtK2VzeHJ0K0U2QzVZRVJMTEs2ZkVr?= =?utf-8?B?SEE3RExMNnRyR09HODF4UDZvb1M0MzJaK2FUeUJqNXJ0a2Vzc2V5UkNQdTJh?= =?utf-8?B?UmsxdStiVEgzek05ZHVFM0c3RXRzVmdjRDhOZUppa0RrVy93c255ektFbHlv?= =?utf-8?B?NTc2WG5sdVVkVm1zWmhrYitRN3RDQWhDSC9yTmN2REFsUkRqMjM1UnJjNVBz?= =?utf-8?B?OTFLRmZVZXlhL3h1ZENlTlJGbTRDWkwrZDdBVjlzaFVVcWF4RE5HYWJqY3Nw?= =?utf-8?B?TmZPVkhIeW5aNjl2aytuaUovWFJMUlhCUlZlWWZhMEJrbTh4MnZ3R2ZmK1FI?= =?utf-8?B?Qk0zMmdBQkVleFRnWm93M0RhdUM5RnJXTUEvdllsWnBmMGhuTXNXWDhXKzN4?= =?utf-8?B?OXFjcUFJQVdId2YxUEc2SEFXWm1qM2FyOTVyZkZaVFAzZmptUXlySHNYMlgr?= =?utf-8?B?ZGV4cUYyWDh3aVdMTGVsNU45NDEvbFhnK0M4NWErZzM3N0hsdFk2RWRTK1JN?= =?utf-8?B?aVFOZnh2OUEwU2kyT0RyZXFPRVFLNlkvODkrcUFndnN1VEE2VlJ4Rk1pVVJy?= =?utf-8?B?MFhpUWJIZWdPMk8rdGN3dVhqNjlWaTQrTXBPdEhRR1hHRGMrNkw3bEhsWmRP?= =?utf-8?B?R1lCR1plSkxZeU4wazB4blZTMXpQVmtXK2U2YUxCUDZPdHlUeEJFN01oUTF0?= =?utf-8?B?ZksvWW5UbWpmbEIyVmw5Y3lld3dPMWIyYUZiak10QzlyMWp2bHRpYzhzcmZ1?= =?utf-8?B?TXBzVnVvWFRLRDFWdklib3gwQzhzOWVEblcrZ3JwbXg4b0piRk16RTJZZWNk?= =?utf-8?B?cUtISVpIL21wdkpVQWZXY2pic1krTjZWVXF4U1NKbFNPTGRQN1RpamtvWFJ2?= =?utf-8?B?dS9hWm1rNVRSc1BQWndHTVZnak8vdnZnenljVlYzdXExQ2VZbk10UXNVVWRm?= =?utf-8?B?SWFJaDQ2MlhsSXVTUXBQYkVwamFvUHFidERaR0RVRWJLd1pkS1hGYnBoV201?= =?utf-8?B?blgzV0JwQlZwK3RPZ1lhdUU4cWlnYnRqbkwyNnZSQjFJRmZ6RHRlTlRUSU84?= =?utf-8?B?d3l3UWYxa0FFaG50eVJ2a0F1NjBaQWlDREhEc3V3M09ZMDNoRVBDOFp3PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 38e17c48-bdc6-4185-0ad6-08dc4b2b3964 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2024 11:20:20.1248 (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: AM8P250MB0358 Subject: Re: [FFmpeg-devel] [PATCH v3] configure: Explicitly check for static_assert, _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. Our codebase uses the latter, as _Static_assert > has actually already been deprecated in C23. > > Not all toolchains that declare support for C11 actually > support it; e.g. MSVC 19.27 does not support _Static_assert, > but somehow supports static_assert. MSVC 19.27 admits to be > a "preview implementation of the ISO C11 standard", > so this is not surprising (MSVC 19.28 does not come with > this caveat). > > Furthermore some FATE boxes [1] use old GCC toolchains (with > only experimental support for C11) where _Static_assert is > supported, but assert.h does not provide the fallback define. > They are broken since the first usage of static_assert. > > This commit therefore checks whether static_assert and > _Static_assert work with assert.h included; if not, > configure errors out. > > This intentionally drops support for MSVC 19.27. Users like > the old FATE boxes above can still add -Dstatic_assert=_Static_assert > to cflags as a workaround if desired. > > [1]: https://fate.ffmpeg.org/report.cgi?time=20240321123620&slot=sh4-debian-qemu-gcc-4.7 > > Signed-off-by: Andreas Rheinhardt > --- > configure | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/configure b/configure > index 343edb38ab..fc366549bc 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 > Will apply this patch tomorrow unless there are objections. - 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".