compile error with older gcc