Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a83965a authored by Pirama Arumuga Nainar's avatar Pirama Arumuga Nainar
Browse files

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

In the process of upgrading to clang r349610, a new diagnostic,
-Wextra-semi-stmt, enabled by -Weverything catches redundant semicolons
in code.  ATRACE_BUFFER_INDEX 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: Ib1271e8634b0a6bd05b27d78ae17f63feb0e5f65
parent 4ffbaac8
Loading
Loading
Loading
Loading
+8 −7
Original line number Original line Diff line number Diff line
@@ -41,12 +41,13 @@
#define BQ_LOGE(x, ...) ALOGE("[%s] " x, mConsumerName.string(), ##__VA_ARGS__)
#define BQ_LOGE(x, ...) ALOGE("[%s] " x, mConsumerName.string(), ##__VA_ARGS__)


#define ATRACE_BUFFER_INDEX(index)                                                         \
#define ATRACE_BUFFER_INDEX(index)                                                         \
    do {                                                                                   \
        if (ATRACE_ENABLED()) {                                                            \
        if (ATRACE_ENABLED()) {                                                            \
            char ___traceBuf[1024];                                                        \
            char ___traceBuf[1024];                                                        \
        snprintf(___traceBuf, 1024, "%s: %d",                        \
            snprintf(___traceBuf, 1024, "%s: %d", mCore->mConsumerName.string(), (index)); \
                mCore->mConsumerName.string(), (index));             \
            android::ScopedTrace ___bufTracer(ATRACE_TAG, ___traceBuf);                    \
            android::ScopedTrace ___bufTracer(ATRACE_TAG, ___traceBuf);                    \
    }
        }                                                                                  \
    } while (false)


namespace android {
namespace android {