History log of /external/llvm/tools/llvm-ar/llvm-ar.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cf48cf23de9207e4000df91aadc0beaa0989e33d 29-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add support for the 's' operation to llvm-ar.

If no other operation is specified, 's' becomes an operation instead of an
modifier. The s operation just creates a symbol table. It is the same as
running ranlib.

We assume the archive was created by a sane ar (like llvm-ar or gnu ar) and
if the symbol table is present, then it is current. We use that to optimize
the most common case: a broken build system that thinks it has to run ranlib.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
70c7e485453fdbc228406715556f9447bc9f9fd8 23-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Split getOpenFile into getOpenFile and getOpenFileSlice.

The main observation is that we never need both the filesize and the map size.
When mapping a slice of a file, it doesn't make sense to request a null
terminator and that would be the only case where the filesize would be used.

There are other cleanups that should be done in this area:

* A client should not have to pass the size (even an explicit -1) to say if
it wants a null terminator or not, so we should probably swap the argument
order.
* The default should be to not require a null terminator. Very few clients
require this, but many end up asking for it just because it is the default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
af02bf4a581dc9548ba3160b9d654a4893a12491 23-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix the build in c++03 mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
26b10da9c2b9b22418ca532bfb50274b2556eb53 23-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add an initial implementation of archive symbol table generation.

The symbol table has forward references in the file. Instead of allocating
a temporary buffer or counting the size and then writing, this implementation
writes a dummy value first and patches it once the final value is known.

There is room for performance improvement. I will implement them as soon as I
get some other features (like a ranlib mode) in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
51392a079e3285303fe815672b3db6b4cf903231 22-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Replace archive members in the old position.

This matches gnu archive behavior and since archive member order can change
which member is used, not changing the order on replacement looks like the
right thing to do.

This patch also refactors the logic for which archive member to keep and
whether to move it to a helper function (computeInsertAction). The
nesting in computeNewArchiveMembers was getting a bit confusing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
02a1364bf8ede511ad603e5aa99ea7dbf11f0609 21-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Handle replacement into a position past the original member.

We were incorrectly computing where to insert a member if it was replacing
a previous member that was before the insert point.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
b55dcfe47fbbcfc1dccd07cb27c02b9a86533d05 19-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix inserting new elements in a specified location.

We were only handling the 'a' and 'b' options during moves before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
946dbd83df0aa42e67a0a17af32475b273c2e8f8 17-Jul-2013 NAKAMURA Takumi <geek4civic@gmail.com> llvm-ar: doExtract(): Write extracted files with F_Binary. It should fix llvm/test/Object/extract.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
c1b49b56d4132efa2e06deb8f23508d0de4c8800 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a wrapper for open.

This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
95779b65cf7b7d7c22bf2d22d03c661c8130cbe2 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> On error, close the temporary file descriptor.

With this change llvm-ar can remove the temporary file on windows too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
bd6cb260b9ff3258c8855edcd31adffd6c7deb56 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Use open+fstat instead of stat+open.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
289e241d775565b450286a682d7e8a1a1b625f61 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remember that we have a null terminated string.

This is a micro optimization. Instead of going char*->StringRef->Twine->char*,
go char*->Twine->char* and avoid having to copy the filename on the stack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
718af7892033aa965efafbf63c7636d91728662b 13-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Try to open the file before use data from stat.

Looks like on mingw we get bogus last modification times on directories.
Should fix the mingw bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
c9516518946a09090c00f951679255628794f41a 13-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add r186216 back, but make the test tolerant of different uids and gids.

original message:
Fix a off by one error about which members need to use the string table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
1dedabdfad8f3412256e706905b9b3b69aa2e17a 13-Jul-2013 Chandler Carruth <chandlerc@gmail.com> Revert commit r186216 -- it's breaking bots:

http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/6897/steps/check-all/logs/LLVM%3A%3Aarchive-format.test

Original commit log:
Fix a off by one error about which members need to use the string
table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
6383ef98fae2bab4595c6c36394093b7ad4a5597 13-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix a off by one error about which members need to use the string table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
33ccfb2d261dbb2c5099669c1712df789ba8aedc 12-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix the build with c++03.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
34ac52d9377b104c83f80184f284199d68732f07 12-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Change llvm-ar to use lib/Object.

This fixes two bugs is lib/Object that the use in llvm-ar found:
* In OS X created archives, the name can be padded with nulls. Strip them.
* In the constructor, remember the first non special member and use that in
begin_children. This makes sure we skip all special members, not just the
first one.

The change to llvm-ar itself consist of
* Using lib/Object for reading archives instead of ArchiveReader.cpp.
* Writing the modified archive directly, instead of creating an in memory
representation.

The old Archive library was way more general than what is needed, as can
be seen by the diffstat of this patch.

Having llvm-ar using lib/Object now opens the way for creating regular symbol
tables for both native objects and bitcode files so that we can use those
archives for LTO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
2494dfcf1795a9bd28030d04cf2fb15e5c3b0f33 12-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add static.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
4d5b0da81b8126eb612085e17b3b55c007056580 11-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Use %llu to print a 64 bit number. Should fix the ARM bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
1b3e3eef1fb51ace32b32e5ca217dacb03333b13 11-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> InsertBefore is the same as AddBefore. Delete it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
71857ccdb83b6374f7a791c2dae45ce9934a85af 11-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix a FIXME about the format and add a test.

While at it, use strftime on Unix too and use the thread safe versions
of localtime.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
1b0dc64919e947bb4f4677b138c734e33061f7c4 11-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove the 'N' modifier from llvm-ar.

* It is not present on OS X.
* It is untested.
* It is not needed for using ar in a build system.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
55804a089e7ac26d5a07a9ac38e5dcedad3f2754 11-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Delete dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
ab7348f8b188270ecbd309d5f0f4696f1f782c9b 11-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove support for truncating names in archives.

* All systems we support have some form of long name support.
* The options has different names and semantics in different implementations
('f' on gnu, 'T' on OS X), which makes it unlikely it is normally used on
build systems.
* It was completely untested.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
4f2779b809f6a9bb5ca63b10d55f8302cca2c656 11-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Sync llvm-ar's help string with the options it supports.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
35637fc6233c3ee275d497286241795986b6e432 08-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Create files with the correct permission instead of changing it afterwards.

No intended functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
2be430d251a781e76634e945d56224a7a0ef5a39 06-Jul-2013 Michael Gottesman <mgottesman@apple.com> [llvm-ar] Added llvm_unreachable to quiet -Wreturn-type warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
61de142984aa6cb1acfe4725183193d04e437420 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't create an archive if, for example, we are asked to print the index.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
ef2703a1fbe6f7f2aed9bbb8f501a4b0d068886e 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Use simpler version of exists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
87b8a7f9996ee7463b787fc85394287de903c7d7 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove NoOperation.

parseCommandLine prints and error and exists if no operation is specified, so
it never returns NoOperation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
24663f69cc98545b32d2eeeed1da887e7910e2f7 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't treat bitcode files specially in llvm-ar.

We really want bitcode files to behave as regular object files in archives, so
we don't need to track that a member is bitcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8874cc242b8f68ee412e47a3c34fa2d5718feab5 21-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a fixme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
11ca2e508c2152732c364d02e5b381e61c851084 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a setLastModificationAndAccessTime to PathV2.

With this we can remove the last use of PathV1 from llvm-ar.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
f9f44f3d5ad391e5b17916b4198e442d1a64a0b1 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Use a raw_fd_ostream instead of a std::ofstream.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
201c66c9b06e509d0a02972e7947a8e97aa17a2e 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove a trivial use of sys::Path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
29c17db6508eec1c7c9fb23f3ce863d5ed9bef0e 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Add support for getting the last modification time from a file_status.

Use that in llvm-ar.cpp to replace a use of sys::PathWithStatus.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
eb729e004bed134c61b811286e958815b9c4809f 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Use only the filename when deciding if a file is a duplicate.

Matches gnu ar behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
122c57c0b82d125f33d2f036a67e96339e95c402 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Add r184420 back, but also handle long file names.

Original message:

Don't include directory names in archives.

This matches the behavior of both gnu and os x versions of ar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
9d39cb1d6418c5a25fa74f09e593794a4c8fd4b6 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Revert "Don't include directory names in archives."

This reverts commit 184420.
Investigating the bot failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
be984d6376bf42f9e05fb660b44808cffe9711a8 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't include directory names in archives.

This matches the behavior of both gnu and os x versions of ar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
6f2c88a08b30e9e22d71ed7d7abb89bbcc9d1629 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove remaining bits of the old LLVM specific symtab handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
436cd0cfcf227ba1010b96d9ecb1d62e391f3059 20-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Convert a use of sys::Path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
b4900b132eb899671b6ea7ca9f185d493cf0c564 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove last use of PathV1.h from Archive.h

Store the individual fields we need instead of a sys::FileStatus.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
27ff1f3f7d9a20e02e00fe88dbb7541ce066d33c 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Always set the mode.

This matches GNU ar behavior. Also remove the now unused getFileStatus method.
Not sure how to add a test, it would have to run ls -l or something like that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
13f4fd77b96c39b3836d1186953003ddfea3a646 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove more uses of sys::Path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
3baf01bd95586875274f6f36cf9931c8ebff2c39 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Another attempt at fixing the bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
7391366cdf55ca5f5faf97a9ac2b01da47e2749c 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Attempt at fixing some bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
4d07abbb01b7bfc8e6e24ce07f2487803df50ea3 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Reduce sys::Path usage in llvm-ar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8fe960ed50d3ad39d2a45f960ed8b9a69268035a 19-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove the 'R' modifier.

It is not present in GNU or OS X versions and doesn't make a lot of sense
for llvm-ar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8496faea07de27b6d3435d02855db4bfebcc2781 17-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Move lib/Archive to tools/llvm-ar.

llvm-ar is the only tool that needs to write archive files. Every other tool
should be able to use the lib/Object interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
250bfb1745fd72615b618e3c8748321a104d80d0 15-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove the LLVM specific archive index.

Archive files (.a) can have a symbol table indicating which object
files in them define which symbols. The purpose of this symbol table
is to speed up linking by allowing the linker the read only the .o
files it is actually going to use instead of having to parse every
object's symbol table.

LLVM's archive library currently supports a LLVM specific format for
such table. It is hard to see any value in that now that llvm-ld is
gone:

* System linkers don't use it: GNU ar uses the same plugin as the
linker to create archive files with a regular index. The OS X ar
creates no symbol table for IL files, I assume the linker just parses
all IL files.

* It doesn't interact well with archives having both IL and native objects.

* We probably don't want to be responsible for yet another archive
format variant.

This patch then:

* Removes support for creating and reading such index from lib/Archive.
* Remove llvm-ranlib, since there is nothing left for it to do.

We should in the future add support for regular indexes to llvm-ar for
both native and IL objects. When we do that, llvm-ranlib should be
reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
f010c464a11444733ec67e31aace8bcebeaf2588 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for tools/...

Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
975bc072ae1d4502d0dc7ca0d218a18574108ee6 26-Oct-2012 Joerg Sonnenberger <joerg@bec.de> Adjust llvm-ar and llvm-ranlib to not depend on exception handling.
Always use an exit code of 1, but print the help message if useful.
Remove the exception handling tag in llvm-as, llvm-dis and
llvm-bcanalyzer, where it isn't used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
94bc246a8b2fd0ef371c8f3846ac9a5a367ed9ab 10-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Remove references to compression in llvm-ar. It has been a long time since we
switched from a bytecode+bzip2 to the current bitcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
83a113b77c1b57f14175db9d401b949ed64e77ad 10-Jan-2011 Michael J. Spencer <bigcheesegs@gmail.com> Fix Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
54453f2978c76b3aa71be7bb4e9657c8539f8648 10-Jan-2011 Michael J. Spencer <bigcheesegs@gmail.com> Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
424a04ec4e291fb25782eb412d57e3a36f880c6e 30-Nov-2010 Chris Lattner <sabre@nondot.org> convert llvm-ar and llvm-ranlib to raw_ostream from iostreams.
Patch by Danil Malyshev!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8da76367c5d6beadd520d35aef77e6d47996ea19 24-Aug-2009 Chris Lattner <sabre@nondot.org> remove the last *stream> #include from a public header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
74382b7c699120fbec5cb5603c9cf4212eb37f06 24-Aug-2009 Chris Lattner <sabre@nondot.org> Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
0d7c695c74ae6d5f68cc07378c17491915e607d3 16-Jul-2009 Owen Anderson <resistor@mac.com> To simplify the upcoming context-on-type change, switch all command line tools to using the default global context for now.

This will let us to hardwire stuff to the global context in the short term while the API is sorted out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
65f57c233cd4499e2e8b52a503201e64edfd6a9e 15-Jul-2009 Dan Gohman <gohman@apple.com> Use errs() instead of std::cerr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
31895e73591d3c9ceae731a1274c8f56194b9616 01-Jul-2009 Owen Anderson <resistor@mac.com> Hold the LLVMContext by reference rather than by pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8b477ed579794ba6d76915d56b3f448a7dd20120 01-Jul-2009 Owen Anderson <resistor@mac.com> Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.

Patches for Clang and LLVM-GCC to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
cc14d25dd99e891c586bd56aa41796abbe4ac3d8 06-Mar-2009 Chris Lattner <sabre@nondot.org> Change various llvm utilities to use PrettyStackTraceProgram in
their main routines. This makes the tools print their argc/argv
commands if they crash.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
7d8f9b6133898fcd0c51729b98bc9841ad9b55fe 05-Feb-2009 Chris Lattner <sabre@nondot.org> fix PR3488: llvm-ar r doesn't replace existing files

Patch by Daniel Shelton!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
63b8c1f6f118dfef44422283947bdc3388c0fcb4 28-Feb-2008 Andrew Lenharth <andrewl@lenharth.org> Make llvm-ar behave like ar, if you create an empty archive, ar creates an empty archive. llvm-ar would not generate an output file in this case

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
21c62da287237d39d0d95004881ea4baae3be6da 29-Dec-2007 Chris Lattner <sabre@nondot.org> remove attributions from tools.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
dc32d19c1c8f976e078784da09df1095077738d7 25-Dec-2007 Seo Sanghyeon <sanxiyn@gmail.com> Actually parse q operation in llvm-ar

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
82f209e42136f1bbed3afc782c78f8ff59409e71 15-Oct-2007 Dan Gohman <gohman@apple.com> Fix a typo in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
82a13c9c4811e40d0ff858c508cb54d672ee926e 08-Oct-2007 Dan Gohman <gohman@apple.com> Move the space in overview output for commands out of each of the
commands and into the common code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
e75ca3d809ff17260efa320a949cb91ea2b3981e 06-Jul-2007 Gabor Greif <ggreif@gmail.com> eliminate residual cruft related to recognizing bytecode
files.
bitcode files are the only LLVM format left.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
a99be51bf5cdac1438069d4b01766c47704961c8 05-Jul-2007 Gabor Greif <ggreif@gmail.com> Here is the bulk of the sanitizing.
Almost all occurrences of "bytecode" in the sources have been eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
44dadffe4bd58ab32961ca5fe537e8ba69c09243 06-May-2007 Chris Lattner <sabre@nondot.org> switch tools to bitcode instead of bytecode


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
184e67e208e2f54a3a89c262a25e45e819f58a61 08-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Don't rely on destructed local storage. Thanks, Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
c74b4615071151b20fb1f82b11f85c2a1ba53e75 07-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1291:
Change uses of sys::Path class to sys::PathWithStatus in those places where
the file status information is needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8475ec068c213d0bf73f7686d82491a8f12e3b32 29-Mar-2007 Reid Spencer <rspencer@reidspencer.com> For PR789:
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
cf525fcbae2ad70c9cee2f1941483bb1e51040ce 29-Mar-2007 Jeff Cohen <jeffc@jolt-lang.org> getFileStatus has a new parameter (caught by VC++).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
c30598bc3ad792eb8cc75b188eb872a28c62ab71 06-Dec-2006 Chris Lattner <sabre@nondot.org> make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.

With this change, I can now move -stats to print when llvm_shutdown is called.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
3ed469ccd7b028a030b550d84b7336d146f5d8fa 02-Nov-2006 Reid Spencer <rspencer@reidspencer.com> For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
09069b3bf57df0103f3be3c7cb6e61680c857ca1 25-Aug-2006 Reid Spencer <rspencer@reidspencer.com> Fix a bug caused by change in the interface of Archive::writeToDisk.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
0ff2d31766209ce1a69d4d2c5d35761ef57362aa 25-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Remove exception handling from the bytecode archiver and adjust the llvm-ar
tool to accommodate the new interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
142ca8e81800ce6bcb511f3250bae23210d38ec8 23-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Remove exception throwing from Path::getDirectoryContents and its users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29841 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
e5c9cb5eb6bce502faaedea04014dab46f6540f4 23-Aug-2006 Reid Spencer <rspencer@reidspencer.com> For PR797:
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8bdbb04f9b1b79a75677b1ff6217cadc3b660af9 01-Aug-2006 Chris Lattner <sabre@nondot.org> Use Path::getFileStatus


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
252ad03d7db0add504fdcc6bd67c1bc1e28bdd57 29-Jul-2006 Chris Lattner <sabre@nondot.org> Change Path::getStatusInfo to return a boolean and error string on an error
instead of throwing an exception. This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
3039b99697639479bf7ce1a447cb0b9a580a7606 07-Jul-2006 Reid Spencer <rspencer@reidspencer.com> Remove EH use from the Archive library and adjust its users accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29066 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
d74ea2bbd8bb630331f35ead42d385249bd42af8 24-May-2006 Chris Lattner <sabre@nondot.org> Patches to make the LLVM sources more -pedantic clean. Patch provided
by Anton Korobeynikov! This is a step towards closing PR786.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
6927b067bc43427a7db159ba9a603046a4a9c02c 28-Dec-2005 Duraid Madina <duraid@octopus.com.au> more compliance stufff


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
a229c5cce75209047db32c6039aa0b0fd481f049 08-Jul-2005 Reid Spencer <rspencer@reidspencer.com> Final Changes For PR495:

This chagne just renames some sys::Path methods to ensure they are not
misused. The Path documentation now divides methods into two dimensions:
Path/Disk and accessor/mutator. Path accessors and mutators only operate
on the Path object itself without making any disk accesses. Disk accessors
and mutators will also access or modify the file system. Because of the
potentially destructive nature of disk mutators, it was decided that all
such methods should end in the work "Disk" to ensure the user recognizes
that the change will occur on the file system. This patch makes that
change. The method name changes are:

makeReadable -> makeReadableOnDisk
makeWriteable -> makeWriteableOnDisk
makeExecutable -> makeExecutableOnDisk
setStatusInfo -> setStatusInfoOnDisk
createDirectory -> createDirectoryOnDisk
createFile -> createFileOnDisk
createTemporaryFile -> createTemporaryFileOnDisk
destroy -> eraseFromDisk
rename -> renamePathOnDisk

These changes pass the Linux Deja Gnu tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22354 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
dd04df0ec33a903ee7fc747701bafde622f77d8b 08-Jul-2005 Reid Spencer <rspencer@reidspencer.com> For PR495:
Get rid of the difference between file paths and directory paths. The Path
class now simply stores a path that can refer to either a file or a
directory. This required various changes in the implementation and interface
of the class with the corresponding impact to its users. Doxygen comments were
also updated to reflect these changes. Interface changes are:

appendDirectory -> appendComponent
appendFile -> appendComponent
elideDirectory -> eraseComponent
elideFile -> eraseComponent
elideSuffix -> eraseSuffix
renameFile -> rename
setDirectory -> set
setFile -> set

Changes pass Dejagnu and llvm-test/SingleSource tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
3da94aec4d429b2ba0f65fa040c33650cade196b 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
5fb6ed4ae608c6f7ef589f1069b5dd5c7bdbd60b 22-Jan-2005 Jeff Cohen <jeffc@jolt-lang.org> Use binary mode for reading/writing bytecode files


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
b4ed7b0f809a4023a0e9f80f4530d59d357dc5ef 15-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Unbreak all archive reading operations introduced by the last patch which
always exited the program with exit code 1 in these cases, regardless of
whether an error occurred or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
67c3821ea002aea0c3be9286d1779cf67fc03451 15-Dec-2004 Chris Lattner <sabre@nondot.org> Do not fail an assertion on a broken archive


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
b50ae1202105d7404c0157507a1febf4e579012a 15-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR351:
Remove #inclusion of Support/FileUtilities.h which isn't needed any more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
1fce09125cb46c91407668ca29915c450a482811 11-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Path::get -> Path::toString


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
0de66b5cc8766102197c565a32bc7f9436b607da 02-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Implement file replacement correctly even with the f (TruncateNames) flag
set. The member name comparison was failing for truncated names. This patch
fixes that. Truncated names are now properly replaced.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
0fdd363a26b0c35d2e4b9b0e9831b14d79a549dc 20-Nov-2004 Reid Spencer <rspencer@reidspencer.com> The Archive class now has differentiation for BSD4.4 and SVR4 style archive
symbol tables. Adjust our usage to compensate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
bede58363c647a4e73112fdfb409e9af7051301e 16-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Per code review: \
* hide the compatibility option \
* Make static things static \
* Use cl::extrahelp instead of cl::MoreHelp (defunct) \
* Use cl::PrintHelpMessage instead of our own printUse function \
* Use a std::set<sys::Path> for the path list because its now required by \
the sys::Path class and also ensues directories are traversed in sorted \
order.\
* Implement symbol table printing locally instead of in libLLVMArchive \
* Adjust to changes in llvm::Archive interface \
* Make sure we destruct objects even if exceptions occur. \
* Fix a typo in an output string.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
d607491480761386ccc64ff1facc3208c6436e39 15-Nov-2004 Tanya Lattner <tonic@nondot.org> This file was originally developed by the LLVM research group so this comment should stay. I also do NOT want my name explicity listed on src files. I am already mentioned in the credits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
b55bc06bad38162735f6e5ae2765be686fb47b2c 15-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Correct call of methods whose names have changed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
3a1582b5b2f497bf0b2bcdf30a3430025b063ec4 14-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Total rewrite using Archive library & new functionality


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
9de7b334ec6f80a15f093f11b339f5741c964b34 29-Aug-2004 Reid Spencer <rspencer@reidspencer.com> The functions in Signal.h are now in the llvm::sys namespace - adjust


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
86f42bdad93677fa0ca33b27afb0f493028376cb 04-Jul-2004 Reid Spencer <rspencer@reidspencer.com> Add #include <iostream> since Value.h does not include it any more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
bed85ff010b95923646ed4e187a5d432cedf67da 27-May-2004 Chris Lattner <sabre@nondot.org> Header file moved


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
f73b4ca7f9c5e4a19c3fba9fa0280768b4c64891 19-Feb-2004 Chris Lattner <sabre@nondot.org> Make sure to print a stack trace whenever an error signal is delivered to the
tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
97f752f6d501f507b5ed433a28f8e6f09cbe5170 30-Dec-2003 Chris Lattner <sabre@nondot.org> Use new getFileSize function. Eliminate some using directives. Reorder #includes a bit


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
57bd7966049f77d93ed937780bee8a6c4e260cef 07-Dec-2003 Tanya Lattner <tonic@nondot.org> New command line parsing. This isn't as perfect as I would have liked. The CommandLine Library needs to be extended, in order to parse the options and allow for optional dashes. In addition, the help option isn't correct since I do the parsing mostly myself. But this is in the ocorrect ar format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
1ee1e64293dc1727c0119530ae4bc72006879954 20-Oct-2003 John Criswell <criswell@uiuc.edu> Removed extraneous comment line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
7c0e022c5c4be4b11e199a53f73bbdd84e34aa80 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added copyright header to all C++ source files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
4fa9fd3035780e7733f4b4510d1f98c70f65bfd7 10-Oct-2003 Brian Gaeke <gaeke@uiuc.edu> Rewrite head-of-file comment.
Include <cstdio> instead of <stdio.h>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
cf00c4ab3ba308d45d98c5ccab87362cf802facb 10-Oct-2003 Misha Brukman <brukman+llvm@gmail.com> Fix spelling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
8d2ff1314901dd61f719b7689e4e2355d13c60f5 23-Sep-2003 Misha Brukman <brukman+llvm@gmail.com> Squelch warning and delete extra space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
e3df92e9c18eed1f550babb0014827cd8a740112 13-Sep-2003 Tanya Lattner <tonic@nondot.org> Fixed warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp
14baebf4ee48b2c34b3a2eec972f89e1c8806263 28-Aug-2003 Tanya Lattner <tonic@nondot.org> First version of llvm-ar added to cvs repository.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-ar/llvm-ar.cpp