diff --git a/include/llvm/Support/CommandLine.h b/include/llvm/Support/CommandLine.h index 1c6b3337dfd..52052e44654 100644 --- a/include/llvm/Support/CommandLine.h +++ b/include/llvm/Support/CommandLine.h @@ -544,10 +544,14 @@ public: if (IsInvertable) { char *s = new char [strlen(ArgStr) + 3 + 1]; s[0] = ArgStr[0]; - s[1] = 'n'; - s[2] = 'o'; - s[3] = '-'; - strcpy(&s[4], ArgStr+1); + if (strncmp(ArgStr+1, "no-", 3) == 0) + strcpy(&s[1], &ArgStr[4]); + else { + s[1] = 'n'; + s[2] = 'o'; + s[3] = '-'; + strcpy(&s[4], ArgStr+1); + } OptionNames.push_back(s); } }