Mark function used as template parameter extern.
authorBen Wagner <bungeman@google.com>
Thu, 9 Mar 2017 20:12:09 +0000 (15:12 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Thu, 9 Mar 2017 21:57:18 +0000 (21:57 +0000)
VC++19.10.2517 does not support the C++11 change to allow the address of
internal linkage objects to be used as non-type template arguments.

BUG=skia:6351

Change-Id: I7e1f628db794f950dfba7d043cf6d2fbf0a8c453
Reviewed-on: https://skia-review.googlesource.com/9496
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

src/ports/SkFontHost_FreeType.cpp

index eee76d5..d155308 100644 (file)
@@ -388,7 +388,8 @@ static SkFaceRec* ref_ft_face(const SkTypeface* typeface) {
 }
 
 // Caller must lock gFTMutex before calling this function.
-static void unref_ft_face(SkFaceRec* faceRec) {
+// Marked extern because vc++ does not support internal linkage template parameters.
+extern /*static*/ void unref_ft_face(SkFaceRec* faceRec) {
     gFTMutex.assertHeld();
 
     SkFaceRec*  rec = gFaceRecHead;