Compile libsurfaceflinger with Clang and -std=c++11
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
diff --git a/services/surfaceflinger/Android.mk b/services/surfaceflinger/Android.mk
index 0e15506..888d2f8 100644
--- a/services/surfaceflinger/Android.mk
+++ b/services/surfaceflinger/Android.mk
@@ -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 @@
endif
LOCAL_CFLAGS += -fvisibility=hidden
+LOCAL_CFLAGS += -std=c++11
LOCAL_SHARED_LIBRARIES := \
libcutils \
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 4238ef8..cfedd0c 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2380,8 +2380,8 @@
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 @@
}
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;