Commit Graph

14 Commits

Author SHA1 Message Date
Douglas Yung cc227f84d7 Change "UNSUPPORTED: windows" to be "UNSUPPORTED: system-windows" so that test is actually skipped on Windows.
Reviewed by Paul Robinson



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324632 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-08 18:45:16 +00:00
Brian Gesiak f34765b4dc [llvm-mt] Remove platform-specific path in test
Summary:
Remove a platform-specific path separator added to the llvm-mt help text test
in https://reviews.llvm.org/D41732.

Test Plan: `check-llvm`



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321881 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-05 18:23:22 +00:00
Brian Gesiak 1fed623ad6 [Option] Add 'findNearest' method to catch typos
Summary:
Add a method `OptTable::findNearest`, which allows users of OptTable to
check user input for misspelled options. In addition, have llvm-mt
check for misspelled options. For example, if a user invokes
`llvm-mt /oyt:foo`, the error message will indicate that while an
option named `/oyt:` does not exist, `/out:` does.

The method ports the functionality of the `LookupNearestOption` method
from LLVM CommandLine to libLLVMOption. This allows tools like Clang
and Swift, which do not use CommandLine, to use this functionality to
suggest similarly spelled options.

As room for future improvement, the new method as-is cannot yet properly suggest
nearby "joined" options -- that is, for an option string "-FozBar", where
"-Foo" is the correct option name and "Bar" is the value being passed along
with the misspelled option, this method will calculate an edit distance of 4,
by deleting "Bar" and changing "z" to "o". It should instead calculate an edit
distance of just 1, by changing "z" to "o" and recognizing "Bar" as a
value. This commit includes a disabled test that expresses this limitation.

Test Plan: `check-llvm`

Reviewers: yamaguchi, v.g.vassilev, teemperor, ruiu, jroelofs

Reviewed By: jroelofs

Subscribers: jroelofs, llvm-commits

Differential Revision: https://reviews.llvm.org/D41732

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321877 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-05 17:10:39 +00:00
Eric Beckmann 79fe5367c1 llvm-mt: Merge manifest namespaces.
mt.exe performs a tree merge where certain element nodes are combined
into one.  This introduces the possibility of xml namespaces conflicting
with each other.  The original mt.exe has a hierarchy whereby certain
namespace names can override others, and nodes that would then end up in
ambigious namespaces have their namespaces explicitly defined.  This
namespace handles this merging process.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311215 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-19 00:37:41 +00:00
Eric Beckmann b8776242df Add test to reject merging of empty manifest.
Reviewers: ruiu, rnk

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D35954

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309317 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-27 19:58:12 +00:00
Eric Beckmann 36406cba21 Diffing against a file that is itself used in the test seems to be a bad
idea, because it might get locked down and rendered unopenable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309142 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-26 17:47:44 +00:00
Eric Beckmann ec76cbbaaa Reapply "llvm-mt: implement simple merging of manifests, not factoring namespaces.
This time with correct #if.

This reverts commit 9cf4eca0e0383040c1ff1416815c7f649650c2a0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309064 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-26 00:25:12 +00:00
Eric Beckmann 0c862f5c0f Revert "llvm-mt: implement simple merging of manifests, not factoring namespaces."
This reverts commit 813308e240792ca70ed2f998f21df24a5061ada0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309050 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-25 23:06:46 +00:00
Eric Beckmann b0707e1a0d llvm-mt: implement simple merging of manifests, not factoring namespaces.
Summary:
Does a simple merge, where mergeable elements are combined, all others
are appended.  Does not apply trickly namespace rules.

Subscribers: llvm-commits, hiraditya

Differential Revision: https://reviews.llvm.org/D35753

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309047 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-25 22:50:25 +00:00
Eric Beckmann c1527448ed Implement parsing and writing of a single xml manifest file.
Summary: Implement parsing and writing of a single xml manifest file.

Subscribers: mgorny, llvm-commits, hiraditya

Differential Revision: https://reviews.llvm.org/D35425

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308679 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-20 21:42:04 +00:00
Eric Beckmann 4d0cf69a5e Revert "Adding temporary debugging info to llvm-mt to solve fedora failure."
This reverts commit 223ef99f839f6b056272bcf4390841fcb26dda3c.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308263 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-18 03:38:04 +00:00
Eric Beckmann 0b1f2e3eda Change '?' to 'h' in llvm-mt test.
Some shells seem to have trouble parsing non-alphanumeric symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308259 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-18 02:18:19 +00:00
Eric Beckmann 6b82fbdc99 Adding extra test info for llvm-mt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308252 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-18 01:13:10 +00:00
Eric Beckmann b8fb226737 Create empty shell of llvm-mt.
Summary:
This is the first patch towards creating the llvm-mt tool for merging
Windows manifests.  This is a reimplementation of mt.exe.

Reviewers: zturner, ruiu, rnk

Subscribers: llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D35333

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308224 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-17 21:35:12 +00:00