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 1vh8Bc-00A5lZ-2t for pgsql-hackers@arkaria.postgresql.org; Sat, 17 Jan 2026 15:26:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vh8Ba-008kG4-36 for pgsql-hackers@arkaria.postgresql.org; Sat, 17 Jan 2026 15:25:59 +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 1vh8Ba-008kDW-1H for pgsql-hackers@lists.postgresql.org; Sat, 17 Jan 2026 15:25:58 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vh8BW-000wMh-1J for pgsql-hackers@lists.postgresql.org; Sat, 17 Jan 2026 15:25:57 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-b8768225837so405188766b.2 for ; Sat, 17 Jan 2026 07:25:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1768663553; x=1769268353; darn=lists.postgresql.org; h=in-reply-to:references:mime-version:from:to:subject:cc:message-id :date:from:to:cc:subject:date:message-id:reply-to; bh=kpP8fm2whZkrIgP1NT3kZ7iCi8n6ElYBqHROizhFTdY=; b=NF1yZMM6CsCy17aG//XowVZOdkUff1cqD8EumJKotuWu66JRnYUUBCPsYv7rzYzUfv J8umFnPfEHmmG0VhNC9GDZTeTABHwy5A94wyFotQnTPzUAmI5uVlThuKmEydQM6ZyhFH xWuirf74r3H97ojnN3/7R0hQsnHHWtxAmNf9D/phfaYJmqN+PnNLOmV+s5drJkHttgFQ e68in9lfiZdOlk7N5LuKvjB3UNGf9E2An15o1auJlNGIiqZqzVXLC+h7p4IohNNnAfFX mbuW0emP6n0wEIsSvLw5kBCn7Xi+QYKwKjr3QOg5CY9ET/Vwdw+rPGT848IYO4QYC7VG Zfpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768663553; x=1769268353; h=in-reply-to:references:mime-version:from:to:subject:cc:message-id :date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kpP8fm2whZkrIgP1NT3kZ7iCi8n6ElYBqHROizhFTdY=; b=qO3lQNBVqXj5uBimKvx3ZtKdMyXaZTjgLEdi5rn2ASHNcmYK/1t3WBEAC3uoves/HQ g+BDvLysycgFkJd5q134H+Euy4llbSlQhxkCGGO5/ean3uTHD2GKfu7aLrvsZIOY+9Hg JXzY++9Aan35UXyZJv5ybSMovUBWJDdv/+ORn4zlscEaicLYtpRvAIAFEQKpU8daLn2M OYyg6CW5z33FXH0h448iyVaCK1K5znPH3oJ9Bg5X+3dN1x406HIKeHcDSnQPKngTOEqN /hqBgGuL1hnU0z/l0l1cc1Rlz7W+ySiPFVp9vg+U3n/8Zx4D72N8o0VyLW9Hmuq8Ey70 ihrw== X-Gm-Message-State: AOJu0YxQ95hAcOvCLZVRb/RVA+kjgIeLqudvXBEJU2/WT6VBbNxdfrcl 2RFp57RXKSO5ArmwoQ+OUyrS8CY97p6Lz+iwJ/iwuY17y3OCWO2RBC+4bxPSdW5fRE5E+Ot8YMO lUG6d X-Gm-Gg: AY/fxX5Gn7dNJUHCArWCM+1K/jbcwmQtSuDXEmbNg8VivhxyLdtE3f2py7nHJ/O4Y5T zgcIWpb1kCB1Rk9d9HlqXVw/dyPEGbXCEMUtKj2szI+e6B4l9qq5kog8RL44SvoqnLhVAyN+4qU dN5YHp47NQQ3qMoMaxy8GTdj3tdkVpxvdu4BclQSoXXPpzz+hkkiVxLhQbBDPDicQ0FMtwwr7p3 fEBHUSSeW+OT22Kz1f1Qx366qibz3R1Yd9CC3eRXLweLqQAAsePhJlGnB5k11Ms0SAMvskLJFek tyzHtUdFH8+xM23x1ZInx5snF4M4AOnteD7YMgbdyqiigCmRoiA1tRb53gfY23zaNNmUwMga1QJ Go8E2RZEhOcrR86SkXVDVC8b1dznaN3o7gNM8a1/KlBbmzrMZNWSLHZeaL2ulikwVkmnw4/rlD9 +c7G9cRSI11utTh3UATCRkDtKHPTEVmgL9/nY= X-Received: by 2002:a17:907:981:b0:b80:3fc4:37bd with SMTP id a640c23a62f3a-b8792d3bc65mr517742366b.7.1768663552352; Sat, 17 Jan 2026 07:25:52 -0800 (PST) Received: from localhost (145-53-221-196.fixed.kpn.net. [145.53.221.196]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b879cd85b55sm491816866b.21.2026.01.17.07.25.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 17 Jan 2026 07:25:51 -0800 (PST) Content-Type: multipart/mixed; boundary=ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14 Date: Sat, 17 Jan 2026 16:25:51 +0100 Message-Id: Cc: "PostgreSQL Hackers" , "Thomas Munro" Subject: Re: Make copyObject work in C++ To: "Peter Eisentraut" From: "Jelte Fennema-Nio" MIME-Version: 1.0 References: <4d8b9e53-3f37-43f0-a4aa-5bda9c7961b3@eisentraut.org> In-Reply-To: X-TUID: sBeeOPQ6nm/h List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14 Content-Type: multipart/alternative; boundary=9e357451d9db3d9015cbd6d71ba9221600b89a66a936a620a03a58857b8c --9e357451d9db3d9015cbd6d71ba9221600b89a66a936a620a03a58857b8c Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Wed, 14 Jan 2026 at 16:59, Peter Eisentraut wrote= : > I think this module should have a runtime test, too. Otherwise you > don't know that you got the linkage correct, or whether this works at > all. It doesn't have to do much, like it could literally be a + b, and > it could evolve in the future to test hooks, _PG_init, etc. Done=20 > Let's put a README file in the module's directory instead of putting the > explanation into the Makefile/meson.build. Done=20 > I wonder if the module's build integration would work correctly in the > autoconf/makefile case if no C++ is available. AFAICT, it would fail to > build with g++ not found or similar. Changed this to check that if CXX is g++, the command is also actually available before including the module for the build. > AFAICT, the minimum changes to get a minimum test module to work are > > - fix for "restrict", recently committed > - disable warning about zero-length arrays, seems trivial > - named designated initializers Correct, I've now restructured the commits to have the module introduction as the first one. Then all the other commits, both fix a macro to work in C++ and add some usage of those macros as coverage to the previously added module. > I learned that named designated initializers in C++ are not allowed to > be specified out of order, so they are not a full equivalent to the C > syntax. This could be a problem for example if someone wanted in the > future to have something like > > PG_MODULE_MAGIC_EXT(.threads_supported =3D true) > > (while not specifying the leading .name and .version fields). This would still work fine, because fields are left out. The problem occurs when defining values for fields, but in a different order than the fields are specified in the struct (so e.g. by putting .version before .name). The reason for that is related to destructor ordering. > I think for now the easiest fix would be to just not use the named > initializers in the definition of PG_MODULE_MAGIC_DATA. Then we don't > need to require C++20 and have that additional code. In the future, we > might need a different solution more suitable for C++. There is a small problem with this though. Using both designated an non-designated initializers, is not valid standard C++. I even get a warning (but no error) about that with clang: ../src/test/modules/test_cplusplusext/test_cplusplusext.cpp:24:2: warning: = mixture of designated and non-designated initializers in the same initializ= er list is a C99 extension [-Wc99-designator] In C mixing them is allowed just fine. Sadly that means that C++ extensions (even when compiled for C++20) shouldn't use PG_MODULE_MAGIC_EXT with designated initializers at all. I've updated the documentation to reflect that. I agree that it's better to avoid requiring C++20 on MSVC (at least for now). > The use of -std=3Dc++11 for CI is a valid idea; I have often wanted that > for C as well. But conversely we also want to allow testing optional > extension and future C standard features. So we need a comprehensive > solution there that covers both ends and both languages. Let's leave > that out for now and think about it separately. Removed --9e357451d9db3d9015cbd6d71ba9221600b89a66a936a620a03a58857b8c-- --ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v6-0001-tests-Add-a-test-C-extension-module.patch Content-Type: text/x-patch; charset=utf-8; name=v6-0001-tests-Add-a-test-C-extension-module.patch RnJvbSA2ZWNlNDBiNjRhZDFkY2Y0NDc0NjY4MGIwNzYxOGVlNzgzZGQ3ZTNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDIgSmFuIDIwMjYgMjI6MzE6MDUgKzAxMDAKU3ViamVjdDogW1BBVENIIHY2 IDEvNV0gdGVzdHM6IEFkZCBhIHRlc3QgQysrIGV4dGVuc2lvbiBtb2R1bGUKCldoaWxlIHdlIGFs cmVhZHkgdGVzdCB0aGF0IG91ciBoZWFkZXJzIGFyZSB2YWxpZCBDKysgdXNpbmcgaGVhZGVyc2No ZWNrLAppdCB0dXJucyBvdXQgdGhhdCB0aGUgbWFjcm9zIHdlIGRlZmluZSBtaWdodCBzdGlsbCBl eHBhbmQgdG8gaW52YWxpZApDKysgY29kZS4gVGhpcyBhZGRzIGEgbWluaW1hbCB0ZXN0IGV4dGVu c2lvbiB0aGF0IGlzIGNvbXBpbGVkIHVzaW5nIEMrKwp0byB0ZXN0IHRoYXQgaXQncyBhY3R1YWxs eSBwb3NzaWJsZSB0byBidWlsZCBhbmQgcnVuIGV4dGVuc2lvbnMgd3JpdHRlbgppbiBDKysuIEZ1 dHVyZSBjb21taXRzIHdpbGwgaW1wcm92ZSBDKysgY29tcGF0aWJpbGl0eSBvZiBzb21lIG9mIG91 cgptYWNyb3MgYW5kIGFkZCB1c2FnZSBvZiB0aGVtIHRvIHRoaXMgZXh0ZW5zaW9uIG1ha2Ugc3Vy ZSB0aGF0IHRoZXkgZG9uJ3QKcmVncmVzcyBpbiB0aGUgZnV0dXJlLgoKVG8gZ2V0IENJIGdyZWVu LCB0aGlzIGFsc28gZml4ZXMgYW4gaXNzdWUgd2hlbiBjb21waWxpbmcgQysrIGV4dGVuc2lvbnMK b24gTVNWQzogT3VyIHVzZSBvZiBkZXNpZ25hdGVkIGluaXRpYWxpemVycyBpbiBQR19NT0RVTEVf TUFHSUNfREFUQQpjYXVzZWQgaXQgdG8gb25seSBiZSBwb3NzaWJsZS4gVGhpcyByZXZlcnRzIHRv IHVzaW5nIHBvc2l0aW9uYWwKaW5pdGlhbGl6ZXJzIGluc3RlYWQuIFNhZGx5IHRoYXQgbWVhbnMg dGhhdCB1c2luZyBkZXNpZ25hdGVkCmluaXRpYWxpemVycyBpbiBDKysyMCBpcyBzdGlsbCBub3Qg YWxsb3dlZCBpbiBQR19NT0RVTEVfTUFHSUNfRVhUCmJlY2F1c2UgbWl4aW5nIGRlc2lnbmF0ZWQg YW4gcG9zaXRpb25hbCBpbml0aWFsaXplcnMgaXMgYSBDIG9ubHkKZmVhdHVyZS4KLS0tCiBkb2Mv c3JjL3NnbWwveGZ1bmMuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKysKIG1lc29u LmJ1aWxkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrCiBzcmMvaW5j bHVkZS9mbWdyLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKystLS0KIHNyYy90 ZXN0L21vZHVsZXMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICB8IDExICsrKysrKwogc3Jj L3Rlc3QvbW9kdWxlcy9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICAgIHwgIDEgKwogc3JjL3Rl c3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC8uZ2l0aWdub3JlIHwgIDMgKysKIHNyYy90ZXN0 L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvTWFrZWZpbGUgICB8IDI2ICsrKysrKysrKysrKysK IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvUkVBRE1FICAgICB8IDEwICsrKysr CiAuLi4vZXhwZWN0ZWQvdGVzdF9jcGx1c3BsdXNleHQub3V0ICAgICAgICAgICAgfCAxNCArKysr KysrCiAuLi4vbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC9tZXNvbi5idWlsZCAgICAgfCAzNyAr KysrKysrKysrKysrKysrKysrCiAuLi4vc3FsL3Rlc3RfY3BsdXNwbHVzZXh0LnNxbCAgICAgICAg ICAgICAgICAgfCAgNiArKysKIC4uLi90ZXN0X2NwbHVzcGx1c2V4dC0tMS4wLnNxbCAgICAgICAg ICAgICAgICB8ICA4ICsrKysKIC4uLi90ZXN0X2NwbHVzcGx1c2V4dC5jb250cm9sICAgICAgICAg ICAgICAgICB8ICA0ICsrCiAuLi4vdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQu Y3BwICAgfCAzNyArKysrKysrKysrKysrKysrKysrCiAxNCBmaWxlcyBjaGFuZ2VkLCAxNzQgaW5z ZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9t b2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0Ly5naXRpZ25vcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L01ha2VmaWxlCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC9SRUFETUUKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L2V4cGVjdGVkL3Rl c3RfY3BsdXNwbHVzZXh0Lm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMv dGVzdF9jcGx1c3BsdXNleHQvbWVzb24uYnVpbGQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVz dC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3NxbC90ZXN0X2NwbHVzcGx1c2V4dC5zcWwKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3Rf Y3BsdXNwbHVzZXh0LS0xLjAuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxl cy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jb250cm9sCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1 c2V4dC5jcHAKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwveGZ1bmMuc2dtbCBiL2RvYy9zcmMv c2dtbC94ZnVuYy5zZ21sCmluZGV4IDcwZTgxNWI4YTJjLi4xNDNmODdhMjUzYSAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sL3hmdW5jLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3hmdW5jLnNnbWwK QEAgLTE5NzMsNiArMTk3MywxMiBAQCBQR19NT0RVTEVfTUFHSUNfRVhUKAogICAgIC5uYW1lID0g Im15X21vZHVsZV9uYW1lIiwKICAgICAudmVyc2lvbiA9ICIxLjIuMyIKICk7Cis8L3Byb2dyYW1s aXN0aW5nPgorCisgICAgSW4gQysrIGNvZGUsIHVzZSBwb3NpdGlvbmFsIGFyZ3VtZW50cyBpbnN0 ZWFkIG9mIGRlc2lnbmF0ZWQgaW5pdGlhbGl6ZXJzOgorCis8cHJvZ3JhbWxpc3Rpbmc+CitQR19N T0RVTEVfTUFHSUNfRVhUKCJteV9tb2R1bGVfbmFtZSIsICIxLjIuMyIpOwogPC9wcm9ncmFtbGlz dGluZz4KIAogICAgIFN1YnNlcXVlbnRseSB0aGUgbmFtZSBhbmQgdmVyc2lvbiBjYW4gYmUgZXhh bWluZWQgdmlhCmRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCmluZGV4IDZk MzA0ZjMyZmIwLi5hZWY3OTFkYTdjMyAxMDA2NDQKLS0tIGEvbWVzb24uYnVpbGQKKysrIGIvbWVz b24uYnVpbGQKQEAgLTIyMTEsNiArMjIxMSwxMCBAQCBpZiBjYy5nZXRfaWQoKSA9PSAnbXN2YycK ICAgICAnL3cyNDc3NycsICMgJ2Z1bmN0aW9uJyA6IGZvcm1hdCBzdHJpbmcgJ3N0cmluZycgcmVx dWlyZXMgYW4gYXJndW1lbnQgb2YgdHlwZSAndHlwZTEnLCBidXQgdmFyaWFkaWMgYXJndW1lbnQg bnVtYmVyIGhhcyB0eXBlICd0eXBlMicgW2xpa2UgLVdmb3JtYXRdCiAgIF0KIAorICBjeHhmbGFn c193YXJuICs9IFsKKyAgICAnL3dkNDIwMCcsICMgbm9uc3RhbmRhcmQgZXh0ZW5zaW9uIHVzZWQ6 IHplcm8tc2l6ZWQgYXJyYXkgaW4gc3RydWN0L3VuaW9uCisgIF0KKwogICBjcHBmbGFncyArPSBb CiAgICAgJy9EV0lOMzInLAogICAgICcvRFdJTkRPV1MnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvZm1nci5oIGIvc3JjL2luY2x1ZGUvZm1nci5oCmluZGV4IGVhYmJjNzhiMjgwLi4xYWI4NzQ5 Y2VlMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvZm1nci5oCisrKyBiL3NyYy9pbmNsdWRlL2Zt Z3IuaApAQCAtNDk3LDEzICs0OTcsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QKIH0KIAogLyoKLSAqIE1h Y3JvIHRvIGZpbGwgYSBtYWdpYyBibG9jay4gIElmIGFueSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0 aGV5IHNob3VsZAotICogYmUgZmllbGQgaW5pdGlhbGl6ZXJzLgorICogTWFjcm8gdG8gZmlsbCBh IG1hZ2ljIGJsb2NrLiAgSWYgYW55IGFyZ3VtZW50cyBhcmUgZ2l2ZW4sIHRoZXkgc2hvdWxkIGJl CisgKiBmaWVsZCBpbml0aWFsaXplcnMuIFRoZXNlIGNhbiBiZSBkZXNpZ25hdGVkIGluaXRpYWx6 ZXJzLCBvciBub24tZGVzaWduYXRlZAorICogaW5pdGlhbGl6ZXJzLiBJZiB0aGV5J3JlIG5vbi1k ZXNpZ25hdGVkLCB0aGV5IGFyZSBhcHBsaWVkIGFmdGVyIHRoZSBBQkkKKyAqIGZpZWxkcy4KICAq LwogI2RlZmluZSBQR19NT0RVTEVfTUFHSUNfREFUQSguLi4pIFwKIHsgXAotCS5sZW4gPSBzaXpl b2YoUGdfbWFnaWNfc3RydWN0KSwgXAotCS5hYmlfZmllbGRzID0gUEdfTU9EVUxFX0FCSV9EQVRB LCBcCisJc2l6ZW9mKFBnX21hZ2ljX3N0cnVjdCksIFwKKwlQR19NT0RVTEVfQUJJX0RBVEEsIFwK IAlfX1ZBX0FSR1NfXyBcCiB9CiAKQEAgLTUyNCw3ICs1MjYsNyBAQCBleHRlcm4gUEdETExFWFBP UlQgY29uc3QgUGdfbWFnaWNfc3RydWN0ICpQR19NQUdJQ19GVU5DVElPTl9OQU1FKHZvaWQpOyBc CiBjb25zdCBQZ19tYWdpY19zdHJ1Y3QgKiBcCiBQR19NQUdJQ19GVU5DVElPTl9OQU1FKHZvaWQp IFwKIHsgXAotCXN0YXRpYyBjb25zdCBQZ19tYWdpY19zdHJ1Y3QgUGdfbWFnaWNfZGF0YSA9IFBH X01PRFVMRV9NQUdJQ19EQVRBKC5uYW1lID0gTlVMTCk7IFwKKwlzdGF0aWMgY29uc3QgUGdfbWFn aWNfc3RydWN0IFBnX21hZ2ljX2RhdGEgPSBQR19NT0RVTEVfTUFHSUNfREFUQSgpOyBcCiAJcmV0 dXJuICZQZ19tYWdpY19kYXRhOyBcCiB9IFwKIGV4dGVybiBpbnQgbm9fc3VjaF92YXJpYWJsZQpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9NYWtlZmlsZSBiL3NyYy90ZXN0L21vZHVsZXMv TWFrZWZpbGUKaW5kZXggNGM2ZDU2ZDk3ZDguLmM5MGIxYmQwZGMwIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9tb2R1bGVzL01ha2VmaWxlCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUKQEAg LTc1LDUgKzc1LDE2IEBAIGVsc2UKIEFMV0FZU19TVUJESVJTICs9IGxkYXBfcGFzc3dvcmRfZnVu YwogZW5kaWYKIAorIyB0ZXN0X2NwbHVzcGx1c2V4dCByZXF1aXJlcyBhIHdvcmtpbmcgQysrIGNv bXBpbGVyLiBJZiBDWFggaXMgc2V0IHRvIGcrKywgdGhlbgorIyB0aGF0IGNvdWxkIGJlIGJlY2F1 c2UgZysrIGlzIEFDX1BST0dfQ1hYJ3MgZmFsbGJhY2sgd2hlbiBubyBDKysgY29tcGlsZXIgaXMK KyMgZm91bmQuIFNvIGluIHRoYXQgY2FzZSB3ZSBkbyBjaGVjayB0byBzZWUgaWYgaXQgYWN0dWFs bHkgZXhpc3RzLgoraWZuZXEgKCQoQ1hYKSxnKyspCitTVUJESVJTICs9IHRlc3RfY3BsdXNwbHVz ZXh0CitlbHNlIGlmbmVxICgkKHNoZWxsIGNvbW1hbmQgLXYgJChDWFgpKSwpCitTVUJESVJTICs9 IHRlc3RfY3BsdXNwbHVzZXh0CitlbHNlCitBTFdBWVNfU1VCRElSUyArPSB0ZXN0X2NwbHVzcGx1 c2V4dAorZW5kaWYKKwogJChyZWN1cnNlKQogJChyZWN1cnNlX2Fsd2F5cykKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L21vZHVsZXMvbWVzb24uYnVpbGQgYi9zcmMvdGVzdC9tb2R1bGVzL21lc29uLmJ1 aWxkCmluZGV4IDFiMzFjNWI5OGQ2Li4wYzdlOGFkNDg1NiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv bW9kdWxlcy9tZXNvbi5idWlsZAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL21lc29uLmJ1aWxkCkBA IC0xOSw2ICsxOSw3IEBAIHN1YmRpcigndGVzdF9haW8nKQogc3ViZGlyKCd0ZXN0X2JpbmFyeWhl YXAnKQogc3ViZGlyKCd0ZXN0X2JpdG1hcHNldCcpCiBzdWJkaXIoJ3Rlc3RfYmxvb21maWx0ZXIn KQorc3ViZGlyKCd0ZXN0X2NwbHVzcGx1c2V4dCcpCiBzdWJkaXIoJ3Rlc3RfY2xvZXhlYycpCiBz dWJkaXIoJ3Rlc3RfY29weV9jYWxsYmFja3MnKQogc3ViZGlyKCd0ZXN0X2N1c3RvbV9ybWdycycp CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0Ly5naXRpZ25v cmUgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0Ly5naXRpZ25vcmUKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkxMzE3NWZmNmU2Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC8uZ2l0aWdub3JlCkBA IC0wLDAgKzEsMyBAQAorL2xvZy8KKy9yZXN1bHRzLworL3RtcF9jaGVjay8KZGlmZiAtLWdpdCBh L3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvTWFrZWZpbGUgYi9zcmMvdGVzdC9t b2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi44OGNkNDQwMzgyMwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0 L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvTWFrZWZpbGUKQEAgLTAsMCArMSwyNiBAQAorIyBz cmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L01ha2VmaWxlCisKK01PRFVMRV9iaWcg PSB0ZXN0X2NwbHVzcGx1c2V4dAorT0JKUyA9IFwKKwkkKFdJTjMyUkVTKSBcCisJdGVzdF9jcGx1 c3BsdXNleHQubworUEdGSUxFREVTQyA9ICJ0ZXN0X2NwbHVzcGx1c2V4dCAtIHRlc3QgQysrIGNv bXBhdGliaWxpdHkgb2YgUG9zdGdyZVNRTCBoZWFkZXJzIgorCitFWFRFTlNJT04gPSB0ZXN0X2Nw bHVzcGx1c2V4dAorREFUQSA9IHRlc3RfY3BsdXNwbHVzZXh0LS0xLjAuc3FsCisKK1JFR1JFU1Mg PSB0ZXN0X2NwbHVzcGx1c2V4dAorCisjIFVzZSBDKysgY29tcGlsZXIgZm9yIGxpbmtpbmcgYmVj YXVzZSB0aGlzIG1vZHVsZSBpbmNsdWRlcyBDKysgZmlsZXMKK292ZXJyaWRlIENPTVBJTEVSID0g JChDWFgpICQoQ1hYRkxBR1MpCisKK2lmZGVmIFVTRV9QR1hTCitQR19DT05GSUcgPSBwZ19jb25m aWcKK1BHWFMgOj0gJChzaGVsbCAkKFBHX0NPTkZJRykgLS1wZ3hzKQoraW5jbHVkZSAkKFBHWFMp CitlbHNlCitzdWJkaXIgPSBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0Cit0b3Bf YnVpbGRkaXIgPSAuLi8uLi8uLi8uLgoraW5jbHVkZSAkKHRvcF9idWlsZGRpcikvc3JjL01ha2Vm aWxlLmdsb2JhbAoraW5jbHVkZSAkKHRvcF9zcmNkaXIpL2NvbnRyaWIvY29udHJpYi1nbG9iYWwu bWsKK2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0 L1JFQURNRSBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvUkVBRE1FCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jN2E1NGZlOGU3ZgotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvUkVBRE1FCkBAIC0w LDAgKzEsMTAgQEAKK3Rlc3RfY3BsdXNwbHVzZXh0IC0gVGVzdCBDKysgRXh0ZW5zaW9uIENvbXBh dGliaWxpdHkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKworVGhpcyB0ZXN0IG1vZHVsZSB2ZXJpZmllcyB0aGF0IFBvc3RncmVTUUwgaGVhZGVy cyBhbmQgbWFjcm9zIHdvcmsgY29ycmVjdGx5Cit3aGVuIGNvbXBpbGVkIHdpdGggYSBDKysgY29t cGlsZXIuCisKK1doaWxlIFBvc3RncmVTUUwgYWxyZWFkeSB0ZXN0cyB0aGF0IGhlYWRlcnMgYXJl IHN5bnRhY3RpY2FsbHkgdmFsaWQgQysrIHVzaW5nCitoZWFkZXJzY2hlY2ssIHRoZSBtYWNyb3Mg ZGVmaW5lZCBpbiB0aG9zZSBoZWFkZXJzIG1pZ2h0IHN0aWxsIGV4cGFuZCB0byBpbnZhbGlkCitD KysgY29kZS4gIFRoaXMgbW9kdWxlIGNhdGNoZXMgc3VjaCBpc3N1ZXMgYnkgYWN0dWFsbHkgY29t cGlsaW5nIGFuZCBydW5uaW5nIGFuCitleHRlbnNpb24gdGhhdCdzIHdyaXR0ZW4gaW4gQysrLgpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC9leHBlY3RlZC90 ZXN0X2NwbHVzcGx1c2V4dC5vdXQgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0 L2V4cGVjdGVkL3Rlc3RfY3BsdXNwbHVzZXh0Lm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uMjU2MDBjZmQxYjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9t b2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L2V4cGVjdGVkL3Rlc3RfY3BsdXNwbHVzZXh0Lm91dApA QCAtMCwwICsxLDE0IEBACitDUkVBVEUgRVhURU5TSU9OIHRlc3RfY3BsdXNwbHVzZXh0OworU0VM RUNUIHRlc3RfY3BsdXNwbHVzX2FkZCgxLCAyKTsKKyB0ZXN0X2NwbHVzcGx1c19hZGQgCistLS0t LS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgMworKDEgcm93KQorCitTRUxFQ1Qg bW9kdWxlX25hbWUsIHZlcnNpb24gRlJPTSBwZ19nZXRfbG9hZGVkX21vZHVsZXMoKQorICBXSEVS RSBtb2R1bGVfbmFtZSA9ICd0ZXN0X2NwbHVzcGx1c2V4dCc7CisgICAgbW9kdWxlX25hbWUgICAg fCB2ZXJzaW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyB0ZXN0X2NwbHVzcGx1 c2V4dCB8IDEuMgorKDEgcm93KQorCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3Rf Y3BsdXNwbHVzZXh0L21lc29uLmJ1aWxkIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1 c2V4dC9tZXNvbi5idWlsZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u MGRkYjY3OTc4ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3Bs dXNwbHVzZXh0L21lc29uLmJ1aWxkCkBAIC0wLDAgKzEsMzcgQEAKKyMgQ29weXJpZ2h0IChjKSAy MDI1LTIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisKK2lmIG5vdCBh ZGRfbGFuZ3VhZ2VzKCdjcHAnLCByZXF1aXJlZDogZmFsc2UsIG5hdGl2ZTogZmFsc2UpCisgIHN1 YmRpcl9kb25lKCkKK2VuZGlmCisKK3Rlc3RfY3BsdXNwbHVzZXh0X3NvdXJjZXMgPSBmaWxlcygK KyAgJ3Rlc3RfY3BsdXNwbHVzZXh0LmNwcCcsCispCisKK2lmIGhvc3Rfc3lzdGVtID09ICd3aW5k b3dzJworICB0ZXN0X2NwbHVzcGx1c2V4dF9zb3VyY2VzICs9IHJjX2xpYl9nZW4ucHJvY2Vzcyh3 aW4zMnZlcl9yYywgZXh0cmFfYXJnczogWworICAgICctLU5BTUUnLCAndGVzdF9jcGx1c3BsdXNl eHQnLAorICAgICctLUZJTEVERVNDJywgJ3Rlc3RfY3BsdXNwbHVzZXh0IC0gdGVzdCBDKysgY29t cGF0aWJpbGl0eSBvZiBQb3N0Z3JlU1FMIGhlYWRlcnMnLF0pCitlbmRpZgorCit0ZXN0X2NwbHVz cGx1c2V4dCA9IHNoYXJlZF9tb2R1bGUoJ3Rlc3RfY3BsdXNwbHVzZXh0JywKKyAgdGVzdF9jcGx1 c3BsdXNleHRfc291cmNlcywKKyAga3dhcmdzOiBwZ190ZXN0X21vZF9hcmdzLAorKQordGVzdF9p bnN0YWxsX2xpYnMgKz0gdGVzdF9jcGx1c3BsdXNleHQKKwordGVzdF9pbnN0YWxsX2RhdGEgKz0g ZmlsZXMoCisgICd0ZXN0X2NwbHVzcGx1c2V4dC5jb250cm9sJywKKyAgJ3Rlc3RfY3BsdXNwbHVz ZXh0LS0xLjAuc3FsJywKKykKKwordGVzdHMgKz0geworICAnbmFtZSc6ICd0ZXN0X2NwbHVzcGx1 c2V4dCcsCisgICdzZCc6IG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorICAnYmQnOiBtZXNv bi5jdXJyZW50X2J1aWxkX2RpcigpLAorICAncmVncmVzcyc6IHsKKyAgICAnc3FsJzogWworICAg ICAgJ3Rlc3RfY3BsdXNwbHVzZXh0JywKKyAgICBdLAorICB9LAorfQpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC9zcWwvdGVzdF9jcGx1c3BsdXNleHQuc3Fs IGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC9zcWwvdGVzdF9jcGx1c3BsdXNl eHQuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42OTM5MTBiYTYz NwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQv c3FsL3Rlc3RfY3BsdXNwbHVzZXh0LnNxbApAQCAtMCwwICsxLDYgQEAKK0NSRUFURSBFWFRFTlNJ T04gdGVzdF9jcGx1c3BsdXNleHQ7CisKK1NFTEVDVCB0ZXN0X2NwbHVzcGx1c19hZGQoMSwgMik7 CisKK1NFTEVDVCBtb2R1bGVfbmFtZSwgdmVyc2lvbiBGUk9NIHBnX2dldF9sb2FkZWRfbW9kdWxl cygpCisgIFdIRVJFIG1vZHVsZV9uYW1lID0gJ3Rlc3RfY3BsdXNwbHVzZXh0JzsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQt LTEuMC5zcWwgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNw bHVzZXh0LS0xLjAuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5j NTRhY2I3NjgyMwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1 c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQtLTEuMC5zcWwKQEAgLTAsMCArMSw4IEBACisvKiBz cmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LS0xLjAu c3FsICovCisKKy0tIGNvbXBsYWluIGlmIHNjcmlwdCBpcyBzb3VyY2VkIGluIHBzcWwsIHJhdGhl ciB0aGFuIHZpYSBDUkVBVEUgRVhURU5TSU9OCitcZWNobyBVc2UgIkNSRUFURSBFWFRFTlNJT04g dGVzdF9jcGx1c3BsdXNleHQiIHRvIGxvYWQgdGhpcyBmaWxlLiBccXVpdAorCitDUkVBVEUgRlVO Q1RJT04gdGVzdF9jcGx1c3BsdXNfYWRkKGludDQsIGludDQpIFJFVFVSTlMgaW50NAorQVMgJ01P RFVMRV9QQVRITkFNRScKK0xBTkdVQUdFIEMgU1RSSUNUOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv bW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jb250cm9sIGIvc3Jj L3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jb250cm9s Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42NDBhMGE1MWYzNQotLS0g L2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9j cGx1c3BsdXNleHQuY29udHJvbApAQCAtMCwwICsxLDQgQEAKK2NvbW1lbnQgPSAnVGVzdCBtb2R1 bGUgZm9yIEMrKyBleHRlbnNpb24gY29tcGF0aWJpbGl0eScKK2RlZmF1bHRfdmVyc2lvbiA9ICcx LjAnCittb2R1bGVfcGF0aG5hbWUgPSAnJGxpYmRpci90ZXN0X2NwbHVzcGx1c2V4dCcKK3JlbG9j YXRhYmxlID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1 c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNw bHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uNzEwOGU1YjFjYzUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1 bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcApAQCAtMCwwICsxLDM3 IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogdGVzdF9jcGx1c3BsdXNleHQuY3BwCisg KgkJVGVzdCB0aGF0IFBvc3RncmVTUUwgaGVhZGVycyBjb21waWxlIHdpdGggYSBDKysgY29tcGls ZXIuCisgKgorICogVGhpcyBmaWxlIGlzIGNvbXBpbGVkIHdpdGggYSBDKysgY29tcGlsZXIgdG8g dmVyaWZ5IHRoYXQgUG9zdGdyZVNRTAorICogaGVhZGVycyByZW1haW4gY29tcGF0aWJsZSB3aXRo IEMrKyBleHRlbnNpb25zLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAyNS0yMDI2LCBQb3N0Z3Jl U1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkJ c3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAK KyAqCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworZXh0ZXJuICJDIiB7CisjaW5jbHVkZSAi cG9zdGdyZXMuaCIKKyNpbmNsdWRlICJmbWdyLmgiCisKK1BHX01PRFVMRV9NQUdJQ19FWFQoInRl c3RfY3BsdXNwbHVzZXh0IiwgIjEuMiIpOworCitQR19GVU5DVElPTl9JTkZPX1YxKHRlc3RfY3Bs dXNwbHVzX2FkZCk7Cit9CisKKy8qCisgKiBTaW1wbGUgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRo ZSBzdW0gb2YgdHdvIGludGVnZXJzLiAgVGhpcyB2ZXJpZmllcyB0aGF0CisgKiBDKysgZXh0ZW5z aW9uIG1vZHVsZXMgY2FuIGJlIGxvYWRlZCBhbmQgY2FsbGVkIGNvcnJlY3RseSBhdCBydW50aW1l LgorICovCitleHRlcm4gIkMiIERhdHVtCit0ZXN0X2NwbHVzcGx1c19hZGQoUEdfRlVOQ1RJT05f QVJHUykKK3sKKwlpbnQzMgkJYSA9IFBHX0dFVEFSR19JTlQzMigwKTsKKwlpbnQzMgkJYiA9IFBH X0dFVEFSR19JTlQzMigxKTsKKworCVBHX1JFVFVSTl9JTlQzMihhICsgYik7Cit9CgpiYXNlLWNv bW1pdDogNjgzMWNkOWUzYjA4MmQ3YjgzMGMzMTk2NzQyZGQ0OWUzNTQwYzQ5YgotLSAKMi41Mi4w Cgo= --ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v6-0002-Support-using-copyObject-in-C.patch Content-Type: text/x-patch; charset=utf-8; name=v6-0002-Support-using-copyObject-in-C.patch RnJvbSA5MjNlNDQzZmYzNzI0MTg4YmExM2M5MzMzN2IwNzM3OGU0ODYwZDlhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDUgRGVjIDIwMjUgMTU6Mzc6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIIHY2 IDIvNV0gU3VwcG9ydCB1c2luZyBjb3B5T2JqZWN0IGluIEMrKwoKQ2FsbGluZyBjb3B5T2JqZWN0 IGluIEMrKyB3aXRob3V0IEdOVSBleHRlbnNpb25zIGZhaWxzIHdpdGggYW4gZXJyb3IKbGlrZSB0 aGlzOgoKZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R5cGVvZic7IGRpZCB5 b3UgbWVhbiAndHlwZWlkJwoKVGhpcyBpcyBkdWUgdG8gdGhlIEMgY29tcGlsZXIgc3VwcG9ydGlu ZyB1c2VkIHRvIGNvbXBpbGUgcG9zdGdyZXMKc3VwcG9ydGluZyB0eXBlb2YsIGJ1dCB0aGF0IGZ1 bmN0aW9uIGFjdHVhbGx5IG5vdCBiZWluZyBwcmVzZW50IGluIHRoZQpDKysgY29tcGlsZXIuIFRo aXMgZml4ZXMgdGhhdCBieSBkZWZpbmluZyBwZ19leHBydHlwZSB3aGljaCBtYXBzIHRvCnR5cGVv ZiBvciBkZWNsdHlwZSBkZXBlbmRpbmcgb24gdGhlIGNvbXBpbGVyLiBXaGlsZSBwZ190eXBlb2Yg d291bGQgaGF2ZQpiZWVuIGEgbW9yZSBuYXR1cmFsIG5hbWUsIHRoYXQgbmFtZSBpcyBhbHJlYWR5 IHRha2VuIGluIG91ciBjb2RlYmFzZSBhcwp0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHBnX3R5 cGVvZiBVREYuCi0tLQogc3JjL2luY2x1ZGUvYy5oICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgMTMgKysrKysrKysrKysrKwogc3JjL2luY2x1ZGUvbm9kZXMvbm9kZXMuaCAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogLi4uL21vZHVsZXMvdGVzdF9jcGx1 c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3BwIHwgIDYgKysrKysrCiAzIGZpbGVzIGNoYW5n ZWQsIDIxIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvYy5oIGIvc3JjL2luY2x1ZGUvYy5oCmluZGV4IDcxMzYxMDJlNWZmLi5hMGIxMjYxZjdk MyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNsdWRlL2MuaApAQCAt NDEyLDYgKzQxMiwxOSBAQAogI2RlZmluZSB1bmxpa2VseSh4KSAoKHgpICE9IDApCiAjZW5kaWYK IAorLyoKKyAqIHBnX2V4cHJ0eXBlCisgKgkJR2V0IHRoZSB0eXBlIG9mIGFuIGV4cHJlc3Npb24g YXQgY29tcGlsZSB0aW1lLgorICoKKyAqIEluIEMrKyB3ZSB1c2UgZGVjbHR5cGUgc2luY2UgdHlw ZW9mIGlzIG5vdCBzdGFuZGFyZCBDKyssIHdoaWxlIGluIEMgd2UgdXNlCisgKiB0eXBlb2Ygd2hl biBhdmFpbGFibGUuCisgKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorI2RlZmluZSBwZ19l eHBydHlwZSh4KSBkZWNsdHlwZSh4KQorI2VsaWYgZGVmaW5lZChIQVZFX1RZUEVPRikKKyNkZWZp bmUgcGdfZXhwcnR5cGUoeCkgdHlwZW9mKHgpCisjZW5kaWYKKwogLyoKICAqIENwcEFzU3RyaW5n CiAgKgkJQ29udmVydCB0aGUgYXJndW1lbnQgdG8gYSBzdHJpbmcsIHVzaW5nIHRoZSBDIHByZXBy b2Nlc3Nvci4KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL25vZGVzLmggYi9zcmMvaW5j bHVkZS9ub2Rlcy9ub2Rlcy5oCmluZGV4IGI2YWQyODYxOGFiLi5mNWUxN2U2NzBiNyAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9u b2Rlcy5oCkBAIC0yMjYsOCArMjI2LDggQEAgZXh0ZXJuIGludDE2ICpyZWFkQXR0ck51bWJlckNv bHMoaW50IG51bUNvbHMpOwogZXh0ZXJuIHZvaWQgKmNvcHlPYmplY3RJbXBsKGNvbnN0IHZvaWQg KmZyb20pOwogCiAvKiBjYXN0IHJlc3VsdCBiYWNrIHRvIGFyZ3VtZW50IHR5cGUsIGlmIHN1cHBv cnRlZCBieSBjb21waWxlciAqLwotI2lmZGVmIEhBVkVfVFlQRU9GCi0jZGVmaW5lIGNvcHlPYmpl Y3Qob2JqKSAoKHR5cGVvZihvYmopKSBjb3B5T2JqZWN0SW1wbChvYmopKQorI2lmZGVmIHBnX2V4 cHJ0eXBlCisjZGVmaW5lIGNvcHlPYmplY3Qob2JqKSAoKHBnX2V4cHJ0eXBlKG9iaikpIGNvcHlP YmplY3RJbXBsKG9iaikpCiAjZWxzZQogI2RlZmluZSBjb3B5T2JqZWN0KG9iaikgY29weU9iamVj dEltcGwob2JqKQogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3Bs dXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9j cGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3BwCmluZGV4IDcxMDhlNWIxY2M1Li40ODc0 MWYyNzk0OSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90 ZXN0X2NwbHVzcGx1c2V4dC5jcHAKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1 c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAKQEAgLTE3LDYgKzE3LDcgQEAKIGV4dGVybiAiQyIg ewogI2luY2x1ZGUgInBvc3RncmVzLmgiCiAjaW5jbHVkZSAiZm1nci5oIgorI2luY2x1ZGUgIm5v ZGVzL3BhcnNlbm9kZXMuaCIKIAogUEdfTU9EVUxFX01BR0lDX0VYVCgidGVzdF9jcGx1c3BsdXNl eHQiLCAiMS4yIik7CiAKQEAgLTMyLDYgKzMzLDExIEBAIHRlc3RfY3BsdXNwbHVzX2FkZChQR19G VU5DVElPTl9BUkdTKQogewogCWludDMyCQlhID0gUEdfR0VUQVJHX0lOVDMyKDApOwogCWludDMy CQliID0gUEdfR0VUQVJHX0lOVDMyKDEpOworCVJhbmdlVGJsUmVmICpub2RlID0gbWFrZU5vZGUo UmFuZ2VUYmxSZWYpOworCVJhbmdlVGJsUmVmICpjb3B5ID0gY29weU9iamVjdChub2RlKTsKKwor CXBmcmVlKGNvcHkpOworCXBmcmVlKG5vZGUpOwogCiAJUEdfUkVUVVJOX0lOVDMyKGEgKyBiKTsK IH0KLS0gCjIuNTIuMAoK --ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v6-0003-Use-pg_exprtype-instead-of-typeof.patch Content-Type: text/x-patch; charset=utf-8; name=v6-0003-Use-pg_exprtype-instead-of-typeof.patch RnJvbSBhYzVjYmNmYzIxYTJiOTFmNjQ2ZmJkNjM2ZTk0Yzc5YzViYzJmOWI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBNb24sIDggRGVjIDIwMjUgMDg6MTM6NTEgKzAxMDAKU3ViamVjdDogW1BBVENIIHY2 IDMvNV0gVXNlIHBnX2V4cHJ0eXBlIGluc3RlYWQgb2YgdHlwZW9mCgpUaGUgcHJldmlvdXMgY29t bWl0IGludHJvZHVjZWQgcGdfZXhwcnR5cGUuIFRoaXMgc3RhcnRzIHVzaW5nIHRoYXQgaW4gYQpm ZXcgbW9yZSBwbGFjZXMuCi0tLQogc3JjL2luY2x1ZGUvYy5oICAgICAgICAgICAgfCA4ICsrKyst LS0tCiBzcmMvaW5jbHVkZS91dGlscy9yZWxwdHIuaCB8IDggKysrKy0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCBhMGIxMjYxZjdkMy4uNjUxNzNiOWQ5 ZmQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2MuaAorKysgYi9zcmMvaW5jbHVkZS9jLmgKQEAg LTk3OCwxMCArOTc4LDEwIEBAIHBnX25vcmV0dXJuIGV4dGVybiB2b2lkIEV4Y2VwdGlvbmFsQ29u ZGl0aW9uKGNvbnN0IGNoYXIgKmNvbmRpdGlvbk5hbWUsCiAgKi8KICNpZmRlZiBIQVZFX19CVUlM VElOX1RZUEVTX0NPTVBBVElCTEVfUAogI2RlZmluZSBBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlKHZh cm5hbWUsIHR5cGVuYW1lKSBcCi0JU3RhdGljQXNzZXJ0U3RtdChfX2J1aWx0aW5fdHlwZXNfY29t cGF0aWJsZV9wKF9fdHlwZW9mX18odmFybmFtZSksIHR5cGVuYW1lKSwgXAorCVN0YXRpY0Fzc2Vy dFN0bXQoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChwZ19leHBydHlwZSh2YXJuYW1lKSwg dHlwZW5hbWUpLCBcCiAJQ3BwQXNTdHJpbmcodmFybmFtZSkgIiBkb2VzIG5vdCBoYXZlIHR5cGUg IiBDcHBBc1N0cmluZyh0eXBlbmFtZSkpCiAjZGVmaW5lIEFzc2VydFZhcmlhYmxlSXNPZlR5cGVN YWNybyh2YXJuYW1lLCB0eXBlbmFtZSkgXAotCShTdGF0aWNBc3NlcnRFeHByKF9fYnVpbHRpbl90 eXBlc19jb21wYXRpYmxlX3AoX190eXBlb2ZfXyh2YXJuYW1lKSwgdHlwZW5hbWUpLCBcCisJKFN0 YXRpY0Fzc2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChwZ19leHBydHlwZSh2 YXJuYW1lKSwgdHlwZW5hbWUpLCBcCiAJIENwcEFzU3RyaW5nKHZhcm5hbWUpICIgZG9lcyBub3Qg aGF2ZSB0eXBlICIgQ3BwQXNTdHJpbmcodHlwZW5hbWUpKSkKICNlbHNlCQkJCQkJCS8qICFIQVZF X19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAqLwogI2RlZmluZSBBc3NlcnRWYXJpYWJsZUlz T2ZUeXBlKHZhcm5hbWUsIHR5cGVuYW1lKSBcCkBAIC0xMjI5LDExICsxMjI5LDExIEBAIHR5cGVk ZWYgc3RydWN0IFBHQWxpZ25lZFhMb2dCbG9jawogI2RlZmluZSB1bnZvbGF0aXplKHVuZGVybHlp bmdfdHlwZSwgZXhwcikgY29uc3RfY2FzdDx1bmRlcmx5aW5nX3R5cGU+KGV4cHIpCiAjZWxpZiBk ZWZpbmVkKEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QKQogI2RlZmluZSB1bmNvbnN0 aWZ5KHVuZGVybHlpbmdfdHlwZSwgZXhwcikgXAotCShTdGF0aWNBc3NlcnRFeHByKF9fYnVpbHRp bl90eXBlc19jb21wYXRpYmxlX3AoX190eXBlb2YoZXhwciksIGNvbnN0IHVuZGVybHlpbmdfdHlw ZSksIFwKKwkoU3RhdGljQXNzZXJ0RXhwcihfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wKHBn X2V4cHJ0eXBlKGV4cHIpLCBjb25zdCB1bmRlcmx5aW5nX3R5cGUpLCBcCiAJCQkJCSAgIndyb25n IGNhc3QiKSwgXAogCSAodW5kZXJseWluZ190eXBlKSAoZXhwcikpCiAjZGVmaW5lIHVudm9sYXRp emUodW5kZXJseWluZ190eXBlLCBleHByKSBcCi0JKFN0YXRpY0Fzc2VydEV4cHIoX19idWlsdGlu X3R5cGVzX2NvbXBhdGlibGVfcChfX3R5cGVvZihleHByKSwgdm9sYXRpbGUgdW5kZXJseWluZ190 eXBlKSwgXAorCShTdGF0aWNBc3NlcnRFeHByKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3Ao cGdfZXhwcnR5cGUoZXhwciksIHZvbGF0aWxlIHVuZGVybHlpbmdfdHlwZSksIFwKIAkJCQkJICAi d3JvbmcgY2FzdCIpLCBcCiAJICh1bmRlcmx5aW5nX3R5cGUpIChleHByKSkKICNlbHNlCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9yZWxwdHIuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Jl bHB0ci5oCmluZGV4IGFlYjE3ZmEyNGE1Li4zZTAzZDM0ZDlhZCAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvdXRpbHMvcmVscHRyLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcmVscHRyLmgKQEAg LTM4LDEwICszOCwxMCBAQAogI2RlZmluZSByZWxwdHJfZGVjbGFyZSh0eXBlLCByZWxwdHJ0eXBl KSBcCiAJdHlwZWRlZiByZWxwdHIodHlwZSkgcmVscHRydHlwZQogCi0jaWZkZWYgSEFWRV9UWVBF T0YKKyNpZmRlZiBwZ19leHBydHlwZQogI2RlZmluZSByZWxwdHJfYWNjZXNzKGJhc2UsIHJwKSBc CiAJKEFzc2VydFZhcmlhYmxlSXNPZlR5cGVNYWNybyhiYXNlLCBjaGFyICopLCBcCi0JICh0eXBl b2YoKHJwKS5yZWxwdHJfdHlwZSkpICgocnApLnJlbHB0cl9vZmYgPT0gMCA/IE5VTEwgOiBcCisJ IChwZ19leHBydHlwZSgocnApLnJlbHB0cl90eXBlKSkgKChycCkucmVscHRyX29mZiA9PSAwID8g TlVMTCA6IFwKIAkJKGJhc2UpICsgKHJwKS5yZWxwdHJfb2ZmIC0gMSkpCiAjZWxzZQogI2RlZmlu ZSByZWxwdHJfYWNjZXNzKGJhc2UsIHJwKSBcCkBAIC02OCwxMCArNjgsMTAgQEAgcmVscHRyX3N0 b3JlX2V2YWwoY2hhciAqYmFzZSwgY2hhciAqdmFsKQogCX0KIH0KIAotI2lmZGVmIEhBVkVfVFlQ RU9GCisjaWZkZWYgcGdfZXhwcnR5cGUKICNkZWZpbmUgcmVscHRyX3N0b3JlKGJhc2UsIHJwLCB2 YWwpIFwKIAkoQXNzZXJ0VmFyaWFibGVJc09mVHlwZU1hY3JvKGJhc2UsIGNoYXIgKiksIFwKLQkg QXNzZXJ0VmFyaWFibGVJc09mVHlwZU1hY3JvKHZhbCwgdHlwZW9mKChycCkucmVscHRyX3R5cGUp KSwgXAorCSBBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlTWFjcm8odmFsLCBwZ19leHBydHlwZSgocnAp LnJlbHB0cl90eXBlKSksIFwKIAkgKHJwKS5yZWxwdHJfb2ZmID0gcmVscHRyX3N0b3JlX2V2YWwo KGJhc2UpLCAoY2hhciAqKSAodmFsKSkpCiAjZWxzZQogI2RlZmluZSByZWxwdHJfc3RvcmUoYmFz ZSwgcnAsIHZhbCkgXAotLSAKMi41Mi4wCgo= --ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v6-0004-Support-using-StaticAssert-macros-in-C.patch Content-Type: text/x-patch; charset=utf-8; name=v6-0004-Support-using-StaticAssert-macros-in-C.patch RnJvbSA2N2Y1ZjUwNmRkMTNiYWM1ZTU0NzkwZTg2NDUxMWM5ZWIzZjVkODhiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBTYXQsIDE3IEphbiAyMDI2IDE0OjUxOjM2ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 NiA0LzVdIFN1cHBvcnQgdXNpbmcgU3RhdGljQXNzZXJ0IG1hY3JvcyBpbiBDKysKClN0YXRpY0Fz c2VydEV4cHIgZGlkbid0IHdvcmsgaW4gTVNWQyBDKysuIFRoaXMgYWRkcyBhIGRlZGljYXRlZCBD KysKZGVmaW5pdGlvbiB3aGljaCB1c2VzIGFuIGlubGluZSBsYW1kYmRhLCB0aGF0IGNhbGxzIG9u bHkgdGhlIHN0YXRpYwphc3NlcnQuIFNpbmNlIHRoaXMgcmVzdWx0cyBpbiBlbXB0eSBsYW1iZGEs IHRoZSBhY3R1YWwgY2FsbCB3aWxsIGJlCnJlbW92ZWQgYnkgYW55IGNvbXBpbGVyIHRoYXQgZG9l cyBzb21lIG9wdGltaXphdGlvbi4KLS0tCiBzcmMvaW5jbHVkZS9jLmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDggKysrKysrLS0KIHNyYy90ZXN0L21vZHVsZXMv dGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3BwIHwgNSArKysrKwogMiBmaWxl cyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCA2NTE3M2I5ZDlmZC4uMDM3 NjQ1NzFkYzggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2MuaAorKysgYi9zcmMvaW5jbHVkZS9j LmgKQEAgLTk1NiwxMyArOTU2LDE3IEBAIHBnX25vcmV0dXJuIGV4dGVybiB2b2lkIEV4Y2VwdGlv bmFsQ29uZGl0aW9uKGNvbnN0IGNoYXIgKmNvbmRpdGlvbk5hbWUsCiAJc3RhdGljX2Fzc2VydChj b25kaXRpb24sIGVycm1lc3NhZ2UpCiAjZGVmaW5lIFN0YXRpY0Fzc2VydFN0bXQoY29uZGl0aW9u LCBlcnJtZXNzYWdlKSBcCiAJZG8geyBzdGF0aWNfYXNzZXJ0KGNvbmRpdGlvbiwgZXJybWVzc2Fn ZSk7IH0gd2hpbGUoMCkKLSNpZmRlZiBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUworI2lmZGVm IF9fY3BsdXNwbHVzCisvKiBDKysxMSBsYW1iZGFzIHByb3ZpZGUgYSBjb252ZW5pZW50IHdheSB0 byB1c2Ugc3RhdGljX2Fzc2VydCBhcyBhbiBleHByZXNzaW9uICovCisjZGVmaW5lIFN0YXRpY0Fz c2VydEV4cHIoY29uZGl0aW9uLCBlcnJtZXNzYWdlKSBcCisJKCh2b2lkKSAoW10oKXsgc3RhdGlj X2Fzc2VydChjb25kaXRpb24sIGVycm1lc3NhZ2UpOyB9KCksIDApKQorI2VsaWYgZGVmaW5lZChI QVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUykKICNkZWZpbmUgU3RhdGljQXNzZXJ0RXhwcihjb25k aXRpb24sIGVycm1lc3NhZ2UpIFwKIAkoKHZvaWQpICh7IHN0YXRpY19hc3NlcnQoY29uZGl0aW9u LCBlcnJtZXNzYWdlKTsgdHJ1ZTsgfSkpCiAjZWxzZQogI2RlZmluZSBTdGF0aWNBc3NlcnRFeHBy KGNvbmRpdGlvbiwgZXJybWVzc2FnZSkgXAogCSgodm9pZCkgc2l6ZW9mKHN0cnVjdCB7IGludCBz dGF0aWNfYXNzZXJ0X2ZhaWx1cmUgOiAoY29uZGl0aW9uKSA/IDEgOiAtMTsgfSkpCi0jZW5kaWYJ CQkJCQkJLyogSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgKi8KKyNlbmRpZgogCiAKIC8qCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNw bHVzZXh0LmNwcCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1 c3BsdXNleHQuY3BwCmluZGV4IDQ4NzQxZjI3OTQ5Li5iYjljMzEwNTA0ZSAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAK KysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4 dC5jcHAKQEAgLTI0LDYgKzI0LDggQEAgUEdfTU9EVUxFX01BR0lDX0VYVCgidGVzdF9jcGx1c3Bs dXNleHQiLCAiMS4yIik7CiBQR19GVU5DVElPTl9JTkZPX1YxKHRlc3RfY3BsdXNwbHVzX2FkZCk7 CiB9CiAKK1N0YXRpY0Fzc2VydERlY2woc2l6ZW9mKGludDMyKSA9PSA0LCAiaW50MzIgc2hvdWxk IGJlIDQgYnl0ZXMiKTsKKwogLyoKICAqIFNpbXBsZSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhl IHN1bSBvZiB0d28gaW50ZWdlcnMuICBUaGlzIHZlcmlmaWVzIHRoYXQKICAqIEMrKyBleHRlbnNp b24gbW9kdWxlcyBjYW4gYmUgbG9hZGVkIGFuZCBjYWxsZWQgY29ycmVjdGx5IGF0IHJ1bnRpbWUu CkBAIC0zNiw2ICszOCw5IEBAIHRlc3RfY3BsdXNwbHVzX2FkZChQR19GVU5DVElPTl9BUkdTKQog CVJhbmdlVGJsUmVmICpub2RlID0gbWFrZU5vZGUoUmFuZ2VUYmxSZWYpOwogCVJhbmdlVGJsUmVm ICpjb3B5ID0gY29weU9iamVjdChub2RlKTsKIAorCVN0YXRpY0Fzc2VydFN0bXQoc2l6ZW9mKGlu dDMyKSA9PSA0LCAiaW50MzIgc2hvdWxkIGJlIDQgYnl0ZXMiKTsKKwkodm9pZCkgU3RhdGljQXNz ZXJ0RXhwcihzaXplb2YoaW50NjQpID09IDgsICJpbnQ2NCBzaG91bGQgYmUgOCBieXRlcyIpOwor CiAJcGZyZWUoY29weSk7CiAJcGZyZWUobm9kZSk7CiAKLS0gCjIuNTIuMAoK --ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v6-0005-Support-using-list_make-macros-in-C.patch Content-Type: text/x-patch; charset=utf-8; name=v6-0005-Support-using-list_make-macros-in-C.patch RnJvbSBmYjRmMDdiYTNjZTk5OGM1YzIzNThlMjQzNGZlYTY4MjVmZTNlZGJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBTYXQsIDE3IEphbiAyMDI2IDE0OjU1OjI4ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 NiA1LzVdIFN1cHBvcnQgdXNpbmcgbGlzdF9tYWtlIG1hY3JvcyBpbiBDKysKClRoZSBsaXN0X21h a2VfeHh4X2NlbGwgbWFjcm9zIHdlcmUgdXNpbmcgZGVzaWduYXRlZCBpbml0aWFsaXplcnMgYW5k CnRoZXNlIGFyZSBvbmx5IG9mZmljaWFsbHkgYXZhaWxhYmxlIGluIEMrKzIwLiBHQ0MgYW5kIENs YW5nIGFsbG93IHRoZW0KaW4gZWFybGllciBDKysgdmVyc2lvbnMgdG9vLCBidXQgTVNWQyBpcyBz dHJpY3QgYWJvdXQgaXQuIFNpbmNlIHdlIHdhbnQKdG8gc3VwcG9ydCBDKysxMSB0aGlzIGNoYW5n ZXMgdGhlc2UgbWFjcm9zIHRvIHVzZSBpbmxpbmUgZnVuY3Rpb25zCmluc3RlYWQsIHdoaWNoIHdv cmsgYWNyb3NzIGJvdGggQyBhbmQgQysrLgotLS0KIHNyYy9pbmNsdWRlL25vZGVzL3BnX2xpc3Qu aCAgICAgICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysrKysrKystLS0KIC4uLi90ZXN0X2Nw bHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAgICB8IDE0ICsrKysrKwogMiBmaWxlcyBj aGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL25vZGVzL3BnX2xpc3QuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BnX2xpc3QuaApp bmRleCBhZTgwOTc1NTQ4Zi4uYmE0M2QzNmJjODkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25v ZGVzL3BnX2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wZ19saXN0LmgKQEAgLTIwMiwx MiArMjAyLDQ1IEBAIGxpc3RfbGVuZ3RoKGNvbnN0IExpc3QgKmwpCiAjZGVmaW5lIGxsYXN0X25v ZGUodHlwZSxsKQkJY2FzdE5vZGUodHlwZSwgbGxhc3QobCkpCiAKIC8qCi0gKiBDb252ZW5pZW5j ZSBtYWNyb3MgZm9yIGJ1aWxkaW5nIGZpeGVkLWxlbmd0aCBsaXN0cworICogQ29udmVuaWVuY2Ug ZnVuY3Rpb25zIGZvciBidWlsZGluZyBmaXhlZC1sZW5ndGggbGlzdHMuIFRoZXNlIGNhbm5vdCBi ZQorICogbWFjcm9zIHdpdGggZGVzaWduYXRlZCBpbml0aWFsaXplcnMsIGJlY2F1c2Ugd2Ugd2Fu dCB0aGVzZSBmdW5jdGlvbnMgdG8gYmUKKyAqIHVzYWJsZSBmcm9tIEMrKyB2ZXJzaW9ucyBiZWxv dyBDKysyMC4KICAqLwotI2RlZmluZSBsaXN0X21ha2VfcHRyX2NlbGwodikJKChMaXN0Q2VsbCkg ey5wdHJfdmFsdWUgPSAodil9KQotI2RlZmluZSBsaXN0X21ha2VfaW50X2NlbGwodikJKChMaXN0 Q2VsbCkgey5pbnRfdmFsdWUgPSAodil9KQotI2RlZmluZSBsaXN0X21ha2Vfb2lkX2NlbGwodikJ KChMaXN0Q2VsbCkgey5vaWRfdmFsdWUgPSAodil9KQotI2RlZmluZSBsaXN0X21ha2VfeGlkX2Nl bGwodikJKChMaXN0Q2VsbCkgey54aWRfdmFsdWUgPSAodil9KQorc3RhdGljIGlubGluZSBMaXN0 Q2VsbAorbGlzdF9tYWtlX3B0cl9jZWxsKHZvaWQgKnYpCit7CisJTGlzdENlbGwJYzsKKworCWMu cHRyX3ZhbHVlID0gdjsKKwlyZXR1cm4gYzsKK30KKworc3RhdGljIGlubGluZSBMaXN0Q2VsbAor bGlzdF9tYWtlX2ludF9jZWxsKGludCB2KQoreworCUxpc3RDZWxsCWM7CisKKwljLmludF92YWx1 ZSA9IHY7CisJcmV0dXJuIGM7Cit9CisKK3N0YXRpYyBpbmxpbmUgTGlzdENlbGwKK2xpc3RfbWFr ZV9vaWRfY2VsbChPaWQgdikKK3sKKwlMaXN0Q2VsbAljOworCisJYy5vaWRfdmFsdWUgPSB2Owor CXJldHVybiBjOworfQorCitzdGF0aWMgaW5saW5lIExpc3RDZWxsCitsaXN0X21ha2VfeGlkX2Nl bGwoVHJhbnNhY3Rpb25JZCB2KQoreworCUxpc3RDZWxsCWM7CisKKwljLnhpZF92YWx1ZSA9IHY7 CisJcmV0dXJuIGM7Cit9CiAKICNkZWZpbmUgbGlzdF9tYWtlMSh4MSkgXAogCWxpc3RfbWFrZTFf aW1wbChUX0xpc3QsIGxpc3RfbWFrZV9wdHJfY2VsbCh4MSkpCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcCBiL3NyYy90 ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3BwCmluZGV4 IGJiOWMzMTA1MDRlLi4yYmRmMmMzZDA1NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90 ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAKKysrIGIvc3JjL3Rlc3QvbW9k dWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAKQEAgLTE3LDYgKzE3 LDcgQEAKIGV4dGVybiAiQyIgewogI2luY2x1ZGUgInBvc3RncmVzLmgiCiAjaW5jbHVkZSAiZm1n ci5oIgorI2luY2x1ZGUgIm5vZGVzL3BnX2xpc3QuaCIKICNpbmNsdWRlICJub2Rlcy9wYXJzZW5v ZGVzLmgiCiAKIFBHX01PRFVMRV9NQUdJQ19FWFQoInRlc3RfY3BsdXNwbHVzZXh0IiwgIjEuMiIp OwpAQCAtNDEsNiArNDIsMTkgQEAgdGVzdF9jcGx1c3BsdXNfYWRkKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJU3RhdGljQXNzZXJ0U3RtdChzaXplb2YoaW50MzIpID09IDQsICJpbnQzMiBzaG91bGQgYmUg NCBieXRlcyIpOwogCSh2b2lkKSBTdGF0aWNBc3NlcnRFeHByKHNpemVvZihpbnQ2NCkgPT0gOCwg ImludDY0IHNob3VsZCBiZSA4IGJ5dGVzIik7CiAKKwlMaXN0CSAgICpsaXN0ID0gbGlzdF9tYWtl MShub2RlKTsKKworCWZvcmVhY2hfcHRyKFJhbmdlVGJsUmVmLCBydHIsIGxpc3QpCisJeworCQko dm9pZCkgcnRyOworCX0KKworCWZvcmVhY2hfbm9kZShSYW5nZVRibFJlZiwgcnRyLCBsaXN0KQor CXsKKwkJKHZvaWQpIHJ0cjsKKwl9CisKKwlsaXN0X2ZyZWUobGlzdCk7CiAJcGZyZWUoY29weSk7 CiAJcGZyZWUobm9kZSk7CiAKLS0gCjIuNTIuMAoK --ee24a173d827c3e3229cd121466e710f31f367ab517bff8b291b7219da14--