[PATCH] D42840: [docs] Fix duplicate arguments for JoinedAndSeparate
This revision was automatically updated to reflect the committed changes. Closed by commit rL325805: [docs] Fix duplicate arguments for JoinedAndSeparate (authored by Hahnfeld, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D42840?vs=132559=135438#toc Repository: rL LLVM https://reviews.llvm.org/D42840 Files: cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp Index: cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp === --- cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp +++ cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp @@ -245,19 +245,27 @@ void emitOptionName(StringRef Prefix, const Record *Option, raw_ostream ) { // Find the arguments to list after the option. unsigned NumArgs = getNumArgsForKind(Option->getValueAsDef("Kind"), Option); + bool HasMetaVarName = !Option->isValueUnset("MetaVarName"); std::vector Args; - if (!Option->isValueUnset("MetaVarName")) + if (HasMetaVarName) Args.push_back(Option->getValueAsString("MetaVarName")); else if (NumArgs == 1) Args.push_back(""); - while (Args.size() < NumArgs) { -Args.push_back(("").str()); -// Use '--args ...' if any number of args are allowed. -if (Args.size() == 2 && NumArgs == UnlimitedArgs) { - Args.back() += "..."; - break; + // Fill up arguments if this option didn't provide a meta var name or it + // supports an unlimited number of arguments. We can't see how many arguments + // already are in a meta var name, so assume it has right number. This is + // needed for JoinedAndSeparate options so that there arent't too many + // arguments. + if (!HasMetaVarName || NumArgs == UnlimitedArgs) { +while (Args.size() < NumArgs) { + Args.push_back((" ").str()); + // Use '--args ...' if any number of args are allowed. + if (Args.size() == 2 && NumArgs == UnlimitedArgs) { +Args.back() += "..."; +break; + } } } Index: cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp === --- cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp +++ cfe/trunk/utils/TableGen/ClangOptionDocEmitter.cpp @@ -245,19 +245,27 @@ void emitOptionName(StringRef Prefix, const Record *Option, raw_ostream ) { // Find the arguments to list after the option. unsigned NumArgs = getNumArgsForKind(Option->getValueAsDef("Kind"), Option); + bool HasMetaVarName = !Option->isValueUnset("MetaVarName"); std::vector Args; - if (!Option->isValueUnset("MetaVarName")) + if (HasMetaVarName) Args.push_back(Option->getValueAsString("MetaVarName")); else if (NumArgs == 1) Args.push_back(""); - while (Args.size() < NumArgs) { -Args.push_back((" ").str()); -// Use '--args ...' if any number of args are allowed. -if (Args.size() == 2 && NumArgs == UnlimitedArgs) { - Args.back() += "..."; - break; + // Fill up arguments if this option didn't provide a meta var name or it + // supports an unlimited number of arguments. We can't see how many arguments + // already are in a meta var name, so assume it has right number. This is + // needed for JoinedAndSeparate options so that there arent't too many + // arguments. + if (!HasMetaVarName || NumArgs == UnlimitedArgs) { +while (Args.size() < NumArgs) { + Args.push_back((" ").str()); + // Use '--args ...' if any number of args are allowed. + if (Args.size() == 2 && NumArgs == UnlimitedArgs) { +Args.back() += "..."; +break; + } } } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D42840: [docs] Fix duplicate arguments for JoinedAndSeparate
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. This LGTM, but you should wait a few days in case Richard has thoughts or concerns. Repository: rC Clang https://reviews.llvm.org/D42840 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D42840: [docs] Fix duplicate arguments for JoinedAndSeparate
Hahnfeld added a comment. Ping Repository: rC Clang https://reviews.llvm.org/D42840 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D42840: [docs] Fix duplicate arguments for JoinedAndSeparate
Hahnfeld created this revision. Hahnfeld added reviewers: rsmith, craig.topper. Herald added a subscriber: cfe-commits. We can't see how many arguments are in the meta var name, so just assume that is the right number. Repository: rC Clang https://reviews.llvm.org/D42840 Files: utils/TableGen/ClangOptionDocEmitter.cpp Index: utils/TableGen/ClangOptionDocEmitter.cpp === --- utils/TableGen/ClangOptionDocEmitter.cpp +++ utils/TableGen/ClangOptionDocEmitter.cpp @@ -245,19 +245,27 @@ void emitOptionName(StringRef Prefix, const Record *Option, raw_ostream ) { // Find the arguments to list after the option. unsigned NumArgs = getNumArgsForKind(Option->getValueAsDef("Kind"), Option); + bool HasMetaVarName = !Option->isValueUnset("MetaVarName"); std::vector Args; - if (!Option->isValueUnset("MetaVarName")) + if (HasMetaVarName) Args.push_back(Option->getValueAsString("MetaVarName")); else if (NumArgs == 1) Args.push_back(""); - while (Args.size() < NumArgs) { -Args.push_back(("").str()); -// Use '--args ...' if any number of args are allowed. -if (Args.size() == 2 && NumArgs == UnlimitedArgs) { - Args.back() += "..."; - break; + // Fill up arguments if this option didn't provide a meta var name or it + // supports an unlimited number of arguments. We can't see how many arguments + // already are in a meta var name, so assume it has right number. This is + // needed for JoinedAndSeparate options so that there arent't too many + // arguments. + if (!HasMetaVarName || NumArgs == UnlimitedArgs) { +while (Args.size() < NumArgs) { + Args.push_back((" ").str()); + // Use '--args ...' if any number of args are allowed. + if (Args.size() == 2 && NumArgs == UnlimitedArgs) { +Args.back() += "..."; +break; + } } } Index: utils/TableGen/ClangOptionDocEmitter.cpp === --- utils/TableGen/ClangOptionDocEmitter.cpp +++ utils/TableGen/ClangOptionDocEmitter.cpp @@ -245,19 +245,27 @@ void emitOptionName(StringRef Prefix, const Record *Option, raw_ostream ) { // Find the arguments to list after the option. unsigned NumArgs = getNumArgsForKind(Option->getValueAsDef("Kind"), Option); + bool HasMetaVarName = !Option->isValueUnset("MetaVarName"); std::vector Args; - if (!Option->isValueUnset("MetaVarName")) + if (HasMetaVarName) Args.push_back(Option->getValueAsString("MetaVarName")); else if (NumArgs == 1) Args.push_back(""); - while (Args.size() < NumArgs) { -Args.push_back((" ").str()); -// Use '--args ...' if any number of args are allowed. -if (Args.size() == 2 && NumArgs == UnlimitedArgs) { - Args.back() += "..."; - break; + // Fill up arguments if this option didn't provide a meta var name or it + // supports an unlimited number of arguments. We can't see how many arguments + // already are in a meta var name, so assume it has right number. This is + // needed for JoinedAndSeparate options so that there arent't too many + // arguments. + if (!HasMetaVarName || NumArgs == UnlimitedArgs) { +while (Args.size() < NumArgs) { + Args.push_back((" ").str()); + // Use '--args ...' if any number of args are allowed. + if (Args.size() == 2 && NumArgs == UnlimitedArgs) { +Args.back() += "..."; +break; + } } } ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits