From a977db6f1c3f399e5eaeb2514c72f38bdb8319e8 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 27 Dec 2010 11:36:52 -0500
Subject: [PATCH] Tweak cpluspluscheck to avoid directly #include'ing gram.h.

gram.h has ordering dependencies, which are satisfied when it's included
from gramparse.h, but might not be if it's pulled in directly.
---
 src/tools/pginclude/cpluspluscheck | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/tools/pginclude/cpluspluscheck b/src/tools/pginclude/cpluspluscheck
index f266fea24b0..b4ec64e2539 100644
--- a/src/tools/pginclude/cpluspluscheck
+++ b/src/tools/pginclude/cpluspluscheck
@@ -15,12 +15,14 @@ tmp=`mktemp -d /tmp/$me.XXXXXX`
 echo ' extern "C" {'
 echo '#include "postgres.h"'
 
-# Omit port/, because it's platform specific, and c.h includes it anyway. Omit
-# regex/ and snowball/, because those files came from elsewhere, and they would
-# need extra work if someone cared to fix them.  kwlist.h is not meant to be
-# included directly.  rusagestub.h will be included by ./utils/pg_rusage.h if
-# necessary.
-for file in `find . \( -name port -prune -o -name regex -prune -o -name snowball -prune \) -o -name '*.h' -not -name kwlist.h -not -name rusagestub.h -print`; do
+# Omit port/, because it's platform specific, and c.h includes the relevant
+# file anyway.
+# Omit regex/ and snowball/, because those files came from elsewhere, and
+# they would need extra work if someone cared to fix them.
+# gram.h will be included by ./parser/gramparse.h.
+# kwlist.h is not meant to be included without having defined PG_KEYWORD.
+# rusagestub.h will be included by ./utils/pg_rusage.h if necessary.
+for file in `find . \( -name port -prune -o -name regex -prune -o -name snowball -prune \) -o -name '*.h' -not -name gram.h -not -name kwlist.h -not -name rusagestub.h -print`; do
 	f=`echo $file | sed 's,^\./,,'`
 	echo "#include \"$f\""
 done
-- 
GitLab