From patchwork Mon Feb 5 19:54:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 46058 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7b08:b0:19e:8a94:b663 with SMTP id s8csp979059pzh; Mon, 5 Feb 2024 11:59:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IGOQXkxEfi4WUCqaPaACqU+1brS0uZVpJEV1PYAmpxeZR07HlTj0QZ6peuaaeoiYmnkFfyb X-Received: by 2002:a17:907:971e:b0:a36:708f:a197 with SMTP id jg30-20020a170907971e00b00a36708fa197mr363670ejc.37.1707163151810; Mon, 05 Feb 2024 11:59:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707163151; cv=none; d=google.com; s=arc-20160816; b=S6tTP9aG2YU5f2oE+A2q6EYoJ7tkmdRcMyQ2mQpIleGR7+6Ld7KrLxDl7V/9G9TUor vnGOYXXluN8djv5Mlj56t9VDs8rX6O9yzF5PliBssVy7gd21GrCeFMEtyt8dQfBtwZxE VmnGhZNyMSl1JlUrxCcuoEVQNHPaE2352g7AhqkhjL78VQva/qc86Vm2+RMhiSLlMsYW 3w2sNCBsOBZfg7iCzZk4eKMFWa7AV5IbQXhXsL8rtiQQcxkJMysEmVkx2Okq5xiuccbB jybl1VLITBIvnWDPua7FiMoln8N3tEFMEBb2kMlTCL02S+jcI7HG1Vbt/1hJwUNXnHtD +img== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=YHgRHHSJKx+OzjxJdufXx0Rn1QAkX73r4uj6xk4Jhj0=; fh=OGTsDskFUb1sZZ73yPnvZ0fW9QrsQruMQfxNUdCEk68=; b=jwX7tA2nxsJPR4Es5PzW76WYWAL4e1B1mWnBCqwL68QkvfZ8uyWVgF2wJY2cJbEiwY MqKjS6qdTHki3lp+r5kffPVHd8ImNMRQktN0daSXkE8xlYHhX8LeVmXuPIl5xQf3H/mi +lI7peBg5yId2o2BiTJ08Kmfq1QRRNvmXWbiuJHEOQypMnFFkmBW2ZCm/FFVgJw2zRHv 6uzunS5oFX3CpfsDC4gCOqD1ehqDAc+kTHZKzjdYd49vVULzBG1javpISWL8ooIYKjuv CWlZOckTy4PQoqwP+h1/ZOU7qepuxtqNbsw5WEYE1LW89xAV4hv+A5m+9EJ+esnRZvx/ KTsA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=dhT4cFR5; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org X-Forwarded-Encrypted: i=0; AJvYcCWQTmra4dOK/t/7wn2Wxb+1yrWCtmYa7k1O0y+OMYIbACc1yiZaKi2ZOM9mvu599Xmj6URwbN+OP4ltcRaIxDPUvHRY9gkSgI+CVZpNPiLDdzkjiO+JhNJtofPTk4J3GfTnao1JJMb6aYR3DRJFqXMB4yKuyxF6Kdij8igL45iV8A0As9NKG5gFL/Y3c1UWBpvi31V6/rBTBtiPDjNJOxtQKQtuRtJ4rX9ui4E/HGWy1KZS78yCfUVqZUZeDBCzFe0GhBYcTj2GaJAP2r8KL4ZSdZaaEprbOAWdH+uC3tWBwV6dx/T4Xp+7rkIEsZ1jpoWNgAZj0bYVNZ4FJzNDXQpC08POFjQSv/6OHb1yPoLAfy93nQc/rGjNDc735ZSRj0sKcUB6YkEx4uK6xDv6TbzrgYZlH5pg0cv8tpGB6Lyw84wmGHl++uPPG56QHByVJ8B6xd+15n/QNE5s1sLHeIzuuwvbzOAOmZJlb6UqpVxDX6LI63OtHj4KBLy9LDuktWWm/2bUPaUWUPGfUin/2Sd0TCIb0dMdJatid1qtXYI1pzfSEaOe2EqgPgfyWjUA3I0VONFOirfNpRFDJ43U5E0umzfVSBiIvsottNZkwlGkqe4V9/wnKsIFEhRFEQYyNOTDIDGhQiO6gB20I+zMxh9ZwU+t7T9TFSuomWUMU1lvl/qvVqI6LiVUl/hi3bTgOai8POOjpf1812pY80N7Tjqf9wevm/08XEjebzVcbPC8tOdXBbaYqUPwpJP1Ccl66iA7tsuFduqOG0h6+8dEHX7kYwwucJf15VgVmIhlSdUk3raS9OBw9wjDpvQkKdtcrRS0Ws3S4hmWUisisGMdiachHXlkXZu3hgUGv5wWWSvzvYo3v0RA1W/gxFlKz7XiOCampYKMuL2W1GvET6vWaZr70ZO/50zAdXiToMLLdUDOV1V2EaGJH4tJW6Ltwo1zMOfB6/ el68vsOtFOr+/QeCoFyEdhHQueUtanS0HFnhYYcBXz+u3vcTSVqiJXd0OWIXzC8P9SyoeXnzY4LQovqG6vBRIPfn86B89Hk1JyqqepTOKDex65oq5f3j818nUBNJA3U/JhKDyqeE6vmH5aTS++bUnbqdhyVzaxe66NsvKwQoc9P9fYCR7cXuK6I2V1JoFovgqrBDmbh0abdqYkJd4GZigXGy7wDcG9tPPcalGrsVSFlWc6/y9zPBwawhmZ+8TAKzoyb52/aCiPeXkvJacazoEqipfRYLdT8cEji4RAkG2QVXsknLV93JVbtDMs+EJuztHayXhkaBsZlMMFx51Wvi890n5doNBqM0jybPR+mY4XpYa6BLi5kLQfc1I8iArOFxcUhGKVBISL9pUsEJSVdUYAl07bP8dgwW0sgJ3qyn3mVb+oL41IsjCPgXCFdo5sy6vNkgK2rf/I5cBCEBfhKdIWYP3wlkwmEouYVZX9Wf6wGCkDjzoUsSLsGgn2s4bnyhg4p2Qmi65iZqiuQ16Kt9Dss1nE8e2+qh6VjAQvRXBDv8mdLe+oqHJEjoSV5IoErubN6/NQxAQAfQCgblTB1CXzZrtqs79Qz9dvXXutTbxThvcYzUqEJKDwP19DGms8LdYl Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qx1-20020a170906fcc100b00a37fb01b733si186128ejb.131.2024.02.05.11.59.11; Mon, 05 Feb 2024 11:59:11 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=dhT4cFR5; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1B28668D14F; Mon, 5 Feb 2024 21:59:01 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 475BC68CA50 for ; Mon, 5 Feb 2024 21:58:53 +0200 (EET) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=dhT4cFR5; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id DED5A4486 for ; Mon, 5 Feb 2024 20:58:52 +0100 (CET) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id dxJXyRJ6rNNf for ; Mon, 5 Feb 2024 20:58:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1707163131; bh=TUHAEaicFCsIc3BNUvv+FvFhYcFqILR+3tjhEqy7dEQ=; h=From:To:Subject:Date:From; b=dhT4cFR5LTX/3mo7vViHAra6qKqktZl758oKhqblOU7OtkNfZ5sy5I9F5WkQHxsJp JYvdypSFgiLpu5pIz4Rke8Mtn1i85cfClkeGadoiCSJwjVA0MNJUGf7MItFlcTOpFJ j+lljFEFyZitKomWuT0tqJG2+7EteEdbfKyBwHBDNg+aaFye7Fewd40VWnpM9zUsfG 4wXzVf0SAsCHSp5AJosQTP8L19/1/Mz80JFSY5p0SqArJC7Bk9EsYZuekoXTqtGZPO Q6riXgqNokG5H7fL5Xh4fgKwsjGOsqnbr6PtpFcTwNI3BV+/gHgWtF+N0FzluGh09Z JY+mL4Sd5Ofbg== Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id DC4854462 for ; Mon, 5 Feb 2024 20:58:51 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id B5CDA3A0435 for ; Mon, 5 Feb 2024 20:58:51 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Feb 2024 20:54:39 +0100 Message-ID: <20240205195802.14522-1-anton@khirnov.net> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] lavc/refstruct: do not use max_align_t on MSVC 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: LLmFMQIr/uK5 From: James Almer It is not available there, even when C11/17 is requested. Signed-off-by: Anton Khirnov --- libavcodec/refstruct.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/refstruct.c b/libavcodec/refstruct.c index 7597f6d0ee..81e8c9795c 100644 --- a/libavcodec/refstruct.c +++ b/libavcodec/refstruct.c @@ -45,7 +45,7 @@ #define REFSTRUCT_COOKIE AV_NE((uint64_t)MKBETAG('R', 'e', 'f', 'S') << 32 | MKBETAG('t', 'r', 'u', 'c'), \ MKTAG('R', 'e', 'f', 'S') | (uint64_t)MKTAG('t', 'r', 'u', 'c') << 32) -#if __STDC_VERSION__ >= 201112L +#if __STDC_VERSION__ >= 201112L && !defined(_MSC_VER) #define REFCOUNT_OFFSET FFALIGN(sizeof(RefCount), FFMAX3(STRIDE_ALIGN, 16, _Alignof(max_align_t))) #else #define REFCOUNT_OFFSET FFALIGN(sizeof(RefCount), FFMAX(STRIDE_ALIGN, 16)) From patchwork Mon Feb 5 19:54:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 46057 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7b08:b0:19e:8a94:b663 with SMTP id s8csp979004pzh; Mon, 5 Feb 2024 11:59:03 -0800 (PST) X-Google-Smtp-Source: AGHT+IHmsH7RX0GUozcnxmXi5Imoh8dUloDbYhY2LPRSZG+3xIn3U0bj1cs2990R0BJbk8vbS9RF X-Received: by 2002:a17:906:4110:b0:a36:95cd:5e62 with SMTP id j16-20020a170906411000b00a3695cd5e62mr340389ejk.7.1707163143289; Mon, 05 Feb 2024 11:59:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707163143; cv=none; d=google.com; s=arc-20160816; b=1CJfTNjZO1STBYITBaFtsyZLjnM25oSIhQvgH3JXKHww1f2atAQzqUc14ow0PLa5EO cjRspxT+JMRP8gG7a5nW/nMt8IPlDPox3Vv1skDApSZckttca+9uLiPON5v+z4bl9Mrh oAuJTbQ0HHc848RkSCt7abqG6wYgejKeGrJNZvwzog3h/j2NiK0mr4dZDQEpB8B2FHk4 JH5Q7vJWd99h1E99TO86Arl1GViZSsE0enRjcHAzcj8DpOgrGQZ4uXVCVddNInCT2HW9 BQGnFSQj3EElim0wdA6GXPJcsN0ixt7JvAFWRw+Ak7XO/c3A7ZlGUUZzFPg44umeUtlA J3oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=pOp+VLp9NJETG9S6emFe07/fTD60BNst8p/ruMBLOPE=; fh=qjQ8ZWf9+saNr0u3excOMRcqw9UtjqriO0VbrlOGKAs=; b=R/SejQEGQMKElFrapfXcurutaq93bqIcKhK9VT9D8Cj8NT+QHLnrPBAIXv0QQhldAm xnX3WAlo7ZtpIGDMfgcsgBybpxEdmprlmsWs/CJQ71Beqfy1toy88wzTODU4TEBczOzM ZGoBQE3GN0KgUd55/2m231mfsbieUSOv05yny9oOSEMe2szxPo1loKLK7ujmVGEpbEXU aradM3jpiW7APIRLcaAJWOlcoazhf4yyXFCnAiJcpyou3AQhhypdIuAwmXlStryhe2/0 vEmX7S7W53NJFINIGyjmwxQClhdFJyc00IeGen8UdsySJuyaJcT3HmiD+tbuvZGECy6r 2PHg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=AIOnviID; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org X-Forwarded-Encrypted: i=0; AJvYcCWz6VuqRXPYhYW8bWRajwyIZ2KxTY3ZCgBByOWbZIHmIbl+eH8eX2Pd7PVSPiGIEsZIprM2xA9Eeui3j4Lpn29XC4CjLAWaAD3C+udCfca+Apw9FsBfKO1L4ci8AaSKHYxkaIBCqIrpXTrNgHYqByvewqaE0xBHt02G0Okj2YXY9nh4cMhKUmIbjkDyK7eU1iUl7FgcPpqkx9G6JeVeRQLpe8B/g0WJDed7h3lPHg3c5/TL4Kv8fdkGhCkIFPFdJgWNtp64WEZlYulTBGhWGRJG3YI7zvjoIgXTS50Jzmgo8tuzJTXuZWEQ/yiDrPYgBV9OKciZWsRQUI0MG2ywkQhv99OMy8EGaoB+a/0muFqas9UkBxOEBH3XPygD5sLgUxdECe6QxOOog+sCWO86wTLFnXhr/gTrrgRATyBUOT1YYQ4XetAnZyK/RLwMeQvFh58dvKRLxUrapDAX/InY0m5b4b5oLeM3WCTjZJ7QPBoG+hZkEgXOb4asyzzH8brpWgWz6PvAiVVb28Atvv6xnoBa6cMK0XATBv3wdWN2A/VV8t3ypsx1PZxJjZEhHecR3DlfbZAlajjG/5+u+VGuvZ7Ce4xNiNKpiMYhHGpestIuL09bxDoGggXtN3fK+KYQl7VE3KHqiQZmpkpRajD4XKNLNtym5BUu4X8/RtFXYNb+LrbE2FcR7glZOpNuAZlkb4/aLHjRLv7M5VoaCVeb+LLAFOldiV1ZMyJ/3nHVx9exW94pXM+Bqp6L764bbpzbwfnaXXKJl7rQPDS3mE21ztScS+euBaKTvTnldPl+Z6XxVam16/jHtNM2k9o18/hU6isSiWy5aymi4RMcASxawAXAbxTSwqPf/96wsUfQUuBXu9MZZoi6IgzrfK+STt0KFXpe/FW3xyn3Xt/gCGoovS3IFVnh5KpoInICJdPC2bjEriNhxtKHsmyNQ75HnrrxLBEwLQ 9Rq2rL/NP0UD6oikgSZjsNscKRiWIsx/JLc8juJViwzZK7NdbSlbcL2FfbfxFWvwf7Gpiowua9PfFbZsrUfGmxwMU3wCqcKJvMoSxPO5fCkyyn2W4cYhtYv8L+imQ3GMDnoRajqz0pY+0wyPXnGKMJSmI/jzIGMxvL5bnnO6XYxaZ4JXgnk5CV8LdogyOfjxXi6L1XwfraoOwQa1d26mf3FQp5lFXT5jE2GgCCoVIOPbxvMErs9mzZgzxOOsu93DmntSgP3w+eOgKbyG5NQm+jnq/HR5n2J9V9gUv/lX0ILN2oycbPsd4AUq0WAUIoST/GaRYnfRZTmWFikpjnE4CFqSVzUmTmbmOP2KISCBZzffoo3JOQakwuXbX6OfKSwtJK5IQKjDq3TTbgaQhUOJTBTOJD9Yw/Nzmoo10l/T+AJ2lyhSYxiozVjd8JeUIncTBQT1fRHoPAZt/D/dBUWlS8sheHPFPb9S2wjq7tQN/1uxxC/FxoQ4QAErCO4/AYk6wO5NJ91xvktcYrtHUN+OEl7kIoxEkR7YhaKbD2M9P5v7uAJ5QLi4eSUB4rJjSPfIm2khLM0MwXAVpHXDfeWe++eNEnhw== Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h10-20020a170906590a00b00a37e8c52df6si172291ejq.894.2024.02.05.11.59.02; Mon, 05 Feb 2024 11:59:03 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=AIOnviID; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 295DE68C9F8; Mon, 5 Feb 2024 21:59:00 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4D01D68D09E for ; Mon, 5 Feb 2024 21:58:53 +0200 (EET) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=AIOnviID; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id DA8D4447A for ; Mon, 5 Feb 2024 20:58:52 +0100 (CET) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id z5Zi9HXsoE1H for ; Mon, 5 Feb 2024 20:58:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1707163131; bh=xVYjRas7evux0Ice+cRYbrUwsKngq0S243Pn+tKr04Q=; h=From:To:Subject:Date:In-Reply-To:References:From; b=AIOnviIDdLGq8p1jj2NloN6YUK9JKBzIi1tk7hcffUm7MVSHHC4wccYjYZpDYV3cq BcM6xBTPXBRYGS6sOvT/Q95P6oHLk4KYDVgjbFBA3OGhC18VNdkFcZCWKoFjk4Fsib OZ/0VAzwV5R2GJ3IxGhB7fuXkLd3N4H1maRmvGwctya6upr0PPxgrtkSF9fkoN7m26 QVBb41BLwAKjAfDThl6Ckw2AVpiUBr8T3bQlJHYmePoQEHKxRxBJWQWTWtmCebOtFt beMpATtIylza1hGsmMLXirqClLKeWQT5JOXSSPFmbg/kkObuKMel15grzYlQJgz3AM msqSgHOjjC2lg== Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id DB07158B for ; Mon, 5 Feb 2024 20:58:51 +0100 (CET) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id C31803A076E for ; Mon, 5 Feb 2024 20:58:51 +0100 (CET) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Feb 2024 20:54:40 +0100 Message-ID: <20240205195802.14522-2-anton@khirnov.net> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20240205195802.14522-1-anton@khirnov.net> References: <20240205195802.14522-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] Require compilers to support C17. 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 5ei6knDlRdzW It should be available in all relevant modern compilers and will allow us to use features like anonymous unions. Note that stdatomic.h is still emulated on MSVC, as current versions require the /experimental:c11atomics, and do not support ATOMIC_VAR_INIT() anyway. --- Now moving to C17 rather than C11, as the former contains important fixes and its support across the compilers we care about should be similar. Now also tested with MSVC in wine, thanks to Martin for pointing me at https://github.com/mstorsjo/msvc-wine --- configure | 23 +++++++++++------------ doc/developer.texi | 10 ++-------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/configure b/configure index f72533b7d2..1bb9e23f19 100755 --- a/configure +++ b/configure @@ -4705,7 +4705,7 @@ msvc_common_flags(){ # generic catch all at the bottom will print the original flag. -Wall) ;; -Wextra) ;; - -std=c*) ;; + -std=c*) echo /std:${flag#-std=};; # Common flags -fomit-frame-pointer) ;; -g) echo -Z7 ;; @@ -4750,7 +4750,7 @@ icl_flags(){ # Despite what Intel's documentation says -Wall, which is supported # on Windows, does enable remarks so disable them here. -Wall) echo $flag -Qdiag-disable:remark ;; - -std=c99) echo -Qstd=c99 ;; + -std=c17) echo -Qstd=c17 ;; -flto*) echo -ipo ;; esac done @@ -4798,7 +4798,7 @@ suncc_flags(){ athlon*) echo -xarch=pentium_proa ;; esac ;; - -std=c99) echo -xc99 ;; + -std=c17) echo -xc17 ;; -fomit-frame-pointer) echo -xregs=frameptr ;; -fPIC) echo -KPIC -xcode=pic32 ;; -W*,*) echo $flag ;; @@ -4887,8 +4887,8 @@ probe_cc(){ _type=suncc _ident=$($_cc -V 2>&1 | head -n1 | cut -d' ' -f 2-) _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< | sed -e "1s,^.*: ,$@: ," -e "\$$!s,\$$, \\\," -e "1!s,^.*: , ," > $(@:.o=.d)' - _DEPFLAGS='-xM1 -xc99' - _ldflags='-std=c99' + _DEPFLAGS='-xM1 -xc17' + _ldflags='-std=c17' _cflags_speed='-O5' _cflags_size='-O5 -xspace' _flags_filter=suncc_flags @@ -5517,21 +5517,20 @@ if test "$?" != 0; then die "C compiler test failed." fi -add_cppflags -D_ISOC99_SOURCE +add_cppflags -D_ISOC11_SOURCE add_cxxflags -D__STDC_CONSTANT_MACROS check_cxxflags -std=c++11 || check_cxxflags -std=c++0x -# some compilers silently accept -std=c11, so we also need to check that the +# some compilers silently accept -std=c17, so we also need to check that the # version macro is defined properly -test_cflags_cc -std=c11 ctype.h "__STDC_VERSION__ >= 201112L" && - add_cflags -std=c11 || - check_cflags -std=c99 +test_cflags_cc -std=c17 ctype.h "__STDC_VERSION__ >= 201710L" && + add_cflags -std=c17 || die "Compiler lacks C17 support" check_cppflags -D_FILE_OFFSET_BITS=64 check_cppflags -D_LARGEFILE_SOURCE -add_host_cppflags -D_ISOC99_SOURCE -check_host_cflags -std=c99 +add_host_cppflags -D_ISOC11_SOURCE +check_host_cflags -std=c17 check_host_cflags -Wall check_host_cflags $host_cflags_speed diff --git a/doc/developer.texi b/doc/developer.texi index eed0ee4915..6e9807aa06 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -56,14 +56,8 @@ and should try to fix issues their commit causes. @section Language -FFmpeg is mainly programmed in the ISO C99 language, extended with: -@itemize @bullet -@item -Atomic operations from C11 @file{stdatomic.h}. They are emulated on -architectures/compilers that do not support them, so all FFmpeg-internal code -may use atomics without any extra checks. However, @file{stdatomic.h} must not -be included in public headers, so they stay C99-compatible. -@end itemize +FFmpeg is mainly programmed in the ISO C17 language, except for the public +headers which must stay C99 compatible. Compiler-specific extensions may be used with good reason, but must not be depended on, i.e. the code must still compile and work with compilers lacking