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 1w77q3-004zB6-0G for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 08:19:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w77q1-002C3h-1u for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Mar 2026 08:19:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w77q0-002C3V-26 for pgsql-hackers@lists.postgresql.org; Mon, 30 Mar 2026 08:19:09 +0000 Received: from fhigh-b4-smtp.messagingengine.com ([202.12.124.155]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w77px-00000001xh3-1Dkp for pgsql-hackers@postgresql.org; Mon, 30 Mar 2026 08:19:08 +0000 Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id AD6157A0352 for ; Mon, 30 Mar 2026 04:19:03 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Mon, 30 Mar 2026 04:19:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1774858743; x=1774945143; bh=u6WjEbGVRay6PixONJ8NH+ehIOqp4toaM/BTTro1bPc=; b= EpjAa1hF21jV02a4kYf/wrWYPAoV4SP6WQoTaayicQGOjkDgs71S7o4wxvV06s98 Z569fwvG6y2TkcBQLmr/OA/ig1e5oLnSYTEARyL9u4Eifang/IMuArHYWnVfh2Fs v93LMDrl7q4a4ZAQGWd/zpSzJoq41xWwchxTETTgOQNa6iwwja1j2tJGZ5KWFRft GiNKUekPo4gcBOp8d6LsspwxkzuH5zW1icUo5GKkTRtTN4Izx6elcR/xniOTQ22h K5xtnTv9WjT+WFtnldMMA1Z2iKfDrAPhXrMje6ALJCes+lwqsOzrvwnO+RZ4aLVy zHddJsJvNBwGZOFVEJ4YdQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1774858743; x=1774945143; bh=u 6WjEbGVRay6PixONJ8NH+ehIOqp4toaM/BTTro1bPc=; b=RaVFNXIHYzGSF+mBi tJfkNnVGFtRInalIzXXrmy7H16ZZuDJlgkH2lZA7v9ZYq+uuN5QZtJ0zqTbe0u3M WOJjQ/FNzOPI2rUrTFpmvmjjIlVh74fNXYASFCutj14Kvc5tPIYL2WGR44ebks+H KBunnU0nz2kshR1NNl7k7ITK/794lO3xlLlLXCDl/xW25hwipVIdLjeyqHWB06Vo 5qskTA73A2Df0NcJR/pQ/XPwS3WCaU7S0tHUCL+VrIxB/R+I/FTDuxZCE09gsBL5 Ig38tVcrCfiOxmsVlNR9iJX0WLX2SlU/XT/6tzMPU+7iL7mT1c23ggz0GH7dXYPf EfJ6Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdeffeekgeekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefkffggfgfuhffvfhgjtgfgsehtkeertd dtvdejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrsegv ihhsvghnthhrrghuthdrohhrgheqnecuggftrfgrthhtvghrnhepledttdfftdevudelud effeetgfehgeeuieeuhfeikeefledvteeutdduffduudetnecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhesvghishgvnhhtrhgruh htrdhorhhgpdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphht thhopehpghhsqhhlqdhhrggtkhgvrhhssehpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 30 Mar 2026 04:19:02 -0400 (EDT) Message-ID: <9c73b586-296f-4909-af95-9c27c1c251ea@eisentraut.org> Date: Mon, 30 Mar 2026 10:19:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: headerscheck: Avoid mutual inclusion of pg_config.h and c.h From: Peter Eisentraut To: pgsql-hackers References: <579116be-5016-4dbc-aed0-c06f8d9f5bbb@eisentraut.org> Content-Language: en-US In-Reply-To: <579116be-5016-4dbc-aed0-c06f8d9f5bbb@eisentraut.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 23.03.26 09:50, Peter Eisentraut wrote: > Headers that c.h includes early should not have another header included > before them in the headerscheck test file, especially not c.h. > > A particular instance of a problem is that pg_config.h defines some > symbols that c.h later undefines in some cases, such as in the code > added by commit cd083b54bd67, but there were also some before that. This > only works correctly if pg_config.h is included first. > > This problem can currently be observed on CI. > > pg_config_manual.h and pg_config_os.h are closely related to pg_config.h > and should be treated the same way. > > postgres_ext.h is meant to be usable standalone, so testing it with c.h > included first defeats the point. > > c.h also includes port.h, but this patch leaves that alone, since port.h > does need some of c.h to be processed first.  (But because of header > guards, testing port.h separately is probably ineffective.) This has been committed.