summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2013-01-13 01:09:39 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2013-01-13 01:09:39 +0000
commit74ba722be14ed3ef4d832c73351b296ed9c08335 (patch)
treed797be9d8dc2084289f18a700b3c4fd5e369954a
parent2827a7ec6b16e21ef1b447cf42066fba14c21dfc (diff)
downloadbcm5719-llvm-74ba722be14ed3ef4d832c73351b296ed9c08335.tar.gz
bcm5719-llvm-74ba722be14ed3ef4d832c73351b296ed9c08335.zip
[YAML] Fix undefined behavior.
llvm-svn: 172338
-rw-r--r--lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
index a89958560c3..0581c2e056a 100644
--- a/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
+++ b/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
@@ -884,9 +884,11 @@ struct MappingTraits<const lld::DefinedAtom*> {
virtual ContentPermissions permissions() const { return _permissions; }
virtual bool isThumb() const { return false; }
virtual bool isAlias() const { return false; }
- ArrayRef<uint8_t> rawContent() const {
- return ArrayRef<uint8_t>((uint8_t*)&_content.operator[](0),
- _content.size()); }
+ ArrayRef<uint8_t> rawContent() const {
+ return ArrayRef<uint8_t>(
+ reinterpret_cast<const uint8_t *>(_content.data()), _content.size());
+ }
+
virtual uint64_t ordinal() const { return 0; }
reference_iterator begin() const {
OpenPOWER on IntegriCloud