Thanks O'Neill for the explanation. I posted the question here because g++ and icpc seemed to do the right thing (or so I thought) but clang++ gave different result. Anyways, thanks for the info !