Fix compat with gcc < 3.4 and clang