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 1vqqPT-001frN-0W for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Feb 2026 10:28:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqqPS-00Dbri-1E for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Feb 2026 10:28:27 +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 1vqqPR-00Dbra-2O for pgsql-hackers@lists.postgresql.org; Fri, 13 Feb 2026 10:28:26 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vqqPP-00000000Qfb-066H for pgsql-hackers@lists.postgresql.org; Fri, 13 Feb 2026 10:28:25 +0000 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-b8f9568e074so104419166b.0 for ; Fri, 13 Feb 2026 02:28:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1770978501; x=1771583301; darn=lists.postgresql.org; h=in-reply-to:references:to:subject:cc:from:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qjdi/8RDEZj75G+DmRDHcmPAQQPVTWaxw15ZQ3WZlbY=; b=rcvsh+wLRM8e81wZ9qd2oDttP0YZiUueDgCJv8s2JFt76yima8eVaSe318R4exn97T zZiF4jn6nC8SOzBy7DPe28C/1I91zMSWM/eY3lqNCm2EQyKBR0Ilm/CKEeZhNxXcEuJ2 Uge6Rms0hvQfNUTCDgIjMb9nlm2nugzpevvgkAPMRu1Ml9OnGq70qaQIRAfjzf0+e0kt jlbqr1wkds7mrko0voJK/myKxq7nMhRYYdKZfyI3uliyEwbLJInoXge05JdKtd+GH0ot bj4ULn9ZK9ZWuqxW1MD+I6sPUBPwWbl7yykMiCBql1less4v45YV6JpgvKNAxfsCBexH jnFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770978501; x=1771583301; h=in-reply-to:references:to:subject:cc:from:message-id:date :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qjdi/8RDEZj75G+DmRDHcmPAQQPVTWaxw15ZQ3WZlbY=; b=pNrfqpWN5/dLPzy0joE3Bmnak7OBhhutkxepxOy3uIRGpT5D51WLryiB1qtZvaYhEG j/kFnLQpPL5MvQR/P52JxGn1RTyKomV0uxIw2Sj054DEOz9PMm1n6dMesXAGYSHBuL62 9Hd8cl0zquVlLCR8sUm1MDBiWkEMAR1WB8sWWdztlVIovqMTAoqH6l1CvWVs95Ud8Rv+ R017Y5euple7LG5XaNDmQQDThFPx4KpCvK3vhKI2eH0dOi1fyS/m9x63iD9wgfdSestJ 4bYPf54fY8Cd1LYuMAIhwtlydPWZCWai59c9kSAK5ey6MIn7qhDxOqDDKflYkBVU9qQV kp0w== X-Forwarded-Encrypted: i=1; AJvYcCU9TD/hWx7kXNqdQ5mGuqxXc2ok2DXStHfOaG69q9NN/w0PtXdCBRVVlb7cOKfbHZssbDoYcfb8RkYjBVPp@lists.postgresql.org X-Gm-Message-State: AOJu0YxB/8eRmjOSaWYUwW9maBrQ/Kq92Mxoy5otK/FxoYWRLvgbku2e zk6Z519sZBr2uPS1xkfNof42Ns3z2M3N1cXg7leHGCbDYVypblD3V0pVnS8W51tD2Kg= X-Gm-Gg: AZuq6aKYi99rLoW5LIaaOG36bm3bqH3imKz71wconRWyfjHYGzTrwbnE+Fdeyymj6aJ lGY9Xsir0w1JcLwlGMqRy4jQupLFNUw/+I5hrr59dTPu5K7r/EOwtwyEM0pj7rXjN+SDRch9rxh uqQL4tKBLxa2OCe5O8giERrjwkHn928GQ342EXJlGTK41/Bsr/GvbbKJGIkGi9vZWxCQW1wusnK b8VwvFFwxfANtcJ/RF/Qdn5nq2TVIPlBUroMV/Ohr49ynzn1FpTuend6HJDHJt/QqtuWU9+Cb9X OzOy9XFJWS1kGvs15szkPOJ3LhwzKyKQn45SzspDkDPxqsY+6PAffxGZcCsrnmPsrlzewm9ohGa 52UWt2OdjFiJwFxdWJPP6WkkmGDXJrFMoLcA9CzewLdsqeErY3V87zaSR6kvXf4/hf7aIQVFUeb JJvOrZp7GvkgTkxvJuBVfFlBhxPV2xzi1AVx/lCYWwbPvS1xQ= X-Received: by 2002:a17:907:9724:b0:b88:48ba:cd7 with SMTP id a640c23a62f3a-b8fb40f8e30mr78411966b.3.1770978501220; Fri, 13 Feb 2026 02:28:21 -0800 (PST) Received: from localhost (145-53-221-196.fixed.kpn.net. [145.53.221.196]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8f7ff17a44sm213120666b.0.2026.02.13.02.28.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Feb 2026 02:28:20 -0800 (PST) Content-Type: multipart/mixed; boundary=29103d97e44c277ffb627e0ae87ef2c969b688e2a84873188631f1260f62 Mime-Version: 1.0 Date: Fri, 13 Feb 2026 11:28:20 +0100 Message-Id: From: "Jelte Fennema-Nio" Cc: "Peter Eisentraut" , "PostgreSQL Hackers" , "Thomas Munro" Subject: Re: Make copyObject work in C++ To: "Andres Freund" 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> In-Reply-To: <2h2n2gyw2f4ucicbl3drtdkjt2wzf6b2r4wqm7xwks6vpx5j7n@imymv4hkz5jz> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --29103d97e44c277ffb627e0ae87ef2c969b688e2a84873188631f1260f62 Content-Type: multipart/alternative; boundary=bab823163892354998ad3bcf6349f79e3c19e2b88adf4e571333d89eb1b6 --bab823163892354998ad3bcf6349f79e3c19e2b88adf4e571333d89eb1b6 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Sun Jan 25, 2026 at 9:06 PM CET, Andres Freund wrote: > Named args make that easier in two ways: First, only extensions using the > to-be-removed option will fail. Second, removal of options reliably gener= ates > errors, rather than bogusly use one field for another, just because the t= ypes > are compatible. After discussing the topic in-person with Peter at FOSDEM. We agreed that the best road forward was to not bother with MSVC for now. No-one has actually expressed an interest in being able to build C++ extension using MSVC, and the effort to support it is both non-trivial and not without downsides to the rest of the codebase. We can always come back to this later, possibly requiring C++20 on MSVC. So I've removed that patch and now this patchset its goal is to improve compatibiltity with the C++ flavor of GCC and Clang. Patch 1 and 2 add some more macro calls to our test C++ extension. These macros already work in GCC and Clang, this is purely to test for future regressinos. Patch 3 makes copyObject work when using GCC or Clang with -std=3Dc++11 by introducing pg_exprtype. Patch 4 starts using pg_exprtype in more places. I'm also working on some patches to support StaticAssertVariableIsOfType, but I've run into some ICE compiler errors of MSVC 2019. --bab823163892354998ad3bcf6349f79e3c19e2b88adf4e571333d89eb1b6-- --29103d97e44c277ffb627e0ae87ef2c969b688e2a84873188631f1260f62 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v8-0001-Test-List-macros-in-C-extensions.patch Content-Type: text/x-patch; charset=utf-8; name=v8-0001-Test-List-macros-in-C-extensions.patch RnJvbSA4YTViYmJkMGU3M2VkYWZjMzQwYzkzOGVjNmUyMzQzODRkYmU2NzJhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDEzIEZlYiAyMDI2IDA5OjE0OjQ3ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 OCAxLzZdIFRlc3QgTGlzdCBtYWNyb3MgaW4gQysrIGV4dGVuc2lvbnMKCkFsbCBvZiB0aGVzZSBt YWNyb3MgYWxyZWFkeSB3b3JrIGluIEMrKyB3aXRoIENsYW5nIGFuZCBHQ0MgKHRoZSBvbmx5CmNv bXBpbGVycyB3ZSdyZSBjdXJyZW50bHkgdGVzdGluZyBDKysgZXh0ZW5zaW9uIHN1cHBvcnQgZm9y KS4gVGhpcyBhZGRzCmEgcmVncmVzc2lvbiB0ZXN0IGZvciB0aGVtIGluIG91ciB0ZXN0IEMrKyBl eHRlbnNpb24sIHNvIHdlIGNhbiBzYWZlbHkKY2hhbmdlIHRoZWlyIGltcGxlbWVudGF0aW9uIHdp dGhvdXQgYWNjaWRlbnRhbGx5IGJyZWFraW5nIEMrKy4gU29tZSBvZgp0aGUgTGlzdCBtYWNyb3Mg ZGlkbid0IHdvcmsgaW4gQysrIGluIHRoZSBwYXN0IChkNWNhMTVlZTUpLCB0aGlzIHdvdWxkCmhh dmUgY2F1Z2h0IHRoYXQuCi0tLQogLi4uL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVz ZXh0LmNwcCAgICAgfCAxNyArKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE3IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVz ZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3Bs dXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3BwCmluZGV4IDQzNTkzN2MwMGQyLi5mMWEyYWI3ZjJi ZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2Nw bHVzcGx1c2V4dC5jcHAKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90 ZXN0X2NwbHVzcGx1c2V4dC5jcHAKQEAgLTE3LDYgKzE3LDggQEAKIGV4dGVybiAiQyIgewogI2lu Y2x1ZGUgInBvc3RncmVzLmgiCiAjaW5jbHVkZSAiZm1nci5oIgorI2luY2x1ZGUgIm5vZGVzL3Bn X2xpc3QuaCIKKyNpbmNsdWRlICJub2Rlcy9wcmltbm9kZXMuaCIKIAogUEdfTU9EVUxFX01BR0lD OwogCkBAIC0zMiw2ICszNCwyMSBAQCB0ZXN0X2NwbHVzcGx1c19hZGQoUEdfRlVOQ1RJT05fQVJH UykKIHsKIAlpbnQzMgkJYSA9IFBHX0dFVEFSR19JTlQzMigwKTsKIAlpbnQzMgkJYiA9IFBHX0dF VEFSR19JTlQzMigxKTsKKwlSYW5nZVRibFJlZiAqbm9kZSA9IG1ha2VOb2RlKFJhbmdlVGJsUmVm KTsKKwlMaXN0CSAgICpsaXN0ID0gbGlzdF9tYWtlMShub2RlKTsKKworCWZvcmVhY2hfcHRyKFJh bmdlVGJsUmVmLCBydHIsIGxpc3QpCisJeworCQkodm9pZCkgcnRyOworCX0KKworCWZvcmVhY2hf bm9kZShSYW5nZVRibFJlZiwgcnRyLCBsaXN0KQorCXsKKwkJKHZvaWQpIHJ0cjsKKwl9CisKKwls aXN0X2ZyZWUobGlzdCk7CisJcGZyZWUobm9kZSk7CiAKIAlQR19SRVRVUk5fSU5UMzIoYSArIGIp OwogfQoKYmFzZS1jb21taXQ6IGQ3ZWRjZWMzNWM3YzI4ZWRiM2JmMjgzZGZlOWM4OTJiMDQyY2Ex NTgKLS0gCjIuNTIuMAoK --29103d97e44c277ffb627e0ae87ef2c969b688e2a84873188631f1260f62 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v8-0002-Test-most-StaticAssert-macros-in-C-extensions.patch Content-Type: text/x-patch; charset=utf-8; name=v8-0002-Test-most-StaticAssert-macros-in-C-extensions.patch RnJvbSA4ZjlkMmE2M2JjZGYzMGE0NDVjYjI0YzU0NTNmMzRkOGY1NGE0YjI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBTYXQsIDE3IEphbiAyMDI2IDE0OjUxOjM2ICswMTAwClN1YmplY3Q6IFtQQVRDSCB2 OCAyLzZdIFRlc3QgbW9zdCBTdGF0aWNBc3NlcnQgbWFjcm9zIGluIEMrKyBleHRlbnNpb25zCgpN b3N0IG9mIHRoZSBTdGF0aWNBc3NlcnQgbWFjcm9zIGFscmVhZHkgd29ya2VkIGluIEMrKyB3aXRo IENsYW5nIGFuZCBHQ0MKKHRoZSBvbmx5IGNvbXBpbGVycyB3ZSdyZSBjdXJyZW50bHkgdGVzdGlu ZyBDKysgZXh0ZW5zaW9uIHN1cHBvcnQgZm9yKS4KVGhpcyBhZGRzIGEgcmVncmVzc2lvbiB0ZXN0 IGZvciB0aGVtIGluIG91ciB0ZXN0IEMrKyBleHRlbnNpb24sIHNvIHdlCmNhbiBzYWZlbHkgY2hh bmdlIHRoZWlyIGltcGxlbWVudGF0aW9uIHdpdGhvdXQgYWNjaWRlbnRhbGx5IGJyZWFraW5nCkMr Ky4KClRoZSBvbmx5IG1hY3JvcyB0aGF0IFN0YXRpY0Fzc2VydCBtYWNyb3MgdGhhdCBkb24ndCB3 b3JrIHlldCBhcmUgdGhlClN0YXRpY0Fzc2VydFZhcmlhYmxlSXNPZlR5cGUgYW5kIFN0YXRpY0Fz c2VydFZhcmlhYmxlSXNPZlR5cGVNYWNyby4KVGhlc2Ugd2lsbCBiZSBhZGRlZCBpbiBhIGZvbGxv dyBvbiBjb21taXQuCi0tLQogc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0 X2NwbHVzcGx1c2V4dC5jcHAgfCA1ICsrKysrCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2NwbHVzcGx1c2V4dC90ZXN0 X2NwbHVzcGx1c2V4dC5jcHAgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rl c3RfY3BsdXNwbHVzZXh0LmNwcAppbmRleCBmMWEyYWI3ZjJiZi4uOGMyZWFiY2NhNDMgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNl eHQuY3BwCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1 c3BsdXNleHQuY3BwCkBAIC0yNSw2ICsyNSw4IEBAIFBHX01PRFVMRV9NQUdJQzsKIFBHX0ZVTkNU SU9OX0lORk9fVjEodGVzdF9jcGx1c3BsdXNfYWRkKTsKIH0KIAorU3RhdGljQXNzZXJ0RGVjbChz aXplb2YoaW50MzIpID09IDQsICJpbnQzMiBzaG91bGQgYmUgNCBieXRlcyIpOworCiAvKgogICog U2ltcGxlIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgc3VtIG9mIHR3byBpbnRlZ2Vycy4gIFRo aXMgdmVyaWZpZXMgdGhhdAogICogQysrIGV4dGVuc2lvbiBtb2R1bGVzIGNhbiBiZSBsb2FkZWQg YW5kIGNhbGxlZCBjb3JyZWN0bHkgYXQgcnVudGltZS4KQEAgLTQ3LDYgKzQ5LDkgQEAgdGVzdF9j cGx1c3BsdXNfYWRkKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCSh2b2lkKSBydHI7CiAJfQogCisJU3Rh dGljQXNzZXJ0U3RtdChzaXplb2YoaW50MzIpID09IDQsICJpbnQzMiBzaG91bGQgYmUgNCBieXRl cyIpOworCSh2b2lkKSBTdGF0aWNBc3NlcnRFeHByKHNpemVvZihpbnQ2NCkgPT0gOCwgImludDY0 IHNob3VsZCBiZSA4IGJ5dGVzIik7CisKIAlsaXN0X2ZyZWUobGlzdCk7CiAJcGZyZWUobm9kZSk7 CiAKLS0gCjIuNTIuMAoK --29103d97e44c277ffb627e0ae87ef2c969b688e2a84873188631f1260f62 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v8-0003-Support-using-copyObject-in-C.patch Content-Type: text/x-patch; charset=utf-8; name=v8-0003-Support-using-copyObject-in-C.patch RnJvbSBjYjU3YjQwM2VlNzgxOWY3NTEyYTVlNWVkY2Q0Y2UxY2I4NzZlZTQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDUgRGVjIDIwMjUgMTU6Mzc6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIIHY4 IDMvNl0gU3VwcG9ydCB1c2luZyBjb3B5T2JqZWN0IGluIEMrKwoKQ2FsbGluZyBjb3B5T2JqZWN0 IGluIEMrKyB3aXRob3V0IEdOVSBleHRlbnNpb25zIChlLmcuIHRoZW4gdXNpbmcKLXN0ZD1jKysx MSBpbnN0ZWFkIG9mIC1zdGQ9Z251KysxMSkgZmFpbHMgd2l0aCBhbiBlcnJvciBsaWtlIHRoaXM6 CgplcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHlwZW9mJzsgZGlkIHlvdSBt ZWFuICd0eXBlaWQnCgpUaGlzIGlzIGR1ZSB0byB0aGUgQyBjb21waWxlciBzdXBwb3J0aW5nIHVz ZWQgdG8gY29tcGlsZSBwb3N0Z3JlcwpzdXBwb3J0aW5nIHR5cGVvZiwgYnV0IHRoYXQgZnVuY3Rp b24gYWN0dWFsbHkgbm90IGJlaW5nIHByZXNlbnQgaW4gdGhlCkMrKyBjb21waWxlci4gVGhpcyBm aXhlcyB0aGF0IGJ5IGRlZmluaW5nIHBnX2V4cHJ0eXBlIHdoaWNoIG1hcHMgdG8KdHlwZW9mIG9y IGRlY2x0eXBlIGRlcGVuZGluZyBvbiB3aGV0aGVyIGl0J3MgYSBDIG9yIEMrKyBjb21waWxlci4g V2hpbGUKcGdfdHlwZW9mIHdvdWxkIGhhdmUgYmVlbiBhIG1vcmUgbmF0dXJhbCBuYW1lLCB0aGF0 IG5hbWUgaXMgYWxyZWFkeQp0YWtlbiBpbiBvdXIgY29kZWJhc2UgYXMgdGhlIGltcGxlbWVudGF0 aW9uIG9mIHRoZSBwZ190eXBlb2YgVURGLgotLS0KIHNyYy9pbmNsdWRlL2MuaCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKysrKysrKysKIHNyYy9pbmNsdWRl L25vZGVzL25vZGVzLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIC4uLi9t b2R1bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcCB8ICAyICsrCiAz IGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvYy5oIGIvc3JjL2luY2x1ZGUvYy5oCmluZGV4IDNmYzA5ZWMxZTRh Li45ZjQxOGU0MzJlYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNs dWRlL2MuaApAQCAtNDEyLDYgKzQxMiwxOSBAQAogI2RlZmluZSB1bmxpa2VseSh4KSAoKHgpICE9 IDApCiAjZW5kaWYKIAorLyoKKyAqIHBnX2V4cHJ0eXBlCisgKgkJR2V0IHRoZSB0eXBlIG9mIGFu IGV4cHJlc3Npb24gYXQgY29tcGlsZSB0aW1lLgorICoKKyAqIEluIEMrKyB3ZSB1c2UgZGVjbHR5 cGUgc2luY2UgdHlwZW9mIGlzIG5vdCBzdGFuZGFyZCBDKyssIHdoaWxlIGluIEMgd2UgdXNlCisg KiB0eXBlb2Ygd2hlbiBhdmFpbGFibGUuCisgKi8KKyNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQor I2RlZmluZSBwZ19leHBydHlwZSh4KSBkZWNsdHlwZSh4KQorI2VsaWYgZGVmaW5lZChIQVZFX1RZ UEVPRikKKyNkZWZpbmUgcGdfZXhwcnR5cGUoeCkgdHlwZW9mKHgpCisjZW5kaWYKKwogLyoKICAq IENwcEFzU3RyaW5nCiAgKgkJQ29udmVydCB0aGUgYXJndW1lbnQgdG8gYSBzdHJpbmcsIHVzaW5n IHRoZSBDIHByZXByb2Nlc3Nvci4KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL25vZGVz LmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9ub2Rlcy5oCmluZGV4IDU5YTdkZjMxYWJhLi5hMDNjODVm MWIwMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvbm9kZXMuaAorKysgYi9zcmMvaW5j bHVkZS9ub2Rlcy9ub2Rlcy5oCkBAIC0yMjYsOCArMjI2LDggQEAgZXh0ZXJuIGludDE2ICpyZWFk QXR0ck51bWJlckNvbHMoaW50IG51bUNvbHMpOwogZXh0ZXJuIHZvaWQgKmNvcHlPYmplY3RJbXBs KGNvbnN0IHZvaWQgKmZyb20pOwogCiAvKiBjYXN0IHJlc3VsdCBiYWNrIHRvIGFyZ3VtZW50IHR5 cGUsIGlmIHN1cHBvcnRlZCBieSBjb21waWxlciAqLwotI2lmZGVmIEhBVkVfVFlQRU9GCi0jZGVm aW5lIGNvcHlPYmplY3Qob2JqKSAoKHR5cGVvZihvYmopKSBjb3B5T2JqZWN0SW1wbChvYmopKQor I2lmZGVmIHBnX2V4cHJ0eXBlCisjZGVmaW5lIGNvcHlPYmplY3Qob2JqKSAoKHBnX2V4cHJ0eXBl KG9iaikpIGNvcHlPYmplY3RJbXBsKG9iaikpCiAjZWxzZQogI2RlZmluZSBjb3B5T2JqZWN0KG9i aikgY29weU9iamVjdEltcGwob2JqKQogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1 bGVzL3Rlc3RfY3BsdXNwbHVzZXh0L3Rlc3RfY3BsdXNwbHVzZXh0LmNwcCBiL3NyYy90ZXN0L21v ZHVsZXMvdGVzdF9jcGx1c3BsdXNleHQvdGVzdF9jcGx1c3BsdXNleHQuY3BwCmluZGV4IDhjMmVh YmNjYTQzLi41ZTZjOGY4NWY2ZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Nw bHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90 ZXN0X2NwbHVzcGx1c2V4dC90ZXN0X2NwbHVzcGx1c2V4dC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAg dGVzdF9jcGx1c3BsdXNfYWRkKFBHX0ZVTkNUSU9OX0FSR1MpCiAJaW50MzIJCWEgPSBQR19HRVRB UkdfSU5UMzIoMCk7CiAJaW50MzIJCWIgPSBQR19HRVRBUkdfSU5UMzIoMSk7CiAJUmFuZ2VUYmxS ZWYgKm5vZGUgPSBtYWtlTm9kZShSYW5nZVRibFJlZik7CisJUmFuZ2VUYmxSZWYgKmNvcHkgPSBj b3B5T2JqZWN0KG5vZGUpOwogCUxpc3QJICAgKmxpc3QgPSBsaXN0X21ha2UxKG5vZGUpOwogCiAJ Zm9yZWFjaF9wdHIoUmFuZ2VUYmxSZWYsIHJ0ciwgbGlzdCkKQEAgLTU0LDYgKzU1LDcgQEAgdGVz dF9jcGx1c3BsdXNfYWRkKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlsaXN0X2ZyZWUobGlzdCk7CiAJ cGZyZWUobm9kZSk7CisJcGZyZWUoY29weSk7CiAKIAlQR19SRVRVUk5fSU5UMzIoYSArIGIpOwog fQotLSAKMi41Mi4wCgo= --29103d97e44c277ffb627e0ae87ef2c969b688e2a84873188631f1260f62 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v8-0004-Use-pg_exprtype-instead-of-typeof.patch Content-Type: text/x-patch; charset=utf-8; name=v8-0004-Use-pg_exprtype-instead-of-typeof.patch RnJvbSBkMjk4NmE5MDU0OGY1ZGNlN2ZiZDZkMGUwOWQ3ZDg4MWYxNWUzZTUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBNb24sIDggRGVjIDIwMjUgMDg6MTM6NTEgKzAxMDAKU3ViamVjdDogW1BBVENIIHY4 IDQvNl0gVXNlIHBnX2V4cHJ0eXBlIGluc3RlYWQgb2YgdHlwZW9mCgpUaGUgcHJldmlvdXMgY29t bWl0IGludHJvZHVjZWQgcGdfZXhwcnR5cGUuIFRoaXMgc3RhcnRzIHVzaW5nIHRoYXQgaW4gYQpm ZXcgbW9yZSBwbGFjZXMuCi0tLQogc3JjL2luY2x1ZGUvYy5oICAgICAgICAgICAgfCA4ICsrKyst LS0tCiBzcmMvaW5jbHVkZS91dGlscy9yZWxwdHIuaCB8IDggKysrKy0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCA5ZjQxOGU0MzJlYS4uYjQ0OGE0YTg3 NzUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2MuaAorKysgYi9zcmMvaW5jbHVkZS9jLmgKQEAg LTk3OCwxMCArOTc4LDEwIEBAIHBnX25vcmV0dXJuIGV4dGVybiB2b2lkIEV4Y2VwdGlvbmFsQ29u ZGl0aW9uKGNvbnN0IGNoYXIgKmNvbmRpdGlvbk5hbWUsCiAgKi8KICNpZmRlZiBIQVZFX19CVUlM VElOX1RZUEVTX0NPTVBBVElCTEVfUAogI2RlZmluZSBTdGF0aWNBc3NlcnRWYXJpYWJsZUlzT2ZU eXBlKHZhcm5hbWUsIHR5cGVuYW1lKSBcCi0JU3RhdGljQXNzZXJ0RGVjbChfX2J1aWx0aW5fdHlw ZXNfY29tcGF0aWJsZV9wKF9fdHlwZW9mX18odmFybmFtZSksIHR5cGVuYW1lKSwgXAorCVN0YXRp Y0Fzc2VydERlY2woX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChwZ19leHBydHlwZSh2YXJu YW1lKSwgdHlwZW5hbWUpLCBcCiAJQ3BwQXNTdHJpbmcodmFybmFtZSkgIiBkb2VzIG5vdCBoYXZl IHR5cGUgIiBDcHBBc1N0cmluZyh0eXBlbmFtZSkpCiAjZGVmaW5lIFN0YXRpY0Fzc2VydFZhcmlh YmxlSXNPZlR5cGVNYWNybyh2YXJuYW1lLCB0eXBlbmFtZSkgXAotCShTdGF0aWNBc3NlcnRFeHBy KF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AoX190eXBlb2ZfXyh2YXJuYW1lKSwgdHlwZW5h bWUpLCBcCisJKFN0YXRpY0Fzc2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChw Z19leHBydHlwZSh2YXJuYW1lKSwgdHlwZW5hbWUpLCBcCiAJIENwcEFzU3RyaW5nKHZhcm5hbWUp ICIgZG9lcyBub3QgaGF2ZSB0eXBlICIgQ3BwQXNTdHJpbmcodHlwZW5hbWUpKSkKICNlbHNlCQkJ CQkJCS8qICFIQVZFX19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAqLwogI2RlZmluZSBTdGF0 aWNBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlKHZhcm5hbWUsIHR5cGVuYW1lKSBcCkBAIC0xMjQ1LDEx ICsxMjQ1LDExIEBAIHR5cGVkZWYgc3RydWN0IFBHQWxpZ25lZFhMb2dCbG9jayBQR0FsaWduZWRY TG9nQmxvY2s7CiAjZGVmaW5lIHVudm9sYXRpemUodW5kZXJseWluZ190eXBlLCBleHByKSBjb25z dF9jYXN0PHVuZGVybHlpbmdfdHlwZT4oZXhwcikKICNlbGlmIGRlZmluZWQoSEFWRV9fQlVJTFRJ Tl9UWVBFU19DT01QQVRJQkxFX1ApCiAjZGVmaW5lIHVuY29uc3RpZnkodW5kZXJseWluZ190eXBl LCBleHByKSBcCi0JKFN0YXRpY0Fzc2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVf cChfX3R5cGVvZihleHByKSwgY29uc3QgdW5kZXJseWluZ190eXBlKSwgXAorCShTdGF0aWNBc3Nl cnRFeHByKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AocGdfZXhwcnR5cGUoZXhwciksIGNv bnN0IHVuZGVybHlpbmdfdHlwZSksIFwKIAkJCQkJICAid3JvbmcgY2FzdCIpLCBcCiAJICh1bmRl cmx5aW5nX3R5cGUpIChleHByKSkKICNkZWZpbmUgdW52b2xhdGl6ZSh1bmRlcmx5aW5nX3R5cGUs IGV4cHIpIFwKLQkoU3RhdGljQXNzZXJ0RXhwcihfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9w KF9fdHlwZW9mKGV4cHIpLCB2b2xhdGlsZSB1bmRlcmx5aW5nX3R5cGUpLCBcCisJKFN0YXRpY0Fz c2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChwZ19leHBydHlwZShleHByKSwg dm9sYXRpbGUgdW5kZXJseWluZ190eXBlKSwgXAogCQkJCQkgICJ3cm9uZyBjYXN0IiksIFwKIAkg KHVuZGVybHlpbmdfdHlwZSkgKGV4cHIpKQogI2Vsc2UKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L3V0aWxzL3JlbHB0ci5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvcmVscHRyLmgKaW5kZXggOTQ5NzVm MmYyMzcuLjJkZjZjNjczMDE3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9yZWxwdHIu aAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9yZWxwdHIuaApAQCAtMzgsMTAgKzM4LDEwIEBACiAj ZGVmaW5lIHJlbHB0cl9kZWNsYXJlKHR5cGUsIHJlbHB0cnR5cGUpIFwKIAl0eXBlZGVmIHJlbHB0 cih0eXBlKSByZWxwdHJ0eXBlCiAKLSNpZmRlZiBIQVZFX1RZUEVPRgorI2lmZGVmIHBnX2V4cHJ0 eXBlCiAjZGVmaW5lIHJlbHB0cl9hY2Nlc3MoYmFzZSwgcnApIFwKIAkoU3RhdGljQXNzZXJ0VmFy aWFibGVJc09mVHlwZU1hY3JvKGJhc2UsIGNoYXIgKiksIFwKLQkgKHR5cGVvZigocnApLnJlbHB0 cl90eXBlKSkgKChycCkucmVscHRyX29mZiA9PSAwID8gTlVMTCA6IFwKKwkgKHBnX2V4cHJ0eXBl KChycCkucmVscHRyX3R5cGUpKSAoKHJwKS5yZWxwdHJfb2ZmID09IDAgPyBOVUxMIDogXAogCQko YmFzZSkgKyAocnApLnJlbHB0cl9vZmYgLSAxKSkKICNlbHNlCiAjZGVmaW5lIHJlbHB0cl9hY2Nl c3MoYmFzZSwgcnApIFwKQEAgLTY4LDEwICs2OCwxMCBAQCByZWxwdHJfc3RvcmVfZXZhbChjaGFy ICpiYXNlLCBjaGFyICp2YWwpCiAJfQogfQogCi0jaWZkZWYgSEFWRV9UWVBFT0YKKyNpZmRlZiBw Z19leHBydHlwZQogI2RlZmluZSByZWxwdHJfc3RvcmUoYmFzZSwgcnAsIHZhbCkgXAogCShTdGF0 aWNBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlTWFjcm8oYmFzZSwgY2hhciAqKSwgXAotCSBTdGF0aWNB c3NlcnRWYXJpYWJsZUlzT2ZUeXBlTWFjcm8odmFsLCB0eXBlb2YoKHJwKS5yZWxwdHJfdHlwZSkp LCBcCisJIFN0YXRpY0Fzc2VydFZhcmlhYmxlSXNPZlR5cGVNYWNybyh2YWwsIHBnX2V4cHJ0eXBl KChycCkucmVscHRyX3R5cGUpKSwgXAogCSAocnApLnJlbHB0cl9vZmYgPSByZWxwdHJfc3RvcmVf ZXZhbCgoYmFzZSksIChjaGFyICopICh2YWwpKSkKICNlbHNlCiAjZGVmaW5lIHJlbHB0cl9zdG9y ZShiYXNlLCBycCwgdmFsKSBcCi0tIAoyLjUyLjAKCg== --29103d97e44c277ffb627e0ae87ef2c969b688e2a84873188631f1260f62--