<div dir="ltr">Sorry Alexey, I meant this code:<div><br></div><div>[kitayama1@juron1-adm pcp0151]$ cat tmp.cpp<br>class Base {<br>public:<br> virtual ~Base() {<br>     }<br>     virtual void operator()() = 0;<br>};<br><br>class Derived : public Base {<br>public:<br>  virtual void operator()();<br>};<br><br>void Derived::operator()() {<br>//      int x=0;<br>}<br>int main() {<br>#pragma omp target parallel for<br>    for (int i =0;i<100;i++) {<br>         Derived d;<br>    }<br><br>}<br></div><div><br></div><div>[kitayama1@juron1-adm pcp0151]$ clang++ -fopenmp -fopenmp-targets=nvptx64 tmp.cpp<br>nvlink error   : Undefined reference to '_ZdlPv' in '/tmp/tmp-f87ae4.cubin'<br>clang-11: error: nvlink command failed with exit code 255 (use -v to see invocation)<br>[kitayama1@juron1-adm pcp0151]$ c++filt _ZdlPv<br>operator delete(void*)<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 26, 2020 at 10:17 PM Alexey.Bataev <<a href="mailto:a.bataev@outlook.com">a.bataev@outlook.com</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>
    <p>You need to define operator() member function in Derived class to
      link it correctly.<br>
    </p>
    <pre cols="72">-------------
Best regards,
Alexey Bataev</pre>
    <div>25.03.2020 7:57 PM, Itaru Kitayama
      пишет:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div>Below code can't be built with OpenMP offloading flags
          enabled:</div>
        <div><br>
        </div>
        class Base {<br>
        public:<br>
        virtual void operator()() = 0;<br>
        };<br>
        <br>
        class Derived : Base {<br>
        public:<br>
        void operator()();<br>
        };<br>
        int main() {<br>
        #pragma omp target parallel for<br>
        for (int i =0;i<100;i++) {<br>
        Derived d;<br>
        }<br>
        <br>
        }<br>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Wed, Mar 25, 2020 at 11:47
          PM Alexey.Bataev <<a href="mailto:a.bataev@outlook.com" target="_blank">a.bataev@outlook.com</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>
            <p>What doy you see and what do you expect? Could you
              provide a reproducer?<br>
            </p>
            <pre cols="72">-------------
Best regards,
Alexey Bataev</pre>
            <div>25.03.2020 1:19 AM, Itaru Kitayama via Openmp-dev
              пишет:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">I would like to know why a class that has
                virtual destructor can not be
                <div>instantiated on the device while virtual methods
                  are ok.</div>
              </div>
              <br>
              <fieldset></fieldset>
              <pre>_______________________________________________
Openmp-dev mailing list
<a href="mailto:Openmp-dev@lists.llvm.org" target="_blank">Openmp-dev@lists.llvm.org</a>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a>
</pre>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </div>

</blockquote></div>