Bug 1344809 Move function definition to cpp to fix mingw 'definition is marked dllimport' error draft
authorTom Ritter
Mon, 13 Mar 2017 11:51:10 -0500
changeset 497682 744d809e05e85fe800d406bcaaee1bbff1d8301e
parent 497654 7b19a63862252ffb89bfe1ba79724e76e20fb6f4
child 548940 4c5dc7330c13a2d0763bf9b3b8f82da033f6939e
push id48955
push userbmo:tom@mozilla.com
push dateMon, 13 Mar 2017 16:52:19 +0000
bugs1344809
milestone55.0a1
Bug 1344809 Move function definition to cpp to fix mingw 'definition is marked dllimport' error MozReview-Commit-ID: 8iAaa3FXvDq
mozglue/misc/Printf.cpp
mozglue/misc/Printf.h
--- a/mozglue/misc/Printf.cpp
+++ b/mozglue/misc/Printf.cpp
@@ -532,16 +532,21 @@ BuildArgArray(const char* fmt, va_list a
         }
 
         cn++;
     }
 
     return true;
 }
 
+mozilla::PrintfTarget::PrintfTarget()
+  : mEmitted(0)
+{
+}
+
 bool
 mozilla::PrintfTarget::vprint(const char* fmt, va_list ap)
 {
     char c;
     int flags, width, prec, radix, type;
     union {
         char ch;
         int i;
--- a/mozglue/misc/Printf.h
+++ b/mozglue/misc/Printf.h
@@ -70,17 +70,17 @@ class PrintfTarget
 public:
     /* The Printf-like interface.  */
     bool MFBT_API print(const char* format, ...) MOZ_FORMAT_PRINTF(2, 3);
 
     /* The Vprintf-like interface.  */
     bool MFBT_API vprint(const char* format, va_list);
 
 protected:
-    MFBT_API PrintfTarget() : mEmitted(0) { }
+    MFBT_API PrintfTarget();
     virtual ~PrintfTarget() { }
 
     /* Subclasses override this.  It is called when more output is
        available.  It may be called with len==0.  This should return
        true on success, or false on failure.  */
     virtual bool append(const char* sp, size_t len) = 0;
 
 private: