diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-13 20:38:09 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-13 20:38:09 +0000 |
commit | 6a8e86f26e6d34af234482aee7ba8ebc85bb9aad (patch) | |
tree | 08dbefcfe7d2b8a2aa62dc8ca71c0a115ba52ace /llvm/tools/llvm-ar/llvm-ar.cpp | |
parent | 86b1fd77e6a2444b9e4a1d17e6ae291abdebbb03 (diff) | |
download | bcm5719-llvm-6a8e86f26e6d34af234482aee7ba8ebc85bb9aad.tar.gz bcm5719-llvm-6a8e86f26e6d34af234482aee7ba8ebc85bb9aad.zip |
Add support deterministic output in llvm-ar and make it the default.
llvm-svn: 242061
Diffstat (limited to 'llvm/tools/llvm-ar/llvm-ar.cpp')
-rw-r--r-- | llvm/tools/llvm-ar/llvm-ar.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp index 66daba30a4a..698c9bb38c9 100644 --- a/llvm/tools/llvm-ar/llvm-ar.cpp +++ b/llvm/tools/llvm-ar/llvm-ar.cpp @@ -129,6 +129,7 @@ static bool OriginalDates = false; ///< 'o' modifier static bool OnlyUpdate = false; ///< 'u' modifier static bool Verbose = false; ///< 'v' modifier static bool Symtab = true; ///< 's' modifier +static bool Deterministic = true; ///< 'D' and 'U' modifiers // Relative Positional Argument (for insert/move). This variable holds // the name of the archive member to which the 'a', 'b' or 'i' modifier @@ -245,6 +246,12 @@ static ArchiveOperation parseCommandLine() { AddBefore = true; NumPositional++; break; + case 'D': + Deterministic = true; + break; + case 'U': + Deterministic = false; + break; default: cl::PrintHelpMessage(); } @@ -570,13 +577,14 @@ performWriteOperation(ArchiveOperation Operation, object::Archive *OldArchive, } if (NewMembersP) { std::pair<StringRef, std::error_code> Result = - writeArchive(ArchiveName, *NewMembersP, Symtab, Kind); + writeArchive(ArchiveName, *NewMembersP, Symtab, Kind, Deterministic); failIfError(Result.second, Result.first); return; } std::vector<NewArchiveIterator> NewMembers = computeNewArchiveMembers(Operation, OldArchive); - auto Result = writeArchive(ArchiveName, NewMembers, Symtab, Kind); + auto Result = + writeArchive(ArchiveName, NewMembers, Symtab, Kind, Deterministic); failIfError(Result.second, Result.first); } |