<div dir="ltr">We have made a new release of the vscode-clangd. The new version v0.0.12 should support .cu files, but note that the extension is not enabled by vscode if you just open a .cu file, you'd need to run the activation command to activate the extension (on Linux, press "Ctrl+P" to open the "Quick Open" file list, type "> activate clangd", and select the item it suggested).<div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 25, 2019 at 12:03 PM Ilya Biryukov via clangd-dev <<a href="mailto:clangd-dev@lists.llvm.org">clangd-dev@lists.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"><div dir="ltr"><div dir="ltr">Ah, we don't have clangd enabled for .cu files, <a href="https://reviews.llvm.org/D59759" target="_blank">https://reviews.llvm.org/D59759</a> would should do the trick clangd.<div>However, I'm not 100% certain it's a good idea since compilation db seems to be broken for CUDA files by default. OTOH, clangd is already enabled on CUDA headers, so it's not like we were handling this use-case properly anyway.</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Mar 23, 2019 at 8:29 PM Jacek Ciesielski <<a href="mailto:trupwszafie@o2.pl" target="_blank">trupwszafie@o2.pl</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">
  
    
  
  <div bgcolor="#FFFFFF">
    <p>Hi Ilya,</p>
    <p>Thank you for replying!</p>
    <p>Today, I did some more extensive testing. I've managed to run YCM
      with clangd support successfully. I still fail with libclang. I
      guess that's a whole different story.</p>
    <p>It turns out, I've been using compile_commands.json generated by
      cmake, which doesn't support clang as cuda compiler. After
      correcting the flags manually, I was able to get completion for a
      .cu file. Like you said, it doesn't recognize cuda specific code,
      e.g. <tt>__syncthreads();</tt> but I reckon those are fixable by
      some quick macros and include hacks.<br>
    </p>
    <p>However, my setup of VSCode fails completely when it comes to .cu
      files. I am attaching screen showing a simple cpp-only completion
      test. I expected it would know a list of vector's method.<br>
      Setup:<br>
      Arch linux 5.0.3<br>
      VSCode 1.32.3, vscode-clangd 0.0.11<br>
      clangd 7.0.1<br>
    </p>
    <p>My project is closed source. I need some CUDA 9 and 10 features
      so I am kinda forced to use nvcc.</p>
    <p>I suppose the next position on my wish list is generating
      commands for clang by cmake or accepting nvcc flags by clang. Even
      with script replacing flags, needing to run it each time I
      regenerate flags is dull.<br>
    </p>
    <p>Best regards,<br>
      Jacek<br>
    </p>
    <div class="gmail-m_853542643181236439gmail-m_1235323888949903283moz-cite-prefix">On 3/22/19 3:36 PM, Ilya Biryukov
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Hi Jacek,
        <div><br>
        </div>
        <div>We haven't put any effort into supporting CUDA so far.</div>
        <div>However, clang supports CUDA, so basic features should work
          on CUDA code, e.g. non-CUDA-specific completions, resolve,
          etc.</div>
        <div><br>
        </div>
        <div>The difficulty is obtaining a compilation database that
          specifies proper CUDA-specific flags.</div>
        <div><br>
        </div>
        <div>Could you describe the setup with YCM or VSCode that you
          tried and that didn't work for you? What's the project (if
          it's open-source) you tried running on? What's your OS and
          what kind of toolchain do you use for the build (nvcc, clang)?</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 2:26
          PM Jacek Ciesielski via clangd-dev <<a href="mailto:clangd-dev@lists.llvm.org" target="_blank">clangd-dev@lists.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">Hi
          guys,<br>
          <br>
          I couldn't find any reliable info whether clangd supports CUDA
          completion.<br>
          <br>
          Docs mention only C++. Yet, I tried using it with some CUDA
          code. I <br>
          didn't succeed trying with YCM nor VS Code. Is it possible at
          all? How <br>
          much effort would that possibly take to develop support for
          CUDA?<br>
          <br>
          Best regards,<br>
          Jacek<br>
          <br>
          _______________________________________________<br>
          clangd-dev mailing list<br>
          <a href="mailto:clangd-dev@lists.llvm.org" target="_blank">clangd-dev@lists.llvm.org</a><br>
          <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev</a><br>
        </blockquote>
      </div>
      <br clear="all">
      <div><br>
      </div>
      -- <br>
      <div dir="ltr" class="gmail-m_853542643181236439gmail-m_1235323888949903283gmail_signature">
        <div dir="ltr">
          <div>
            <div dir="ltr">
              <div>Regards,</div>
              <div>Ilya Biryukov</div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
  </div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_853542643181236439gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Regards,</div><div>Ilya Biryukov</div></div></div></div></div>
_______________________________________________<br>
clangd-dev mailing list<br>
<a href="mailto:clangd-dev@lists.llvm.org" target="_blank">clangd-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev</a><br>
</blockquote></div>