1 Reply Latest reply on Oct 7, 2014 5:03 AM by dipak

    Elements of a struct or union must belong to the same address space

    maxdz8

      1.2 specification, page 235.

       

      Thereby, the following is invalid OpenCL C

       

      struct Tables {
           local ulong *t0;
           constant ulong *t1;
      };
      

       

      Output from building in codexl 64 is

      ========== Build started: Building groestlMYR_legacy.cl on 3 devices. ==========

      Compiling device: Capeverde... ...Failed!

      OpenCL Compile Error: clBuildProgram failed (CL_BUILD_PROGRAM_FAILURE).

      Error compiling program for legacyGROESTLMYR_1stStep.

       

       

      Frontend phase failed compilation.

      Error: Creating kernel legacyGROESTLMYR_1stStep failed!

       

      Which is clearly the right thing to do, albeit I would appreciate a more descriptive error (not necessarily with line number) as I find this particular limitation a bit distant from the "as C" mindset.