Fix C/C++ compiler generated warnings
* Remove unused functions: -Wno-unused-function
* Fix logical operations that are missing parentheses:
-Wno-logical-not-parentheses, -Wno-parentheses
* Add missing braces in initializers: -Wno-missing-braces
* Remove unused variables: -Wno-unused-variable
* Fix printf()-like formatting issues: -Wno-format
* Avoid using unitialized variables:
-Wno-maybe-uninitialized, -Wno-uninitialized
* Fix a bug inside bta_gattc_get_gatt_db_impl()
when the processed GATT DB attribute type is unknown.
* Fix warnings about missing field initializers:
-Wno-missing-field-initializers
* Re-implement macro COMPILE_ASSERT(COND) to fix a compilation warning:
-Wno-non-literal-null-conversion
* Fix sign mismatch comparison warnings:
-Wno-sign-compare
* Fix warnings related to enum conversion:
-Wno-enum-conversion
* Fix warnings related to incompatible pointer types:
-Wno-incompatible-pointer-types
* Fix warnings related to enum conversion:
-Wno-enum-conversion
Bug: 26879229
Change-Id: I522931fe156aeab23ae841051a9e25ceab00b1c2
diff --git a/Android.mk b/Android.mk
index 5849e14..3b89e29 100644
--- a/Android.mk
+++ b/Android.mk
@@ -22,33 +22,25 @@
#
# Common C/C++ compiler flags.
#
-# - gnu-variable-sized-type-not-at-end is needed for a variable-size header in
-# a struct.
-# - constant-logical-operand is needed for code in l2c_utils.c that looks
-# intentional.
+# -Wno-constant-logical-operand is needed for code in l2c_utils.c that is
+# intentional.
+# -Wno-gnu-variable-sized-type-not-at-end is needed, because struct BT_HDR
+# is defined as a variable-size header in a struct.
+# -Wno-typedef-redefinition is needed because of the way the struct typedef
+# is done in osi/include header files. This issue can be obsoleted by
+# switching to C11 or C++.
+# -Wno-unused-parameter is needed, because there are too many unused
+# parameters in all the code.
#
bluetooth_CFLAGS += \
-fvisibility=hidden \
-Wall \
-Wextra \
-Werror \
- -Wno-typedef-redefinition \
- -Wno-gnu-variable-sized-type-not-at-end \
- -Wno-unused-parameter \
- -Wno-maybe-uninitialized \
- -Wno-uninitialized \
- -Wno-missing-field-initializers \
- -Wno-unused-variable \
- -Wno-non-literal-null-conversion \
- -Wno-sign-compare \
- -Wno-incompatible-pointer-types \
- -Wno-unused-function \
- -Wno-missing-braces \
- -Wno-enum-conversion \
- -Wno-logical-not-parentheses \
- -Wno-parentheses \
-Wno-constant-logical-operand \
- -Wno-format \
+ -Wno-gnu-variable-sized-type-not-at-end \
+ -Wno-typedef-redefinition \
+ -Wno-unused-parameter \
-UNDEBUG \
-DLOG_NDEBUG=1