the generated code for gperf -P does not compile in C nor C++. First, it tries to put integer offsets into the name field, which is an error in C++, not just a warning. Second, it attempts to add two when verifying a correct match, which is an error in C or C++.