summaryrefslogtreecommitdiffstats
path: root/libs/binder
diff options
context:
space:
mode:
authorBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2014-11-25 21:55:33 +0100
committerChih-Hung Hsieh <chh@google.com>2014-11-25 14:06:04 -0800
commit74debb0b8fc47d443aaf7fe79f7b67f53f735f7f (patch)
treef9e12313e7c169f91a19280adb4e46f51f3add9a /libs/binder
parent45aa022710165c321cdec9a475f269d6932fe1f3 (diff)
downloadframeworks_native-74debb0b8fc47d443aaf7fe79f7b67f53f735f7f.zip
frameworks_native-74debb0b8fc47d443aaf7fe79f7b67f53f735f7f.tar.gz
frameworks_native-74debb0b8fc47d443aaf7fe79f7b67f53f735f7f.tar.bz2
Fix build with clang in C++11 mode
Now that we're in C++11 mode by default, clang complains about switch statements with case values not matching the type -- since some binder_driver_return_protocol values are > 0x7fffffff, we need to make the switch statements operate on uint32_t rather than int32_t. BUG: 18466763 Change-Id: Iedbfd5c7a3d3d9f087d2eab4ff21343ad7a2a448 Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Diffstat (limited to 'libs/binder')
-rw-r--r--libs/binder/IPCThreadState.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp
index d29f671..8633691 100644
--- a/libs/binder/IPCThreadState.cpp
+++ b/libs/binder/IPCThreadState.cpp
@@ -147,9 +147,9 @@ static const void* printReturnCommand(TextOutput& out, const void* _cmd)
{
static const size_t N = sizeof(kReturnStrings)/sizeof(kReturnStrings[0]);
const int32_t* cmd = (const int32_t*)_cmd;
- int32_t code = *cmd++;
+ uint32_t code = (uint32_t)*cmd++;
size_t cmdIndex = code & 0xff;
- if (code == (int32_t) BR_ERROR) {
+ if (code == BR_ERROR) {
out << "BR_ERROR: " << (void*)(long)(*cmd++) << endl;
return cmd;
} else if (cmdIndex >= N) {
@@ -208,7 +208,7 @@ static const void* printCommand(TextOutput& out, const void* _cmd)
{
static const size_t N = sizeof(kCommandStrings)/sizeof(kCommandStrings[0]);
const int32_t* cmd = (const int32_t*)_cmd;
- int32_t code = *cmd++;
+ uint32_t code = (uint32_t)*cmd++;
size_t cmdIndex = code & 0xff;
if (cmdIndex >= N) {
@@ -697,7 +697,7 @@ status_t IPCThreadState::sendReply(const Parcel& reply, uint32_t flags)
status_t IPCThreadState::waitForResponse(Parcel *reply, status_t *acquireResult)
{
- int32_t cmd;
+ uint32_t cmd;
int32_t err;
while (1) {
@@ -706,7 +706,7 @@ status_t IPCThreadState::waitForResponse(Parcel *reply, status_t *acquireResult)
if (err < NO_ERROR) break;
if (mIn.dataAvail() == 0) continue;
- cmd = mIn.readInt32();
+ cmd = (uint32_t)mIn.readInt32();
IF_LOG_COMMANDS() {
alog << "Processing waitForResponse Command: "
@@ -936,7 +936,7 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
RefBase::weakref_type* refs;
status_t result = NO_ERROR;
- switch (cmd) {
+ switch ((uint32_t)cmd) {
case BR_ERROR:
result = mIn.readInt32();
break;