summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2016-07-25 20:36:36 +0000
committerKevin Enderby <enderby@apple.com>2016-07-25 20:36:36 +0000
commit95b0842e64ffe02f09c8f54d39d4eb1b8dd0ebe0 (patch)
tree64032acf6f4259ad4bbcd4fe34243b680f0f1a89 /llvm/lib/CodeGen
parent10697a7c34e27a82efdffb3b29254ffc9309704f (diff)
downloadbcm5719-llvm-95b0842e64ffe02f09c8f54d39d4eb1b8dd0ebe0.tar.gz
bcm5719-llvm-95b0842e64ffe02f09c8f54d39d4eb1b8dd0ebe0.zip
Next step along the way to getting good error messages for bad archives.
I consulted with Lang Hames on this work, and the goal was to add a bit of "where" in the archive the error occurred along with what the error was. So this step changes ArchiveMemberHeader into a class with a pointer to the archive header and the parent archive. Which allows the methods in the ArchiveMemberHeader to determine which member the header is for to include that information in the error message. For this first step the "where" is just the offset to the member in the archive. The next step will be a new method on ArchiveMemberHeader to get the full name, if possible, to be use in the error message. Which will now be possible as ArchiveMemberHeader contains a pointer to the Archive with its string table and its size, etc. so the full name can be determined from the header if it is valid. Also this change adds the missing checks the archive header is actually contained in the buffer and is not truncated, as well as if the terminating characters are correct in the header. And changes one error message in Archive::Child::getNext() where the name or offset to member is now added. llvm-svn: 276686
Diffstat (limited to 'llvm/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud