]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUILD: task: work around a bogus warning in gcc 4.7/4.8 at -O1
authorWilly Tarreau <w@1wt.eu>
Fri, 21 Aug 2020 03:48:34 +0000 (05:48 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 21 Aug 2020 03:54:00 +0000 (05:54 +0200)
commit6ce0232a78cf6f94d82a6614317689523877b286
tree9d60613e0111104dbe7a01b430d3bb755f69ad17
parent3005306a7143f065f99b0231ed1f350b7226e898
BUILD: task: work around a bogus warning in gcc 4.7/4.8 at -O1

As reported in issue #816, when building task.o at -O1 with gcc 4.7 or
4.8, we get the following warning:

    CC      src/task.o
  In file included from include/haproxy/proxy.h:31:0,
                   from include/haproxy/cfgparse.h:27,
                   from src/task.c:19:
  src/task.c: In function 'next_timer_expiry':
  include/haproxy/ticks.h:121:10: warning: 'key' may be used uninitialized in this function [-Wmaybe-uninitialized]
  src/task.c:349:2: note: 'key' was declared here

It is wrong since the condition to use 'key' is exactly the same as
the one used to set it. This warning disappears at -O2 and disappeared
from gcc 5 and above. Let's just initialize 'key' there, it only adds
16 bytes of code and remains cheap enough for this function.

This should be backported to 2.2.
src/task.c