<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - "volatile" in OpenCL code not recognized when compiling with -fstack-protector"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=107369#c11">Comment # 11</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - "volatile" in OpenCL code not recognized when compiling with -fstack-protector"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=107369">bug 107369</a>
              from <span class="vcard"><a class="email" href="mailto:jan.vesely@rutgers.edu" title="Jan Vesely <jan.vesely@rutgers.edu>"> <span class="fn">Jan Vesely</span></a>
</span></b>
        <pre>GPUs don't really have a stack (not for data anyway) and AMDGCN backend
currently inlines all function calls anyway.
I'm not sure what kind of checks the flag adds.
If anyone can upload the different libclc bitcode it should be easy to spot.
My guess would be that it adds some initialized global variables used in
internal checks. This is illegal in CLC. only variables in constant address
space can have initializers.

IMO Debian should not be arbitrarily adding compilation flags unless they know
what they're doing and they have tested the resulting package.

local variables are stored in private address space which is backed either by
register file, or private buffers.
using volatile, to control where it is located, is a rather hacky workaround of
suboptimal register allocation/instruction scheduling.
Reporting a llvm bug with a reproducer can help. it'd need to be reproducible
using llvm-7, there are no further releases of llvm-5 or 6 planned.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>