diff options
author | 2018-10-18 14:50:15 +0200 | |
---|---|---|
committer | 2018-11-12 13:07:08 -0800 | |
commit | e0930d324c9c35546d6940e0ddc8f3e0bd850614 (patch) | |
tree | 53d67221fec06166760f83ca30faaf86cc6c313a | |
parent | b4c2dc0c1fc09acabfffa1f239e8fa48c75aecae (diff) |
libandroidfw: add FALLTHROUGH_INTENDED to silence warnings
Add FALLTHROUGH_INTENDED to silence compiler warnings such as the
following:
-------- 8< --------
[ 42% 27/63] //frameworks/base/libs/androidfw:libandroidfw clang++
Locale.cpp
frameworks/base/libs/androidfw/Locale.cpp:166:7: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
case 5:
^
frameworks/base/libs/androidfw/Locale.cpp:166:7: note: insert 'FALLTHROUGH_INTENDED;' to silence this warning
case 5:
^
FALLTHROUGH_INTENDED;
frameworks/base/libs/androidfw/Locale.cpp:166:7: note: insert 'break;' to avoid fall-through
case 5:
^
break;
1 warning generated.
-------- >8 --------
Test: 'make libandroidfw' builds with no compiler warnings
Change-Id: I6bc67f2c072f88c9f1a92b7378a6f1a460db70b4
-rw-r--r-- | libs/androidfw/Android.bp | 2 | ||||
-rw-r--r-- | libs/androidfw/Locale.cpp | 2 | ||||
-rw-r--r-- | libs/androidfw/ResourceTypes.cpp | 6 |
3 files changed, 6 insertions, 4 deletions
diff --git a/libs/androidfw/Android.bp b/libs/androidfw/Android.bp index 92efb6ba8914..98af3eb05391 100644 --- a/libs/androidfw/Android.bp +++ b/libs/androidfw/Android.bp @@ -59,8 +59,6 @@ cc_library { "ZipFileRO.cpp", "ZipUtils.cpp", ], - // Allow implicit fallthroughs in Locale.cpp and ResourceTypes.cpp until they are fixed. - cflags: ["-Wno-implicit-fallthrough"], export_include_dirs: ["include"], export_shared_lib_headers: ["libz"], target: { diff --git a/libs/androidfw/Locale.cpp b/libs/androidfw/Locale.cpp index 2870066ccbba..3eedda88fdce 100644 --- a/libs/androidfw/Locale.cpp +++ b/libs/androidfw/Locale.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include "android-base/macros.h" #include "androidfw/Locale.h" #include "androidfw/Util.h" @@ -162,6 +163,7 @@ bool LocaleValue::InitFromBcp47TagImpl(const StringPiece& bcp47tag, const char s set_script(subtags[1].c_str()); break; } + FALLTHROUGH_INTENDED; case 5: case 6: case 7: diff --git a/libs/androidfw/ResourceTypes.cpp b/libs/androidfw/ResourceTypes.cpp index 388548b174f9..76db18de6122 100644 --- a/libs/androidfw/ResourceTypes.cpp +++ b/libs/androidfw/ResourceTypes.cpp @@ -29,6 +29,7 @@ #include <memory> #include <type_traits> +#include <android-base/macros.h> #include <androidfw/ByteBucketArray.h> #include <androidfw/ResourceTypes.h> #include <androidfw/TypeWrappers.h> @@ -3073,6 +3074,7 @@ struct LocaleParserState { } break; } + FALLTHROUGH_INTENDED; case 5: case 6: case 7: @@ -7002,7 +7004,7 @@ status_t DynamicRefTable::lookupResourceValue(Res_value* value) const { switch (value->dataType) { case Res_value::TYPE_ATTRIBUTE: resolvedType = Res_value::TYPE_ATTRIBUTE; - // fallthrough + FALLTHROUGH_INTENDED; case Res_value::TYPE_REFERENCE: // Only resolve non-dynamic references and attributes if the package is loaded as a // library or if a shared library is attempting to retrieve its own resource @@ -7015,7 +7017,7 @@ status_t DynamicRefTable::lookupResourceValue(Res_value* value) const { break; case Res_value::TYPE_DYNAMIC_ATTRIBUTE: resolvedType = Res_value::TYPE_ATTRIBUTE; - // fallthrough + FALLTHROUGH_INTENDED; case Res_value::TYPE_DYNAMIC_REFERENCE: break; default: |