]> granicus.if.org Git - postgresql/commitdiff
Don't expose the inline definition of MemoryContextSwitchTo when FRONTEND is
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 13 Feb 2010 20:46:52 +0000 (20:46 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 13 Feb 2010 20:46:52 +0000 (20:46 +0000)
defined.  Its reference to CurrentMemoryContext causes link failures on some
platforms, evidently because the inline function gets compiled despite lack of
use.  Per buildfarm member warthog.

src/include/utils/palloc.h

index af59c3ce54df3ea7ece49c1de259a1a73f16d738..304a5a84a53450293e6472e9876fd4c7990ea98d 100644 (file)
@@ -21,7 +21,7 @@
  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/utils/palloc.h,v 1.43 2010/02/13 02:34:16 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/utils/palloc.h,v 1.44 2010/02/13 20:46:52 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -73,8 +73,12 @@ extern void *repalloc(void *pointer, Size size);
 /*
  * MemoryContextSwitchTo can't be a macro in standard C compilers.
  * But we can make it an inline function if the compiler supports it.
+ *
+ * This file has to be includable by some non-backend code such as
+ * pg_resetxlog, so don't expose the CurrentMemoryContext reference
+ * if FRONTEND is defined.
  */
-#ifdef USE_INLINE
+#if defined(USE_INLINE) && !defined(FRONTEND)
 
 static inline MemoryContext
 MemoryContextSwitchTo(MemoryContext context)
@@ -87,7 +91,7 @@ MemoryContextSwitchTo(MemoryContext context)
 #else
 
 extern MemoryContext MemoryContextSwitchTo(MemoryContext context);
-#endif   /* USE_INLINE */
+#endif   /* USE_INLINE && !FRONTEND */
 
 /*
  * These are like standard strdup() except the copied string is