misc cpp codegen bug fixes