build: avoid link failure in devmsg() on older linkers
authorPádraig Brady <P@draigBrady.com>
Thu, 14 Feb 2013 02:32:22 +0000 (02:32 +0000)
committerPádraig Brady <P@draigBrady.com>
Thu, 14 Feb 2013 03:24:46 +0000 (03:24 +0000)
On linkers that don't remove unused functions,
there will be a reference to a missing dev_debug symbol
in the devmsg() function.  So for now ...

* src/system.h: ... move devmsg() from here ...
* src/numfmt.c: ... to here, and document future cleanup.
* src/factor.c: Likewise.

src/factor.c
src/numfmt.c
src/system.h

index df3d7a0..8f1542a 100644 (file)
@@ -687,7 +687,23 @@ verify (W <= WIDE_UINT_BITS);
 
 /* debugging for developers.  Enables devmsg().
    This flag is used only in the GMP code.  */
-bool dev_debug = false;
+static bool dev_debug = false;
+
+/* Like error(0, 0, ...), but without an implicit newline.
+   Also a noop unless the global DEV_DEBUG is set.
+   TODO: Replace with variadic macro in system.h or
+   move to a separate module.  */
+static inline void
+devmsg (char const *fmt, ...)
+{
+  if (dev_debug)
+    {
+      va_list ap;
+      va_start (ap, fmt);
+      vfprintf (stderr, fmt, ap);
+      va_end (ap);
+    }
+}
 
 /* Prove primality or run probabilistic tests.  */
 static bool flag_prove_primality = true;
index 9a321d6..8c21c2b 100644 (file)
@@ -190,13 +190,28 @@ static uintmax_t header = 0;
    error (similar to sort's debug).  */
 static bool debug;
 
-/* debugging for developers.  Enables devmsg().  */
-bool dev_debug = false;
-
 /* will be set according to the current locale.  */
 static const char *decimal_point;
 static int decimal_point_length;
 
+/* debugging for developers.  Enables devmsg().  */
+static bool dev_debug = false;
+
+/* Like error(0, 0, ...), but without an implicit newline.
+   Also a noop unless the global DEV_DEBUG is set.
+   TODO: Replace with variadic macro in system.h or
+   move to a separate module.  */
+static inline void
+devmsg (char const *fmt, ...)
+{
+  if (dev_debug)
+    {
+      va_list ap;
+      va_start (ap, fmt);
+      vfprintf (stderr, fmt, ap);
+      va_end (ap);
+    }
+}
 
 static inline int
 default_scale_base (enum scale_type scale)
index 6c310ad..1677999 100644 (file)
@@ -649,21 +649,6 @@ stzncpy (char *restrict dest, char const *restrict src, size_t len)
   return dest;
 }
 
-/* Like error(0, 0, ...), but without an implicit newline.
-   Also a noop unless the global DEV_DEBUG is set.  */
-extern bool dev_debug;
-static inline void
-devmsg (char const *fmt, ...)
-{
-  if (dev_debug)
-    {
-      va_list ap;
-      va_start (ap, fmt);
-      vfprintf (stderr, fmt, ap);
-      va_end (ap);
-    }
-}
-
 #ifndef ARRAY_CARDINALITY
 # define ARRAY_CARDINALITY(Array) (sizeof (Array) / sizeof *(Array))
 #endif