Re: [PATCH 08/13] perf tools: Use __maybe_used for unused variables

Irina Tirdea
2012-09-03T19:59:46Z

On Mon, Sep 3, 2012 at 4:07 AM, Namhyung Kim <namhyung@kernel.org> wrote:
> Hi,

Hi,

>
> On Wed, 29 Aug 2012 01:04:25 +0300, Irina Tirdea wrote:
>> perf defines __used to for marking unused variables.
>> The variable __used is defined to __attribute__((__unused__)), which
>> contradicts the kernel definition to __attribute__((__used__))
>> for new gcc versions. On Android), __used is also defined in
>> system headers and this leads to warnings like:
>> warning: '__used__' attribute ignored
>>
>> This patch simply replaces all instances of __used with __maybe_unused
>> so there will be no such warnings.
>
> How about just using '__unused' for less typing?

Replacing __used with __unused leads to conflicts with glibc headers,
since glibc has a variable named __unused in the stat.h header. I
forgot to mention this in the commit message.

This is the error:
In file included from /usr/include/x86_64-linux-gnu/sys/stat.h:107:0,
from util/util.h:48,
from builtin-bench.c:20:
/usr/include/x86_64-linux-gnu/bits/stat.h:106:22: error: expected
identifier or ‘(’ before ‘[’ token
/usr/include/x86_64-linux-gnu/bits/stat.h:167:22: error: expected
identifier or ‘(’ before ‘[’ token
make: *** [builtin-bench.o] Error 1

> Btw, the patch looks whitespace-damaged.

That's true. I'll fix it.

Thanks,
Irina