diff --git a/config/c-library.m4 b/config/c-library.m4
new file mode 100644
index 9c2207b..34b2508
*** a/config/c-library.m4
--- b/config/c-library.m4
*************** AC_DEFUN([PGAC_STRUCT_ADDRINFO],
*** 177,183 ****
  # handle ll, q, and I64.  The result is in shell variable
  # LONG_LONG_INT_MODIFIER.
  #
! # MinGW uses '%I64d', though gcc throws an warning with -Wall,
  # while '%lld' doesn't generate a warning, but doesn't work.
  #
  AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_MODIFIER],
--- 177,183 ----
  # handle ll, q, and I64.  The result is in shell variable
  # LONG_LONG_INT_MODIFIER.
  #
! # MinGW uses '%I64d', though gcc throws a warning with -Wall,
  # while '%lld' doesn't generate a warning, but doesn't work.
  #
  AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_MODIFIER],
diff --git a/src/backend/access/gin/ginvacuum.c b/src/backend/access/gin/ginvacuum.c
new file mode 100644
index 398532d..630d6a7
*** a/src/backend/access/gin/ginvacuum.c
--- b/src/backend/access/gin/ginvacuum.c
*************** ginVacuumPostingTreeLeaves(GinVacuumStat
*** 381,387 ****
  
  		/*
  		 * All subtree is empty - just return true to indicate that parent
! 		 * must do a cleanup. Unless we are ROOT an there is way to go upper.
  		 */
  
  		if (hasEmptyChild && !hasNonEmptyChild && !isRoot)
--- 381,387 ----
  
  		/*
  		 * All subtree is empty - just return true to indicate that parent
! 		 * must do a cleanup, unless we are ROOT and there is way to go upper.
  		 */
  
  		if (hasEmptyChild && !hasNonEmptyChild && !isRoot)
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
new file mode 100644
index 8300057..0ace196
*** a/src/backend/catalog/aclchk.c
--- b/src/backend/catalog/aclchk.c
*************** pg_extension_ownercheck(Oid ext_oid, Oid
*** 5280,5286 ****
  }
  
  /*
!  * Ownership check for an publication (specified by OID).
   */
  bool
  pg_publication_ownercheck(Oid pub_oid, Oid roleid)
--- 5280,5286 ----
  }
  
  /*
!  * Ownership check for a publication (specified by OID).
   */
  bool
  pg_publication_ownercheck(Oid pub_oid, Oid roleid)
diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
new file mode 100644
index 639b699..0f844c0
*** a/src/backend/commands/cluster.c
--- b/src/backend/commands/cluster.c
*************** finish_heap_swap(Oid OIDOldHeap, Oid OID
*** 1539,1545 ****
  						frozenXid, cutoffMulti, mapped_tables);
  
  	/*
! 	 * If it's a system catalog, queue an sinval message to flush all
  	 * catcaches on the catalog when we reach CommandCounterIncrement.
  	 */
  	if (is_system_catalog)
--- 1539,1545 ----
  						frozenXid, cutoffMulti, mapped_tables);
  
  	/*
! 	 * If it's a system catalog, queue a sinval message to flush all
  	 * catcaches on the catalog when we reach CommandCounterIncrement.
  	 */
  	if (is_system_catalog)
diff --git a/src/backend/executor/instrument.c b/src/backend/executor/instrument.c
new file mode 100644
index a2d9381..86252ce
*** a/src/backend/executor/instrument.c
--- b/src/backend/executor/instrument.c
*************** InstrAlloc(int n, int instrument_options
*** 49,55 ****
  	return instr;
  }
  
! /* Initialize an pre-allocated instrumentation structure. */
  void
  InstrInit(Instrumentation *instr, int instrument_options)
  {
--- 49,55 ----
  	return instr;
  }
  
! /* Initialize a pre-allocated instrumentation structure. */
  void
  InstrInit(Instrumentation *instr, int instrument_options)
  {
diff --git a/src/backend/libpq/pqformat.c b/src/backend/libpq/pqformat.c
new file mode 100644
index 30145b9..1c7e990
*** a/src/backend/libpq/pqformat.c
--- b/src/backend/libpq/pqformat.c
*************** pq_beginmessage(StringInfo buf, char msg
*** 100,106 ****
  
   *		pq_beginmessage_reuse - initialize for sending a message, reuse buffer
   *
!  * This requires the buffer to be allocated in an sufficiently long-lived
   * memory context.
   * --------------------------------
   */
--- 100,106 ----
  
   *		pq_beginmessage_reuse - initialize for sending a message, reuse buffer
   *
!  * This requires the buffer to be allocated in a sufficiently long-lived
   * memory context.
   * --------------------------------
   */
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
new file mode 100644
index fd4586e..d02d4ec
*** a/src/backend/nodes/readfuncs.c
--- b/src/backend/nodes/readfuncs.c
***************
*** 77,83 ****
  	token = pg_strtok(&length);		/* get field value */ \
  	local_node->fldname = pg_strtouint64(token, NULL, 10)
  
! /* Read an long integer field (anything written as ":fldname %ld") */
  #define READ_LONG_FIELD(fldname) \
  	token = pg_strtok(&length);		/* skip :fldname */ \
  	token = pg_strtok(&length);		/* get field value */ \
--- 77,83 ----
  	token = pg_strtok(&length);		/* get field value */ \
  	local_node->fldname = pg_strtouint64(token, NULL, 10)
  
! /* Read a long integer field (anything written as ":fldname %ld") */
  #define READ_LONG_FIELD(fldname) \
  	token = pg_strtok(&length);		/* skip :fldname */ \
  	token = pg_strtok(&length);		/* get field value */ \
diff --git a/src/backend/utils/adt/nabstime.c b/src/backend/utils/adt/nabstime.c
new file mode 100644
index ec85795..fae9713
*** a/src/backend/utils/adt/nabstime.c
--- b/src/backend/utils/adt/nabstime.c
*************** reltime2tm(RelativeTime time, struct pg_
*** 694,700 ****
  
  
  /*
!  *		tintervalin		- converts an tinterval string to internal format
   */
  Datum
  tintervalin(PG_FUNCTION_ARGS)
--- 694,700 ----
  
  
  /*
!  *		tintervalin		- converts a tinterval string to internal format
   */
  Datum
  tintervalin(PG_FUNCTION_ARGS)
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
new file mode 100644
index 48f92dc..69a2114
*** a/src/backend/utils/cache/relcache.c
--- b/src/backend/utils/cache/relcache.c
*************** RelationDestroyRelation(Relation relatio
*** 2420,2426 ****
   *	 NB: when rebuilding, we'd better hold some lock on the relation,
   *	 else the catalog data we need to read could be changing under us.
   *	 Also, a rel to be rebuilt had better have refcnt > 0.  This is because
!  *	 an sinval reset could happen while we're accessing the catalogs, and
   *	 the rel would get blown away underneath us by RelationCacheInvalidate
   *	 if it has zero refcnt.
   *
--- 2420,2426 ----
   *	 NB: when rebuilding, we'd better hold some lock on the relation,
   *	 else the catalog data we need to read could be changing under us.
   *	 Also, a rel to be rebuilt had better have refcnt > 0.  This is because
!  *	 a sinval reset could happen while we're accessing the catalogs, and
   *	 the rel would get blown away underneath us by RelationCacheInvalidate
   *	 if it has zero refcnt.
   *
diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl
new file mode 100644
index 0929418..be08b20
*** a/src/bin/pgbench/t/001_pgbench_with_server.pl
--- b/src/bin/pgbench/t/001_pgbench_with_server.pl
*************** SELECT LEAST(:i, :i, :i, :i, :i, :i, :i,
*** 583,589 ****
  		0,
  		[ qr{cannot coerce boolean to int} ],
  		q{\set i TRUE + 2} ],
! 	[ 'set not an double',
  		0,
  		[ qr{cannot coerce boolean to double} ],
  		q{\set d ln(TRUE)} ],
--- 583,589 ----
  		0,
  		[ qr{cannot coerce boolean to int} ],
  		q{\set i TRUE + 2} ],
! 	[ 'set not a double',
  		0,
  		[ qr{cannot coerce boolean to double} ],
  		q{\set d ln(TRUE)} ],
