[Lldb-commits] [PATCH] D57213: [Scalar] Add support for 512-bits values.

Davide Italiano via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Jan 30 10:50:11 PST 2019


davide marked an inline comment as done.
davide added inline comments.


================
Comment at: lldb/source/Utility/Scalar.cpp:168
+      swapped_words[6] = apint_words[1];
+      swapped_words[7] = apint_words[0];
+      apint_words = swapped_words;
----------------
zturner wrote:
> davide wrote:
> > davide wrote:
> > > aprantl wrote:
> > > > std::reverse perhaps?
> > > We might want to change this everywhere.
> > I updated the comment but I can't really easily use `std::swap` or `std::reverse` because they operate on vectors and the unit of currency here is an array.
> > I thought about initializing a vector from the array we read and then call `std::reverse` (and then covert back to a pointer), but that didn't seem better than what we have now (or, at least, less ugly).
> I'm confused why `std::swap(swapped_words[7], swapped_words[0]);` and similar for the other 4 doesn't work though.
```
/Users/davide/llvm-monorepo/llvm-mono/llvm/tools/lldb/source/Utility/Scalar.cpp:144:7: error: no matching function for call to 'swap'
      std::swap(apint_words[0], apint_words[3]);
      ^~~~~~~~~
/Applications/Xcode4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4515:1: note: candidate template ignored: requirement 'is_move_assignable<const unsigned long long>::value' was not satisfied [with _Tp = const unsigned long long]
swap(_Tp& __x, _Tp& __y) _NOEXCEPT_(is_nothrow_move_constructible<_Tp>::value &&
```


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57213/new/

https://reviews.llvm.org/D57213





More information about the lldb-commits mailing list