cpp: fix evaluating integer constants