On 04/18/2016 08:06 AM, Emil Velikov wrote: > On 18 April 2016 at 04:43, Francisco Jerez <curroje...@riseup.net> wrote: >> Grazvydas Ignotas <nota...@gmail.com> writes: >> >>> On Sun, Apr 17, 2016 at 2:50 AM, Emil Velikov <emil.l.veli...@gmail.com> >>> wrote: >>>> On 16 April 2016 at 02:00, Grazvydas Ignotas <nota...@gmail.com> wrote: >>>>> This is mostly for variables that are only used in asserts and cause >>>>> unused-but-set-variable warnings in release builds. Could just use >>>>> UNUSED directly, but MAYBE_UNUSED should be less confusing and is >>>>> similar to what the Linux kernel has. >>>>> >>>>> And yes __attribute__((unused)) can be used on variables on both GCC 4.2 >>>>> (oldest supported by mesa) and clang 3.0 (just some random old version, >>>>> nut sure what's the minimum for mesa). >>>>> >>>>> Signed-off-by: Grazvydas Ignotas <nota...@gmail.com> >>>>> --- >>>>> I have no commit access, if this patch is ok, please someone push. >>>>> >>>>> src/util/macros.h | 2 ++ >>>>> 1 file changed, 2 insertions(+) >>>>> >>>>> diff --git a/src/util/macros.h b/src/util/macros.h >>>>> index 0c8958f..f081bb8 100644 >>>>> --- a/src/util/macros.h >>>>> +++ b/src/util/macros.h >>>>> @@ -204,6 +204,8 @@ do { \ >>>>> #define UNUSED >>>>> #endif >>>>> >>>>> +#define MAYBE_UNUSED UNUSED >>>>> + >>>> Hell yeah ! >>>> >>>> A thing that comes to mind ... a while back we've been wondering about >>>> (re)naming these just the the way we do in the kernel. Namely >>>> __maybe_unused in this case. Can you give that one a try and link a >>>> branch. >>> >>> I hope you mean something like this? >>> https://github.com/notaz/mesa/commits/warnings >>> >> >> You guys know that in standard C any identifier (including a >> preprocessor define) starting with double underscore is reserved for the >> implementation and causes the program's behavior to be undefined? The >> kernel is kind of part of the implementation so they can do whatever >> they want, but it seems dubious to do the same in a userspace library. >> How about you use a single (or no) underscore if people prefer the >> lowercase spelling? >> > I do recall this. As mentioned before (to Jose I believe) sadly the > cat is out of the bag. Both within mesa itself and also in other > projects. > > IIRC the conclusion from last time was along the lines of "[I guess] > it's ok if it does not break things". So far scons (linux + windows) > look fine - autoconf's normal make looks ok as well (make check takes > a while) ;-) > > Personally I'd opt for consistency across projects. It gives us extra > reassurance that things are unlikely to break under our feet. > Although yes, it does suck (a bit) that thing have turned out that way.
I agree with Curro. I'd rather have consistency within Mesa (where we've always used ALL_THE_UPPERCASE) than across projects. > -Emil > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev