diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index b91a7f6..f59629f 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -127,7 +127,7 @@
 #define TRACE_SANITIZE() \
 	HB_STMT_START { \
 	  if (HB_DEBUG_SANITIZE) \
-		  _hb_trace ("SANITIZE", __PRETTY_FUNCTION__, this, sanitize_depth, HB_DEBUG_SANITIZE); \
+		  _hb_trace ("SANITIZE", HB_FUNC, this, sanitize_depth, HB_DEBUG_SANITIZE); \
 	} HB_STMT_END
 
 
@@ -266,7 +266,7 @@
 
   retry:
     if (HB_DEBUG_SANITIZE)
-      fprintf (stderr, "Sanitizer %p start %s\n", blob, __PRETTY_FUNCTION__);
+      fprintf (stderr, "Sanitizer %p start %s\n", blob, HB_FUNC);
 
     _hb_sanitize_init (context, blob);
 
@@ -277,7 +277,7 @@
       if (context->edit_count) {
 	if (HB_DEBUG_SANITIZE)
 	  fprintf (stderr, "Sanitizer %p passed first round with %d edits; doing a second round %s\n",
-		   blob, context->edit_count, __PRETTY_FUNCTION__);
+		   blob, context->edit_count, HB_FUNC);
 
         /* sanitize again to ensure no toe-stepping */
         context->edit_count = 0;
@@ -285,7 +285,7 @@
 	if (context->edit_count) {
 	  if (HB_DEBUG_SANITIZE)
 	    fprintf (stderr, "Sanitizer %p requested %d edits in second round; FAILLING %s\n",
-		     blob, context->edit_count, __PRETTY_FUNCTION__);
+		     blob, context->edit_count, HB_FUNC);
 	  sane = false;
 	}
       }
@@ -296,13 +296,13 @@
       if (edit_count && !hb_blob_is_writable (blob) && hb_blob_try_writable (blob)) {
         /* ok, we made it writable by relocating.  try again */
 	if (HB_DEBUG_SANITIZE)
-	  fprintf (stderr, "Sanitizer %p retry %s\n", blob, __PRETTY_FUNCTION__);
+	  fprintf (stderr, "Sanitizer %p retry %s\n", blob, HB_FUNC);
         goto retry;
       }
     }
 
     if (HB_DEBUG_SANITIZE)
-      fprintf (stderr, "Sanitizer %p %s %s\n", blob, sane ? "passed" : "FAILED", __PRETTY_FUNCTION__);
+      fprintf (stderr, "Sanitizer %p %s %s\n", blob, sane ? "passed" : "FAILED", HB_FUNC);
     if (sane)
       return blob;
     else {
diff --git a/src/hb-ot-layout-gsubgpos-private.hh b/src/hb-ot-layout-gsubgpos-private.hh
index 042daa2..f6a03d6 100644
--- a/src/hb-ot-layout-gsubgpos-private.hh
+++ b/src/hb-ot-layout-gsubgpos-private.hh
@@ -38,7 +38,7 @@
 #define TRACE_APPLY() \
 	HB_STMT_START { \
 	  if (HB_DEBUG_APPLY) \
-		  _hb_trace ("APPLY", __PRETTY_FUNCTION__, this, apply_depth, HB_DEBUG_APPLY); \
+		  _hb_trace ("APPLY", HB_FUNC, this, apply_depth, HB_DEBUG_APPLY); \
 	} HB_STMT_END
 
 
diff --git a/src/hb-private.h b/src/hb-private.h
index 2c118a6..1ad094c 100644
--- a/src/hb-private.h
+++ b/src/hb-private.h
@@ -145,6 +145,15 @@
 #endif
 
 
+#if __GNUC__ >= 3
+#define HB_FUNC __PRETTY_FUNCTION__
+#elif defined(_MSC_VER)
+#define HB_FUNC __FUNCSIG__
+#else
+#define HB_FUNC __func__
+#endif
+
+
 /* Return the number of 1 bits in mask.
  *
  * GCC 3.4 supports a "population count" builtin, which on many targets is
