<div dir="ltr">Hi Mikael,<div><br></div><div>sent out 4f4a8ae72e95f2c7fa5e4ca56dd6b1a83a304680, please let me know if it helps!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 4, 2020 at 12:40 PM Mikael Holmén via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">uabelho added inline comments.<br>
<br>
<br>
================<br>
Comment at: clang-tools-extra/clangd/CodeComplete.cpp:1034<br>
   const PreambleData &Preamble;<br>
-  const PreamblePatch &Patch;<br>
+  llvm::Optional<const PreamblePatch> Patch;<br>
   llvm::StringRef Contents;<br>
----------------<br>
Hi!<br>
<br>
When compiling with gcc 7.4 I see a warning that I think originates from this line:<br>
<br>
```<br>
[4032/4668] Building CXX object tools/clang/tools/extra/clangd/CMakeFiles/obj.clangDaemon.dir/CodeComplete.cpp.o<br>
In file included from /data/repo/master/llvm/include/llvm/ADT/STLExtras.h:19:0,<br>
                 from /data/repo/master/llvm/include/llvm/ADT/StringRef.h:12,<br>
                 from /data/repo/master/clang-tools-extra/clangd/URI.h:12,<br>
                 from /data/repo/master/clang-tools-extra/clangd/Protocol.h:26,<br>
                 from /data/repo/master/clang-tools-extra/clangd/Headers.h:12,<br>
                 from /data/repo/master/clang-tools-extra/clangd/CodeComplete.h:18,<br>
                 from /data/repo/master/clang-tools-extra/clangd/CodeComplete.cpp:20:<br>
/data/repo/master/llvm/include/llvm/ADT/Optional.h: In instantiation of 'void llvm::optional_detail::OptionalStorage<T, <anonymous> >::emplace(Args&& ...) [with Args = {const clang::clangd::PreamblePatch}; T = const clang::clangd::PreamblePatch; bool <anonymous> = false]':<br>
/data/repo/master/llvm/include/llvm/ADT/Optional.h:55:14:   required from 'llvm::optional_detail::OptionalStorage<T, <anonymous> >::OptionalStorage(llvm::optional_detail::OptionalStorage<T, <anonymous> >&&) [with T = const clang::clangd::PreamblePatch; bool <anonymous> = false]'<br>
/data/repo/master/llvm/include/llvm/ADT/Optional.h:228:3:   required from here<br>
/data/repo/master/llvm/include/llvm/ADT/Optional.h:89:12: warning: cast from type 'const clang::clangd::PreamblePatch*' to type 'void*' casts away qualifiers [-Wcast-qual]<br>
     ::new ((void *)std::addressof(value)) T(std::forward<Args>(args)...);<br>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
```<br>
<br>
<br>
<br>
Repository:<br>
  rG LLVM Github Monorepo<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://reviews.llvm.org/D77644/new/" rel="noreferrer" target="_blank">https://reviews.llvm.org/D77644/new/</a><br>
<br>
<a href="https://reviews.llvm.org/D77644" rel="noreferrer" target="_blank">https://reviews.llvm.org/D77644</a><br>
<br>
<br>
<br>
</blockquote></div>