Cpp: Fixed potential memory leak on OOM. add_predefine() would leak the macro name if it failed to allocate space for the macro value.