Re: Disabling warn_unused_result warnings on a case-by-case basis

2016-06-14 Thread Pádraig Brady
On 14/06/16 10:32, Florian Weimer wrote: A long time ago, GCC decided that warn_unused_result warnings should *not* be silenced by casting to void, as in: (void) write (STDOUT_FILENO, message, strlen (message)); Apparently, programmers have figured out to use this idiom as a replacement:

regression in C++ parsing performance between 4.9.3 and 5.3.1

2016-03-28 Thread Pádraig Brady
The attached shell script will generate a larger version of the following: constexpr bool static_str_equal(const char* x, const char* y) { return (*x == 0 || *y == 0) ? (*x == *y) : ((*x == *y) && static_str_equal(x + 1, y + 1)); } int main(void) { static_assert( !static_str_equal("uns

-Wmissing-field-initializers relaxation request

2008-07-04 Thread Pádraig Brady
While trying to compile coreutils with -Wextra, I noticed many warnings due to automatic variables initialized with { 0, }. As I understand it, since C90 the above will initialize [all members of] the type to that used in static scope. I.E. the following is valid: mbstate_t m = { 0, }; int i = {