Bug 1341452 - Use MSC's __FUNCSIG__ or gcc/clang's __PRETTY_FUNCTION__ in MediaResult's RESULT_DETAIL - r?jya draft
authorGerald Squelart <gsquelart@mozilla.com>
Tue, 21 Feb 2017 14:44:40 +1100
changeset 488303 7d8b1c7d1847ee06d38a5874400d1b3249367ef8
parent 488302 32dcdde1fc64fc39a9065dc4218265dbc727673f
child 488304 65f4e711b4c8ff1a9ab8d746fb86db93d8f87096
push id46486
push usergsquelart@mozilla.com
push dateWed, 22 Feb 2017 23:22:40 +0000
reviewersjya
bugs1341452
milestone54.0a1
Bug 1341452 - Use MSC's __FUNCSIG__ or gcc/clang's __PRETTY_FUNCTION__ in MediaResult's RESULT_DETAIL - r?jya Since these are used in diagnostic messages intended for developers, more detailed information should help with distinguishing some issues. E.g.: Before: "Init" After: "virtual RefPtr<MP4Demuxer::InitPromise> mozilla::MP4Demuxer::Init()" MozReview-Commit-ID: TgNNn66Ilj
dom/media/MediaResult.h
--- a/dom/media/MediaResult.h
+++ b/dom/media/MediaResult.h
@@ -54,12 +54,16 @@ public:
     return nsPrintfCString("0x%08" PRIx32 ": %s", static_cast<uint32_t>(mCode), mMessage.get());
   }
 
 private:
   nsresult mCode;
   nsCString mMessage;
 };
 
-#define RESULT_DETAIL(arg, ...) nsPrintfCString("%s: " arg, __func__, ##__VA_ARGS__)
+#ifdef _MSC_VER
+#define RESULT_DETAIL(arg, ...) nsPrintfCString("%s: " arg, __FUNCSIG__, ##__VA_ARGS__)
+#else
+#define RESULT_DETAIL(arg, ...) nsPrintfCString("%s: " arg, __PRETTY_FUNCTION__, ##__VA_ARGS__)
+#endif
 
 } // namespace mozilla
 #endif // MediaResult_h_