NFC: Switch CHECK_INTERFACE to be a more friendly macro statement.

In the process of upgrading to clang r349610, an improvement to the
-Wextra-semi diagnostic now catches redundant semicolons in code.
CHECK_INTERFACE is a macro statement (currently using an if with a code
block that ends in a '}'). Since most callers are treating this as a
pseudo-function call, they terminate the macro with a semicolon. This
triggers the diagnostic, as we now have "if (...) { ... };", where the
semicolon is unnecessary.

To remedy these kinds of situations, it is better to construct macro
statements that require a semicolon to terminate them. This patch uses a
do/while wrapped around the existing statement, which is a pretty common
pattern for macro statements.

Bug: http://b/122481018
Test: m checkbuild
Change-Id: Ic2efc662f70f6b311e5d4581fb8e0eeb12a361f9
diff --git a/libs/binder/include/binder/IInterface.h b/libs/binder/include/binder/IInterface.h
index 5ec02b1..f6381f7 100644
--- a/libs/binder/include/binder/IInterface.h
+++ b/libs/binder/include/binder/IInterface.h
@@ -124,7 +124,9 @@
 
 
 #define CHECK_INTERFACE(interface, data, reply)                         \
-    if (!(data).checkInterface(this)) { return PERMISSION_DENIED; }     \
+    do {                                                                \
+      if (!(data).checkInterface(this)) { return PERMISSION_DENIED; }   \
+    } while (false)                                                     \
 
 
 // ----------------------------------------------------------------------