strange compilation error fixed gcc 4.2.1