OSDN Git Service

Compile libsurfaceflinger with Clang and -std=c++11 [DO NOT MERGE]
authorJesse Hall <jessehall@google.com>
Sun, 13 Jul 2014 21:37:16 +0000 (14:37 -0700)
committerJesse Hall <jessehall@google.com>
Mon, 14 Jul 2014 19:18:00 +0000 (12:18 -0700)
This is necessary to use C11/C++11 stdlib atomics, which the next
change will do. This change also fixes a couple bits of syntax that
both GCC and Clang refuse to compile in -std=c++11 mode.

Change-Id: Ia14d9d6b537a3bb106c23e19a277e48be180754c

services/surfaceflinger/Android.mk
services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp
services/surfaceflinger/SurfaceFlinger.cpp

index 0e15506..888d2f8 100644 (file)
@@ -1,6 +1,8 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG := true
+
 LOCAL_SRC_FILES:= \
     Client.cpp \
     DisplayDevice.cpp \
@@ -81,6 +83,7 @@ else
 endif
 
 LOCAL_CFLAGS += -fvisibility=hidden
+LOCAL_CFLAGS += -std=c++11
 
 LOCAL_SHARED_LIBRARIES := \
        libcutils \
index 3442c65..ad7cd25 100644 (file)
@@ -28,11 +28,11 @@ static const bool sForceHwcCopy = true;
 static const bool sForceHwcCopy = false;
 #endif
 
-#define VDS_LOGE(msg, ...) ALOGE("[%s] "msg, \
+#define VDS_LOGE(msg, ...) ALOGE("[%s] " msg, \
         mDisplayName.string(), ##__VA_ARGS__)
-#define VDS_LOGW_IF(cond, msg, ...) ALOGW_IF(cond, "[%s] "msg, \
+#define VDS_LOGW_IF(cond, msg, ...) ALOGW_IF(cond, "[%s] " msg, \
         mDisplayName.string(), ##__VA_ARGS__)
-#define VDS_LOGV(msg, ...) ALOGV("[%s] "msg, \
+#define VDS_LOGV(msg, ...) ALOGV("[%s] " msg, \
         mDisplayName.string(), ##__VA_ARGS__)
 
 static const char* dbgCompositionTypeStr(DisplaySurface::CompositionType type) {
index 4238ef8..cfedd0c 100644 (file)
@@ -2380,8 +2380,8 @@ void SurfaceFlinger::dumpAllLocked(const Vector<String16>& args, size_t& index,
     colorizer.bold(result);
     result.append("DispSync configuration: ");
     colorizer.reset(result);
-    result.appendFormat("app phase %"PRId64" ns, sf phase %"PRId64" ns, "
-            "present offset %d ns (refresh %"PRId64" ns)",
+    result.appendFormat("app phase %" PRId64 " ns, sf phase %" PRId64 " ns, "
+            "present offset %d ns (refresh %" PRId64 " ns)",
         vsyncPhaseOffsetNs, sfVsyncPhaseOffsetNs, PRESENT_TIME_OFFSET_FROM_VSYNC_NS,
         mHwc->getRefreshPeriod(HWC_DISPLAY_PRIMARY));
     result.append("\n");
@@ -2508,7 +2508,7 @@ bool SurfaceFlinger::startDdmConnection()
     }
     void (*DdmConnection_start)(const char* name);
     DdmConnection_start =
-            (typeof DdmConnection_start)dlsym(libddmconnection_dso, "DdmConnection_start");
+            (decltype(DdmConnection_start))dlsym(libddmconnection_dso, "DdmConnection_start");
     if (!DdmConnection_start) {
         dlclose(libddmconnection_dso);
         return false;