Force inlining Correction::isSingleQuote
Also, only apply -Winline with GCC 4.6. There are some copy constructors
that GCC 4.7/4.8 fail to inline.
Change-Id: I97906045224e89377e8ea6add07a79fa088648af
diff --git a/native/jni/Android.mk b/native/jni/Android.mk
index 3735ec0..7f80dc5 100644
--- a/native/jni/Android.mk
+++ b/native/jni/Android.mk
@@ -32,7 +32,7 @@
-Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls -Wno-system-headers
ifeq ($(TARGET_ARCH), arm)
-ifneq ($(TARGET_GCC_VERSION), 4.7)
+ifeq ($(TARGET_GCC_VERSION), 4.6)
LOCAL_CFLAGS += -Winline
endif # TARGET_GCC_VERSION
endif # TARGET_ARCH
diff --git a/native/jni/src/correction.h b/native/jni/src/correction.h
index f0d6210..a9e9b48 100644
--- a/native/jni/src/correction.h
+++ b/native/jni/src/correction.h
@@ -307,7 +307,7 @@
mNeedsToTraverseAllNodes = true;
}
-inline bool Correction::isSingleQuote(const int c) {
+AK_FORCE_INLINE bool Correction::isSingleQuote(const int c) {
const int userTypedChar = mProximityInfoState.getPrimaryCodePointAt(mInputIndex);
return (c == KEYCODE_SINGLE_QUOTE && userTypedChar != KEYCODE_SINGLE_QUOTE);
}