Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vw0tC-00FSXT-1X for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Feb 2026 16:40:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vw0tB-004tS5-0L for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Feb 2026 16:40:29 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vw0tA-004tRn-1X for pgsql-hackers@lists.postgresql.org; Fri, 27 Feb 2026 16:40:28 +0000 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vw0t5-00000001Wn6-3lix for pgsql-hackers@lists.postgresql.org; Fri, 27 Feb 2026 16:40:27 +0000 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-65f90233e28so4323294a12.1 for ; Fri, 27 Feb 2026 08:40:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1772210423; x=1772815223; darn=lists.postgresql.org; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=XvZmI8JWApg1MkZp3qYSK24HVZ2Br4Qu6peoYk3um1Q=; b=SPck3RFwlzM6EDGCLJ1mYYBZRhSEMt3SRBrtJPJWc4BAxPyO2iY7AQnQ/3FXYv7hiG G+NIcOJf12UZ1jzNoty+jZX68d0hpbzFtwa7uwsrekbGUG2rA5yp+NsYP8I0ZZ48Ac4u dGNBqPbyllpbhqDn+NWfueQZAOW2zGhl5PhiNgf3CJjEPjLmD1uYpGLyi40SLuTOfnAj NPNfP9KSbT+ge+Abgtl03SIi4HkGi21FOmaohbMBA9UK2QYLWbO5LrfZ70MvWkodhAQ2 XE304L6Lq4XzvpsmNQw7ONW/fsxH4xS+OTxpzScCh+LaPyN25EUHNPf/+9548/Po4Og0 UbjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772210423; x=1772815223; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XvZmI8JWApg1MkZp3qYSK24HVZ2Br4Qu6peoYk3um1Q=; b=Ujv2bkBCtibvmAZ7xSz0Qs70KHN7CnXuOCrwCN8fM6eN8D3VIY/0/fNR+gAs5TORdA D7cWoae5Nfu4FqEFnZKbGMEbrx+uVlOXOYXbUCEl82hHAomqyOKGwbTsnN3TEcXr8nn5 Na0zhZj0cPwXYEvLYiEwdkMuP5afkdX8KICzi3vOLXeTWgPUMeTc38f/+98azZGS2sGf hU+kwu26C+AIxstCg12Q/JjtaQnQz1fZrbLPQbz3go5f5Fh5k04roKA+wT4xA6BWWIXa MQtxt9xw5SKwugoW90oy2n9c/ImcxSR2bU+PbBT32icIVpuwYx2SccSBspf3WgO01KZr 80qw== X-Gm-Message-State: AOJu0YyRmVyGs99PDBQbj+3LLHJTUgK3q+AksjKpU7T6Sw0biMIe6VCM J2NfVclcQRazf5wFnjeHGUMY3XLWr5heSKQ8RDNeGTOuj5bfdId3kQNQh71Pbb8Rfec= X-Gm-Gg: ATEYQzytRUzStNAGFs5va3HPqPtyCOBGKK3ETvVWN4TNxAOF+7l/omKZ4bomcHkuw31 vhJP+HpA+TzQdHR8tRAn1L/UUdNN+nikdLnnEKZJboxvKOYNZRD5B0+PaHK9qXpJy+fBk9xTLsJ ELsH6ZXpVjA9SzesRpR0ZvJyyknQeqqweEG1vLvqZmQrtzTYzj+SWalhY6XUtDbG1VzytP3hYD+ U52cz73oVVYu9aq6InOivGuCHKeUhswfShIBctTedZFtGYc7JFl+gUXFU4OObOKet60PU3yVhCI 7FLxycbTYg9PvCCeSzqli3K0+W9ld+VHw8Os1Ghu/7m/IRUtRUx/vcptgCMPxJj0mrvcSz51JRw 7ElYrFYkYi5oEEcLVm1n3qQxOyBk8kYUQRL5HRWLq3uESrplXHzQjaNT+kQKNW+gaZQYEhlNUel Q/110x9NU5lF/rjXW8QK7w/CEqjnz/b0SDNk71CAjGO/ArXkoXUGHLIOqZ1Vh1Hg== X-Received: by 2002:a05:6402:51ce:b0:65f:758f:5833 with SMTP id 4fb4d7f45d1cf-65fdddef5a0mr1783462a12.21.1772210422947; Fri, 27 Feb 2026 08:40:22 -0800 (PST) Received: from localhost (037153217001.static.ipv4.heldenvannu.net. [37.153.217.1]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65fabf6d113sm1333955a12.19.2026.02.27.08.40.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 27 Feb 2026 08:40:22 -0800 (PST) Content-Type: multipart/mixed; boundary=ffec2141592fb2be01cc2e9696da683bfc790e349bd936f64eb465d862bb Mime-Version: 1.0 Date: Fri, 27 Feb 2026 17:40:21 +0100 Message-Id: Cc: "PostgreSQL Hackers" , "Thomas Munro" Subject: Re: Make copyObject work in C++ To: "Peter Eisentraut" From: "Jelte Fennema-Nio" X-Mailer: aerc 0.20.1-31-gf6db7c329ce0 References: <4d8b9e53-3f37-43f0-a4aa-5bda9c7961b3@eisentraut.org> <4e82f77b-acad-4356-94f6-8255135fb36b@eisentraut.org> <2h2n2gyw2f4ucicbl3drtdkjt2wzf6b2r4wqm7xwks6vpx5j7n@imymv4hkz5jz> <8f8776be-6d8f-4e1c-8d21-e55052edd91b@eisentraut.org> In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --ffec2141592fb2be01cc2e9696da683bfc790e349bd936f64eb465d862bb Content-Type: multipart/alternative; boundary=c41de0f3c012532b7ce8d94fb907c5e4a2922e5f17c5de408c452f6c6c8a --c41de0f3c012532b7ce8d94fb907c5e4a2922e5f17c5de408c452f6c6c8a Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Fri Feb 20, 2026 at 10:47 AM CET, Jelte Fennema-Nio wrote: > Makes total sense, I didn't realise decltype and typeof were not quite > the same thing. Attached is an updated patchset that does that. Same patchset as before, but now also including a C++ fallback for __builtin_types_compatible_p. --c41de0f3c012532b7ce8d94fb907c5e4a2922e5f17c5de408c452f6c6c8a-- --ffec2141592fb2be01cc2e9696da683bfc790e349bd936f64eb465d862bb Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v10-0001-Support-using-copyObject-in-C.patch Content-Type: text/x-patch; charset=utf-8; name=v10-0001-Support-using-copyObject-in-C.patch RnJvbSAwNzdiYjFhOTUxYzRlYjZkNjFiYTJlOTc3YzZiMDlkOGQyOTU4MzFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDUgRGVjIDIwMjUgMTU6Mzc6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIIHYx MCAxLzRdIFN1cHBvcnQgdXNpbmcgY29weU9iamVjdCBpbiBDKysKCkNhbGxpbmcgY29weU9iamVj dCBpbiBDKysgd2l0aG91dCBHTlUgZXh0ZW5zaW9ucyAoZS5nLiB0aGVuIHVzaW5nCi1zdGQ9Yysr MTEgaW5zdGVhZCBvZiAtc3RkPWdudSsrMTEpIGZhaWxzIHdpdGggYW4gZXJyb3IgbGlrZSB0aGlz OgoKZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R5cGVvZic7IGRpZCB5b3Ug bWVhbiAndHlwZWlkJwoKVGhpcyBpcyBkdWUgdG8gdGhlIEMgY29tcGlsZXIgdXNlZCB0byBjb21w aWxlIHBvc3RncmVzIHN1cHBvcnRpbmcKdHlwZW9mLCBidXQgdGhhdCBmdW5jdGlvbiBhY3R1YWxs eSBub3QgYmVpbmcgcHJlc2VudCBpbiB0aGUgQysrCmNvbXBpbGVyLiBUaGlzIGZpeGVzIHRoYXQg YnkgZXhwbGljaXRlbHkgY2hlY2tpbmcgZm9yIHR5cGVvZiBzdXBwb3J0IGluCkMrKyBhbmQgdGhl biBlaXRoZXIgdXNlIHRoYXQsIG9yIGRlZmluZSB0eXBlb2Ygb3Vyc2VsdmVzIGFzOgoKICAgIHN0 ZDo6cmVtb3ZlX3JlZmVyZW5jZV90PGRlY2x0eXBlKHgpPgoKQWNjb3JkaW5nIHRvIHRoZSBwYXBl ciB0aGF0IGxlZCB0byBhZGRpbmcgdHlwZW9mIHRvIHRoZSBDIHN0YW5kYXJkLAp0aGF0J3MgdGhl IEMrKyBlcXVpdmFsZW50IG9mIHRoZSBDIHR5cGVvZjoKaHR0cHM6Ly93d3cub3Blbi1zdGQub3Jn L2p0YzEvc2MyMi93ZzE0L3d3dy9kb2NzL24yOTI3Lmh0bSNleGlzdGluZy1kZWNsdHlwZQotLS0K IGNvbmZpZy9jLWNvbXBpbGVyLm00ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysr KysrKysKIGNvbmZpZ3VyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDU0 ICsrKysrKysrKysrKysrKysrKysKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAxICsKIG1lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDI1ICsrKysrKysrKwogc3JjL2luY2x1ZGUvYy5oICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgMjEgKysrKysrKysKIHNyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluICAg ICAgICAgICAgICAgICAgICB8ICA0ICsrCiAuLi4vdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1 c3BsdXNleHQuY3BwICAgfCAgMiArCiA3IGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvY29uZmlnL2MtY29tcGlsZXIubTQgYi9jb25maWcvYy1jb21waWxlci5t NAppbmRleCAxNTA5ZGJmYTJhYi4uNWIzY2JjN2U4ZTggMTAwNjQ0Ci0tLSBhL2NvbmZpZy9jLWNv bXBpbGVyLm00CisrKyBiL2NvbmZpZy9jLWNvbXBpbGVyLm00CkBAIC0xOTMsNiArMTkzLDM1IEBA IGZpXSkjIFBHQUNfQ19UWVBFT0YKIAogCiAKKyMgUEdBQ19DWFhfVFlQRU9GCisjIC0tLS0tLS0t LS0tLS0tLS0KKyMgQ2hlY2sgaWYgdGhlIEMrKyBjb21waWxlciB1bmRlcnN0YW5kcyB0eXBlb2Yg b3IgYSB2YXJpYW50LiAgRGVmaW5lCisjIEhBVkVfQ1hYX1RZUEVPRiBpZiBzbywgYW5kIGRlZmlu ZSAncGdfY3h4X3R5cGVvZicgdG8gdGhlIGFjdHVhbCBrZXkgd29yZC4KKyMKK0FDX0RFRlVOKFtQ R0FDX0NYWF9UWVBFT0ZdLAorW0FDX0NBQ0hFX0NIRUNLKGZvciBDKysgdHlwZW9mLCBwZ2FjX2N2 X2N4eF90eXBlb2YsCitbcGdhY19jdl9jeHhfdHlwZW9mPW5vCitBQ19MQU5HX1BVU0goQysrKQor Zm9yIHBnYWNfa3cgaW4gdHlwZW9mIF9fdHlwZW9mX187IGRvCisgIEFDX0NPTVBJTEVfSUZFTFNF KFtBQ19MQU5HX1BST0dSQU0oW10sCitbaW50IHggPSAwOworJHBnYWNfa3coeCkgeTsKK3kgPSB4 OworcmV0dXJuIHk7XSldLAorW3BnYWNfY3ZfY3h4X3R5cGVvZj0kcGdhY19rd10pCisgIHRlc3Qg IiRwZ2FjX2N2X2N4eF90eXBlb2YiICE9IG5vICYmIGJyZWFrCitkb25lCitBQ19MQU5HX1BPUChb XSldKQoraWYgdGVzdCAiJHBnYWNfY3ZfY3h4X3R5cGVvZiIgIT0gbm87IHRoZW4KKyAgQUNfREVG SU5FKEhBVkVfQ1hYX1RZUEVPRiwgMSwKKyAgICAgICAgICAgIFtEZWZpbmUgdG8gMSBpZiB5b3Vy IEMrKyBjb21waWxlciB1bmRlcnN0YW5kcyBgdHlwZW9mJyBvciBzb21ldGhpbmcgc2ltaWxhci5d KQorICBpZiB0ZXN0ICIkcGdhY19jdl9jeHhfdHlwZW9mIiAhPSB0eXBlb2Y7IHRoZW4KKyAgICBB Q19ERUZJTkVfVU5RVU9URUQocGdfY3h4X3R5cGVvZiwgJHBnYWNfY3ZfY3h4X3R5cGVvZiwgW0Rl ZmluZSB0byBob3cgdGhlIEMrKyBjb21waWxlciBzcGVsbHMgYHR5cGVvZicuXSkKKyAgZmkKK2Zp XSkjIFBHQUNfQ1hYX1RZUEVPRgorCisKKwogIyBQR0FDX0NfVFlQRVNfQ09NUEFUSUJMRQogIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBDaGVjayBpZiB0aGUgQyBjb21waWxlciB1bmRlcnN0 YW5kcyBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wLApkaWZmIC0tZ2l0IGEvY29uZmlndXJl IGIvY29uZmlndXJlCmluZGV4IGEyODVhNmVjM2Q3Li42MDRmOWUwMTAwYiAxMDA3NTUKLS0tIGEv Y29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMTUwNzgsNiArMTUwNzgsNjAgQEAgX0FDRU9G CiAKICAgZmkKIGZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo ZWNraW5nIGZvciBDKysgdHlwZW9mIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBDKysg dHlwZW9mLi4uICIgPiY2OyB9CitpZiAke3BnYWNfY3ZfY3h4X3R5cGVvZis6fSBmYWxzZTsgdGhl biA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIHBnYWNfY3ZfY3h4X3R5 cGVvZj1ubworYWNfZXh0PWNwcAorYWNfY3BwPSckQ1hYQ1BQICRDUFBGTEFHUycKK2FjX2NvbXBp bGU9JyRDWFggLWMgJENYWEZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKK2Fj X2xpbms9JyRDWFggLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDWFhGTEFHUyAkQ1BQRkxBR1MgJExE RkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCithY19jb21waWxlcl9nbnU9JGFjX2N2 X2N4eF9jb21waWxlcl9nbnUKKworZm9yIHBnYWNfa3cgaW4gdHlwZW9mIF9fdHlwZW9mX187IGRv CisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBj b25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7CitpbnQgeCA9IDA7CiskcGdhY19rdyh4 KSB5OworeSA9IHg7CityZXR1cm4geTsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYg YWNfZm5fY3h4X3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIHBnYWNfY3ZfY3h4X3R5 cGVvZj0kcGdhY19rdworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19v YmpleHQgY29uZnRlc3QuJGFjX2V4dAorICB0ZXN0ICIkcGdhY19jdl9jeHhfdHlwZW9mIiAhPSBu byAmJiBicmVhaworZG9uZQorYWNfZXh0PWMKK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19j b21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCith Y19saW5rPSckQ0MgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZM QUdTIGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworYWNfY29tcGlsZXJfZ251PSRhY19jdl9j X2NvbXBpbGVyX2dudQorCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiByZXN1bHQ6ICRwZ2FjX2N2X2N4eF90eXBlb2YiID4mNQorJGFzX2VjaG8gIiRwZ2FjX2N2 X2N4eF90eXBlb2YiID4mNjsgfQoraWYgdGVzdCAiJHBnYWNfY3ZfY3h4X3R5cGVvZiIgIT0gbm87 IHRoZW4KKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9DWFhfVFlQRU9GIDEiID4+Y29uZmRlZnMu aAorCisgIGlmIHRlc3QgIiRwZ2FjX2N2X2N4eF90eXBlb2YiICE9IHR5cGVvZjsgdGhlbgorCitj YXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIHBnX2N4eF90eXBlb2YgJHBnYWNfY3Zf Y3h4X3R5cGVvZgorX0FDRU9GCisKKyAgZmkKK2ZpCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9w IiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJs ZV9wLi4uICIgPiY2OyB9CiBpZiAke3BnYWNfY3ZfX3R5cGVzX2NvbXBhdGlibGUrOn0gZmFsc2U7 IHRoZW4gOgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDQ3 NmE3NmM3OTkxLi45M2VjZjQxNDQ3YiAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2Nv bmZpZ3VyZS5hYwpAQCAtMTczMiw2ICsxNzMyLDcgQEAgUEdBQ19QUklOVEZfQVJDSEVUWVBFCiBQ R0FDX0NYWF9QUklOVEZfQVJDSEVUWVBFCiBQR0FDX0NfU1RBVEVNRU5UX0VYUFJFU1NJT05TCiBQ R0FDX0NfVFlQRU9GCitQR0FDX0NYWF9UWVBFT0YKIFBHQUNfQ19UWVBFU19DT01QQVRJQkxFCiBQ R0FDX0NfQlVJTFRJTl9DT05TVEFOVF9QCiBQR0FDX0NfQlVJTFRJTl9PUF9PVkVSRkxPVwpkaWZm IC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAppbmRleCA1MTIyNzA2NDc3ZC4uOWNj OTVmMGJlNWYgMTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxkCisrKyBiL21lc29uLmJ1aWxkCkBAIC0y OTUzLDYgKzI5NTMsMzEgQEAgaW50IG1haW4odm9pZCkKICAgZW5kaWYKIGVuZGZvcmVhY2gKIAor IyBDaGVjayBpZiB0aGUgQysrIGNvbXBpbGVyIHVuZGVyc3RhbmRzIHR5cGVvZiBvciBhIHZhcmlh bnQuCitpZiBoYXZlX2N4eAorICBmb3JlYWNoIGt3IDogWyd0eXBlb2YnLCAnX190eXBlb2ZfXydd CisgICAgaWYgY3h4LmNvbXBpbGVzKCcnJworaW50IG1haW4odm9pZCkKK3sKKyAgICBpbnQgeCA9 IDA7CisgICAgQDBAKHgpIHk7CisgICAgeSA9IHg7CisgICAgcmV0dXJuIHk7Cit9CisnJycuZm9y bWF0KGt3KSwKKyAgICAgIG5hbWU6ICdDKysgJyArIGt3LAorICAgICAgYXJnczogdGVzdF9jX2Fy Z3MsIGluY2x1ZGVfZGlyZWN0b3JpZXM6IHBvc3RncmVzX2luYykKKworICAgICAgY2RhdGEuc2V0 KCdIQVZFX0NYWF9UWVBFT0YnLCAxKQorICAgICAgaWYga3cgIT0gJ3R5cGVvZicKKyAgICAgICAg Y2RhdGEuc2V0KCdwZ19jeHhfdHlwZW9mJywga3cpCisgICAgICBlbmRpZgorCisgICAgICBicmVh aworICAgIGVuZGlmCisgIGVuZGZvcmVhY2gKK2VuZGlmCisKIAogIyBNU1ZDIGRvZXNuJ3QgY29w ZSB3ZWxsIHdpdGggZGVmaW5pbmcgcmVzdHJpY3QgdG8gX19yZXN0cmljdCwgdGhlCiAjIHNwZWxs aW5nIGl0IHVuZGVyc3RhbmRzLCBiZWNhdXNlIGl0IGNvbmZsaWN0cyB3aXRoCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jLmggYi9zcmMvaW5jbHVkZS9jLmgKaW5kZXggZmIwZWExYmM2ODAuLmE0 ZmVlODQzOThkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jLmgKKysrIGIvc3JjL2luY2x1ZGUv Yy5oCkBAIC00MjQsNiArNDI0LDI3IEBACiAjZGVmaW5lIHVubGlrZWx5KHgpICgoeCkgIT0gMCkK ICNlbmRpZgogCisvKgorICogUHJvdmlkZSB0eXBlb2YgaW4gQysrIGZvciBDKysgY29tcGlsZXJz IHRoYXQgZG9uJ3Qgc3VwcG9ydCB0eXBlb2YgbmF0aXZlbHkuCisgKiBJdCBtaWdodCBiZSBzcGVs bGVkIF9fdHlwZW9mX18gaW5zdGVhZCBvZiB0eXBlb2YsIGluIHdoaWNoIGNhc2UKKyAqIHBnX2N4 eF90eXBlb2YgcHJvdmlkZXMgdGhhdCBtYXBwaW5nLiBJZiBuZWl0aGVyIGlzIHN1cHBvcnRlZCwg d2UgY2FuIHVzZQorICogZGVjbHR5cGUsIGJ1dCB0byBtYWtlIGl0IGVxdWl2YWxlbnQgdG8gQydz IHR5cGVvZiwgd2UgbmVlZCB0byByZW1vdmUKKyAqIHJlZmVyZW5jZXMgZnJvbSB0aGUgcmVzdWx0 IFsxXS4gQWxzbyBlbnN1cmUgSEFWRV9UWVBFT0YgaXMgc2V0IHNvIHRoYXQKKyAqIHR5cGVvZi1k ZXBlbmRlbnQgY29kZSBpcyBhbHdheXMgZW5hYmxlZCBpbiBDKysgbW9kZS4KKyAqCisgKiBbMV06 IGh0dHBzOi8vd3d3Lm9wZW4tc3RkLm9yZy9qdGMxL3NjMjIvd2cxNC93d3cvZG9jcy9uMjkyNy5o dG0jZXhpc3RpbmctZGVjbHR5cGUKKyAqLworI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCisjaWZk ZWYgcGdfY3h4X3R5cGVvZgorI2RlZmluZSB0eXBlb2YoeCkgcGdfY3h4X3R5cGVvZih4KQorI2Vs aWYgIWRlZmluZWQoSEFWRV9DWFhfVFlQRU9GKQorI2RlZmluZSB0eXBlb2YoeCkgc3RkOjpyZW1v dmVfcmVmZXJlbmNlX3Q8ZGVjbHR5cGUoeCk+CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9UWVBFT0YK KyNkZWZpbmUgSEFWRV9UWVBFT0YgMQorI2VuZGlmCisjZW5kaWYKKwogLyoKICAqIENwcEFzU3Ry aW5nCiAgKgkJQ29udmVydCB0aGUgYXJndW1lbnQgdG8gYSBzdHJpbmcsIHVzaW5nIHRoZSBDIHBy ZXByb2Nlc3Nvci4KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluIGIvc3Jj L2luY2x1ZGUvcGdfY29uZmlnLmguaW4KaW5kZXggYTBiZDg0Mzc2ZTcuLmE5NzA1NzdhZTNlIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgorKysgYi9zcmMvaW5jbHVkZS9w Z19jb25maWcuaC5pbgpAQCAtNDUxLDYgKzQ1MSwxMCBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91 ciBjb21waWxlciB1bmRlcnN0YW5kcyBgdHlwZW9mJyBvciBzb21ldGhpbmcgc2ltaWxhci4gKi8K ICN1bmRlZiBIQVZFX1RZUEVPRgogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3VyIEMrKyBjb21waWxl ciB1bmRlcnN0YW5kcyBgdHlwZW9mJyBvciBzb21ldGhpbmcgc2ltaWxhci4KKyAgICovCisjdW5k ZWYgSEFWRV9DWFhfVFlQRU9GCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dWNo YXIuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9VQ0hBUl9ICiAKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3Bw IGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5j cHAKaW5kZXggZWIxMjlkZDE1ZDQuLmVhMDRhNzYxMTg0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9t b2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcAorKysgYi9zcmMv dGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcApAQCAt MzcsNiArMzcsNyBAQCB0ZXN0X2NwbHVzcGx1c19hZGQoUEdfRlVOQ1RJT05fQVJHUykKIAlpbnQz MgkJYSA9IFBHX0dFVEFSR19JTlQzMigwKTsKIAlpbnQzMgkJYiA9IFBHX0dFVEFSR19JTlQzMigx KTsKIAlSYW5nZVRibFJlZiAqbm9kZSA9IG1ha2VOb2RlKFJhbmdlVGJsUmVmKTsKKwlSYW5nZVRi bFJlZiAqY29weSA9IGNvcHlPYmplY3Qobm9kZSk7CiAJTGlzdAkgICAqbGlzdCA9IGxpc3RfbWFr ZTEobm9kZSk7CiAKIAlmb3JlYWNoX3B0cihSYW5nZVRibFJlZiwgcnRyLCBsaXN0KQpAQCAtNTQs NiArNTUsNyBAQCB0ZXN0X2NwbHVzcGx1c19hZGQoUEdfRlVOQ1RJT05fQVJHUykKIAogCWxpc3Rf ZnJlZShsaXN0KTsKIAlwZnJlZShub2RlKTsKKwlwZnJlZShjb3B5KTsKIAogCXN3aXRjaCAoYSkK IAl7CgpiYXNlLWNvbW1pdDogMjg0OTI1NTA4YWU2ODVhNjNlZTA1NmY4OWEzMzZjYWVjYWI2NGE2 MwotLSAKMi41My4wCgo= --ffec2141592fb2be01cc2e9696da683bfc790e349bd936f64eb465d862bb Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v10-0002-Use-typeof-everywhere-instead-of-compiler-specif.patch Content-Type: text/x-patch; charset=utf-8; name=v10-0002-Use-typeof-everywhere-instead-of-compiler-specif.patch RnJvbSBjOGZkNjY2NjgzNmM3Njk2YzQ5NzA4ZTFhZmI3ODVjYWQzYjU1ZjEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBNb24sIDggRGVjIDIwMjUgMDg6MTM6NTEgKzAxMDAKU3ViamVjdDogW1BBVENIIHYx MCAyLzRdIFVzZSB0eXBlb2YgZXZlcnl3aGVyZSBpbnN0ZWFkIG9mIGNvbXBpbGVyIHNwZWNpZmlj CiBzcGVsbGluZ3MKCldlIGRlZmluZSB0eXBlb2Ygb3Vyc2VsdmVzIGFzIF9fdHlwZW9mX18gaWYg aXQgZG9lcyBub3QgZXhpc3QuIFNvIGxldCdzCmFjdHVhbGx5IHVzZSB0aGF0IGZvciBjb25zaXN0 ZW5jeS4gVGhlIG1lc29uL2F1dG9jb25mIGNoZWNrcyBmb3IKX19idWlsdGluX3R5cGVzX2NvbXBh dGlibGVfcCBzdGlsbCB1c2UgX190eXBlb2ZfXyB0aG91Z2gsIGJlY2F1c2UgdGhlcmUKd2UgaGF2 ZSBub3QgcmVkZWZpbmVkIGl0LgotLS0KIHNyYy9pbmNsdWRlL2MuaCB8IDggKysrKy0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvYy5oIGIvc3JjL2luY2x1ZGUvYy5oCmluZGV4IGE0ZmVlODQzOThkLi5k ZjAxYWNkZjZiYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNsdWRl L2MuaApAQCAtMTAwOCwxMCArMTAwOCwxMCBAQCBwZ19ub3JldHVybiBleHRlcm4gdm9pZCBFeGNl cHRpb25hbENvbmRpdGlvbihjb25zdCBjaGFyICpjb25kaXRpb25OYW1lLAogICovCiAjaWZkZWYg SEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AKICNkZWZpbmUgU3RhdGljQXNzZXJ0VmFy aWFibGVJc09mVHlwZSh2YXJuYW1lLCB0eXBlbmFtZSkgXAotCVN0YXRpY0Fzc2VydERlY2woX19i dWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChfX3R5cGVvZl9fKHZhcm5hbWUpLCB0eXBlbmFtZSks IFwKKwlTdGF0aWNBc3NlcnREZWNsKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AodHlwZW9m KHZhcm5hbWUpLCB0eXBlbmFtZSksIFwKIAlDcHBBc1N0cmluZyh2YXJuYW1lKSAiIGRvZXMgbm90 IGhhdmUgdHlwZSAiIENwcEFzU3RyaW5nKHR5cGVuYW1lKSkKICNkZWZpbmUgU3RhdGljQXNzZXJ0 VmFyaWFibGVJc09mVHlwZU1hY3JvKHZhcm5hbWUsIHR5cGVuYW1lKSBcCi0JKFN0YXRpY0Fzc2Vy dEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChfX3R5cGVvZl9fKHZhcm5hbWUpLCB0 eXBlbmFtZSksIFwKKwkoU3RhdGljQXNzZXJ0RXhwcihfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJs ZV9wKHR5cGVvZih2YXJuYW1lKSwgdHlwZW5hbWUpLCBcCiAJIENwcEFzU3RyaW5nKHZhcm5hbWUp ICIgZG9lcyBub3QgaGF2ZSB0eXBlICIgQ3BwQXNTdHJpbmcodHlwZW5hbWUpKSkKICNlbHNlCQkJ CQkJCS8qICFIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAqLwogI2RlZmluZSBTdGF0 aWNBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlKHZhcm5hbWUsIHR5cGVuYW1lKSBcCkBAIC0xMjc1LDEx ICsxMjc1LDExIEBAIHR5cGVkZWYgc3RydWN0IFBHQWxpZ25lZFhMb2dCbG9jayBQR0FsaWduZWRY TG9nQmxvY2s7CiAjZGVmaW5lIHVudm9sYXRpemUodW5kZXJseWluZ190eXBlLCBleHByKSBjb25z dF9jYXN0PHVuZGVybHlpbmdfdHlwZT4oZXhwcikKICNlbGlmIGRlZmluZWQoSEFWRV9fQlVJTFRJ Tl9UWVBFU19DT01QQVRJQkxFX1ApCiAjZGVmaW5lIHVuY29uc3RpZnkodW5kZXJseWluZ190eXBl LCBleHByKSBcCi0JKFN0YXRpY0Fzc2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVf cChfX3R5cGVvZihleHByKSwgY29uc3QgdW5kZXJseWluZ190eXBlKSwgXAorCShTdGF0aWNBc3Nl cnRFeHByKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AodHlwZW9mKGV4cHIpLCBjb25zdCB1 bmRlcmx5aW5nX3R5cGUpLCBcCiAJCQkJCSAgIndyb25nIGNhc3QiKSwgXAogCSAodW5kZXJseWlu Z190eXBlKSAoZXhwcikpCiAjZGVmaW5lIHVudm9sYXRpemUodW5kZXJseWluZ190eXBlLCBleHBy KSBcCi0JKFN0YXRpY0Fzc2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChfX3R5 cGVvZihleHByKSwgdm9sYXRpbGUgdW5kZXJseWluZ190eXBlKSwgXAorCShTdGF0aWNBc3NlcnRF eHByKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AodHlwZW9mKGV4cHIpLCB2b2xhdGlsZSB1 bmRlcmx5aW5nX3R5cGUpLCBcCiAJCQkJCSAgIndyb25nIGNhc3QiKSwgXAogCSAodW5kZXJseWlu Z190eXBlKSAoZXhwcikpCiAjZWxzZQotLSAKMi41My4wCgo= --ffec2141592fb2be01cc2e9696da683bfc790e349bd936f64eb465d862bb Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v10-0003-Make-unconstify-and-unvolatize-use-StaticAssertV.patch Content-Type: text/x-patch; charset=utf-8; name=v10-0003-Make-unconstify-and-unvolatize-use-StaticAssertV.patch RnJvbSA4YWJhY2RiNTMwNTYxOWExOWZiM2RjN2VhYTUzZDRjYzRkN2Q4MDVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBUaHUsIDE5IEZlYiAyMDI2IDIzOjU1OjQzICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 MTAgMy80XSBNYWtlIHVuY29uc3RpZnkgYW5kIHVudm9sYXRpemUgdXNlCiBTdGF0aWNBc3NlcnRW YXJpYWJsZUlzT2ZUeXBlTWFjcm8KClRoZSB1bmNvbnN0aWZ5IGFuZCB1bnZvbGF0aXplIG1hY3Jv cyBoYWQgYW4gYWxtb3N0IGlkZW50aWNhbCBhc3NlcnRpb24KYXMgd2FzIGFscmVhZHkgZGVmaW5l ZCBpbiBTdGF0aWNBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlTWFjcm8sIG9ubHkgaXQgaGFkCmEgbGVz cyB1c2VmdWwgZXJyb3IgbWVzc2FnZSBhbmQgZGlkbid0IGhhdmUgYSBzaXplb2YgZmFsbGJhY2su Ci0tLQogc3JjL2luY2x1ZGUvYy5oIHwgMTMgKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvYy5oIGIvc3JjL2luY2x1ZGUvYy5oCmluZGV4IGRmMDFhY2RmNmJhLi5jOTJiMjE0ZjZiMCAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNsdWRlL2MuaApAQCAtMTI3 MywyMCArMTI3MywxMyBAQCB0eXBlZGVmIHN0cnVjdCBQR0FsaWduZWRYTG9nQmxvY2sgUEdBbGln bmVkWExvZ0Jsb2NrOwogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiAjZGVmaW5lIHVuY29uc3Rp ZnkodW5kZXJseWluZ190eXBlLCBleHByKSBjb25zdF9jYXN0PHVuZGVybHlpbmdfdHlwZT4oZXhw cikKICNkZWZpbmUgdW52b2xhdGl6ZSh1bmRlcmx5aW5nX3R5cGUsIGV4cHIpIGNvbnN0X2Nhc3Q8 dW5kZXJseWluZ190eXBlPihleHByKQotI2VsaWYgZGVmaW5lZChIQVZFX19CVUlMVElOX1RZUEVT X0NPTVBBVElCTEVfUCkKKyNlbHNlCiAjZGVmaW5lIHVuY29uc3RpZnkodW5kZXJseWluZ190eXBl LCBleHByKSBcCi0JKFN0YXRpY0Fzc2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVf cCh0eXBlb2YoZXhwciksIGNvbnN0IHVuZGVybHlpbmdfdHlwZSksIFwKLQkJCQkJICAid3Jvbmcg Y2FzdCIpLCBcCisJKFN0YXRpY0Fzc2VydFZhcmlhYmxlSXNPZlR5cGVNYWNybyhleHByLCBjb25z dCB1bmRlcmx5aW5nX3R5cGUpLCBcCiAJICh1bmRlcmx5aW5nX3R5cGUpIChleHByKSkKICNkZWZp bmUgdW52b2xhdGl6ZSh1bmRlcmx5aW5nX3R5cGUsIGV4cHIpIFwKLQkoU3RhdGljQXNzZXJ0RXhw cihfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wKHR5cGVvZihleHByKSwgdm9sYXRpbGUgdW5k ZXJseWluZ190eXBlKSwgXAotCQkJCQkgICJ3cm9uZyBjYXN0IiksIFwKKwkoU3RhdGljQXNzZXJ0 VmFyaWFibGVJc09mVHlwZU1hY3JvKGV4cHIsIHZvbGF0aWxlIHVuZGVybHlpbmdfdHlwZSksIFwK IAkgKHVuZGVybHlpbmdfdHlwZSkgKGV4cHIpKQotI2Vsc2UKLSNkZWZpbmUgdW5jb25zdGlmeSh1 bmRlcmx5aW5nX3R5cGUsIGV4cHIpIFwKLQkoKHVuZGVybHlpbmdfdHlwZSkgKGV4cHIpKQotI2Rl ZmluZSB1bnZvbGF0aXplKHVuZGVybHlpbmdfdHlwZSwgZXhwcikgXAotCSgodW5kZXJseWluZ190 eXBlKSAoZXhwcikpCiAjZW5kaWYKIAogLyoKLS0gCjIuNTMuMAoK --ffec2141592fb2be01cc2e9696da683bfc790e349bd936f64eb465d862bb Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v10-0004-Add-C-version-of-__builtin_types_compatible_p.patch Content-Type: text/x-patch; charset=utf-8; name=v10-0004-Add-C-version-of-__builtin_types_compatible_p.patch RnJvbSA0MzdhOGFlY2UxNTNjNWRjMjRjMGUyNzA4YzAzNGZlMTcxOGVhM2JmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDEzIEZlYiAyMDI2IDA5OjM5OjM0ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 MTAgNC80XSBBZGQgQysrIHZlcnNpb24gb2YgX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcAoK U3RhdGljQXNzZXJ0VmFyaWFibGVJc09mVHlwZSB3b3VsZCBmYWlsIHRvIGNvbXBpbGUgaW4gQysr IGV4dGVuc2lvbnMgaWYKbWVzb24vYXV0b2NvbmYgaGFzIGRldGVjdGVkIEhBVkVfX0JVSUxUSU5f VFlQRVNfQ09NUEFUSUJMRV9QIHRvIGJlIHRydWUKZm9yIHRoZSBDIGNvbXBpbGVyLiBCYXNpY2Fs bHkgZXF1aXZhbGVudCB0byB0aGUgUEdfUFJJTlRGX0FUVFJJQlVURQpzaXR1YXRpb24gaW4gMDkw OTM4MGU0YzkuCgpUaGlzIGZpeGVzIHRoYXQgcHJvYmxlbSBieSBkZWZpbmluZyBfX2J1aWx0aW5f dHlwZXNfY29tcGF0aWJsZV9wIGluIEMrKwp1c2luZyBhbiBlcXVpdmFsZW50IFNUTCBjb25zdHJ1 Y3RzLgotLS0KIHNyYy9pbmNsdWRlL2MuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDIyICsrKysrKysrKysrKysrKysrKysKIC4uLi90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVz cGx1c2V4dC5jcHAgICB8IDIwICsrKysrKysrKysrKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDQx IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j LmggYi9zcmMvaW5jbHVkZS9jLmgKaW5kZXggYzkyYjIxNGY2YjAuLmJhNjI5YTM1MDNiIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9jLmgKKysrIGIvc3JjL2luY2x1ZGUvYy5oCkBAIC04MCw2ICs4 MCwxMiBAQAogI2lmZGVmIEhBVkVfWExPQ0FMRV9ICiAjaW5jbHVkZSA8eGxvY2FsZS5oPgogI2Vu ZGlmCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQysrIgoreworI2luY2x1ZGUgPHR5cGVf dHJhaXRzPgorfQorI2VuZGlmCiAjaWZkZWYgRU5BQkxFX05MUwogI2luY2x1ZGUgPGxpYmludGwu aD4KICNlbmRpZgpAQCAtNDQzLDcgKzQ0OSwyMyBAQAogI2lmbmRlZiBIQVZFX1RZUEVPRgogI2Rl ZmluZSBIQVZFX1RZUEVPRiAxCiAjZW5kaWYKKy8qCisgKiBQcm92aWRlIF9fYnVpbHRpbl90eXBl c19jb21wYXRpYmxlX3AgZm9yIEMrKyBieSBjb21wYXJpbmcgdHlwZXMgd2l0aAorICogc3RkOjpp c19zYW1lIGFmdGVyIHN0cmlwcGluZyBjdi1xdWFsaWZpZXJzLiBUaGUgc2Vjb25kIGJyYW5jaCBo YW5kbGVzCisgKiBHQ0MncyBzcGVjaWFsIGNhc2Ugd2hlcmUgYW4gaW5jb21wbGV0ZSBhcnJheSAo ZS5nLiBpbnRbXSkgaXMgY29uc2lkZXJlZAorICogY29tcGF0aWJsZSB3aXRoIGEgY29tcGxldGUg YXJyYXkgb2YgdGhlIHNhbWUgZWxlbWVudCB0eXBlIChlLmcuIGludFszXSkuCisgKi8KKyNkZWZp bmUgX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCh4LCB5KSBcCisJKHN0ZDo6aXNfc2FtZTxz dGQ6OnJlbW92ZV9jdl90PHg+LCBzdGQ6OnJlbW92ZV9jdl90PHk+Pjo6dmFsdWUgfHwgXAorCSAo c3RkOjppc19hcnJheTx4Pjo6dmFsdWUgJiYgc3RkOjppc19hcnJheTx5Pjo6dmFsdWUgJiYgXAor CSAgKHN0ZDo6ZXh0ZW50PHg+Ojp2YWx1ZSA9PSAwIHx8IHN0ZDo6ZXh0ZW50PHk+Ojp2YWx1ZSA9 PSAwKSAmJiBcCisJICBzdGQ6OmlzX3NhbWU8c3RkOjpyZW1vdmVfY3ZfdDxzdGQ6OnJlbW92ZV9l eHRlbnRfdDx4Pj4sIFwKKwkJCQkgICBzdGQ6OnJlbW92ZV9jdl90PHN0ZDo6cmVtb3ZlX2V4dGVu dF90PHk+Pj46OnZhbHVlKSkKKyNpZm5kZWYgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxF X1AKKyNkZWZpbmUgSEFWRV9fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQogI2VuZGlmCisj ZW5kaWYKKwogCiAvKgogICogQ3BwQXNTdHJpbmcKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVs ZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3BwIGIvc3JjL3Rlc3QvbW9k dWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAKaW5kZXggZWEwNGE3 NjExODQuLjkzNmNhNDIyYzc2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3Bs dXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rl c3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcApAQCAtMzQsMTEgKzM0LDE0IEBA IFN0YXRpY0Fzc2VydERlY2woc2l6ZW9mKGludDMyKSA9PSA0LCAiaW50MzIgc2hvdWxkIGJlIDQg Ynl0ZXMiKTsKIGV4dGVybiAiQyIgRGF0dW0KIHRlc3RfY3BsdXNwbHVzX2FkZChQR19GVU5DVElP Tl9BUkdTKQogewotCWludDMyCQlhID0gUEdfR0VUQVJHX0lOVDMyKDApOworCWNvbnN0IGludDMy CQlhID0gUEdfR0VUQVJHX0lOVDMyKDApOwogCWludDMyCQliID0gUEdfR0VUQVJHX0lOVDMyKDEp OworCWNvbnN0IGNoYXIgKnAgPSAiIjsKIAlSYW5nZVRibFJlZiAqbm9kZSA9IG1ha2VOb2RlKFJh bmdlVGJsUmVmKTsKIAlSYW5nZVRibFJlZiAqY29weSA9IGNvcHlPYmplY3Qobm9kZSk7CiAJTGlz dAkgICAqbGlzdCA9IGxpc3RfbWFrZTEobm9kZSk7CisJY29uc3QgaW50MzIgaW50X2FycmF5WzNd ID0gezB9OworCWV4dGVybiBpbnQzMiBpbmNvbXBsZXRlX2FycmF5W107CiAKIAlmb3JlYWNoX3B0 cihSYW5nZVRibFJlZiwgcnRyLCBsaXN0KQogCXsKQEAgLTUyLDYgKzU1LDIxIEBAIHRlc3RfY3Bs dXNwbHVzX2FkZChQR19GVU5DVElPTl9BUkdTKQogCiAJU3RhdGljQXNzZXJ0U3RtdChzaXplb2Yo aW50MzIpID09IDQsICJpbnQzMiBzaG91bGQgYmUgNCBieXRlcyIpOwogCSh2b2lkKSBTdGF0aWNB c3NlcnRFeHByKHNpemVvZihpbnQ2NCkgPT0gOCwgImludDY0IHNob3VsZCBiZSA4IGJ5dGVzIik7 CisJU3RhdGljQXNzZXJ0VmFyaWFibGVJc09mVHlwZShhLCBpbnQzMik7CisJU3RhdGljQXNzZXJ0 VmFyaWFibGVJc09mVHlwZShhLCBjb25zdCBpbnQzMik7CisJU3RhdGljQXNzZXJ0VmFyaWFibGVJ c09mVHlwZShiLCBjb25zdCBpbnQzMik7CisJU3RhdGljQXNzZXJ0VmFyaWFibGVJc09mVHlwZShp bnRfYXJyYXksIGludDMyWzNdKTsKKwlTdGF0aWNBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlKGludF9h cnJheSwgY29uc3QgaW50MzJbM10pOworCVN0YXRpY0Fzc2VydFZhcmlhYmxlSXNPZlR5cGUocCwg Y29uc3QgY2hhciAqKTsKKwlTdGF0aWNBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlTWFjcm8oYSwgaW50 MzIpOworCVN0YXRpY0Fzc2VydFZhcmlhYmxlSXNPZlR5cGVNYWNybyhhLCBjb25zdCBpbnQzMik7 CisJU3RhdGljQXNzZXJ0VmFyaWFibGVJc09mVHlwZU1hY3JvKGIsIGludDMyKTsKKwlTdGF0aWNB c3NlcnRWYXJpYWJsZUlzT2ZUeXBlTWFjcm8oaW50X2FycmF5LCBpbnQzMlszXSk7CisJU3RhdGlj QXNzZXJ0VmFyaWFibGVJc09mVHlwZU1hY3JvKGludF9hcnJheSwgY29uc3QgaW50MzJbM10pOwor CVN0YXRpY0Fzc2VydFZhcmlhYmxlSXNPZlR5cGVNYWNybyhwLCBjb25zdCBjaGFyICopOworCS8q IGluY29tcGxldGUgYXJyYXkgbWF0Y2hlcyBjb21wbGV0ZSBhcnJheSB0eXBlICovCisJU3RhdGlj QXNzZXJ0VmFyaWFibGVJc09mVHlwZShpbmNvbXBsZXRlX2FycmF5LCBpbnQzMlszXSk7CisJU3Rh dGljQXNzZXJ0VmFyaWFibGVJc09mVHlwZU1hY3JvKGluY29tcGxldGVfYXJyYXksIGludDMyWzNd KTsKIAogCWxpc3RfZnJlZShsaXN0KTsKIAlwZnJlZShub2RlKTsKLS0gCjIuNTMuMAoK --ffec2141592fb2be01cc2e9696da683bfc790e349bd936f64eb465d862bb--