both generate C++