on the code path it is used in a way that GCC understands. This avoids breakage due to higher optimization levels.