>Any explanations ? Yes. Your compiler has what is technically known as a "bug", and you have applied what is technically known as a "workaround".