malem303

[SOLVED] Blocking parsing bug in AMD APP SDK 2.6

Discussion created by malem303 on Jan 19, 2012
Latest reply on Feb 3, 2012 by malem303

the parser is very wrong in my context

 

 

I'm having parsing issues that reders the SDK unusable.

My platform :

OS : linux AMD64 (virtual machine with ubuntu 11.10 AMD64 guest on a windows7 x64 host)

CPU : AMD A8

APP SDK version : 2.6

 

The following code will build and execute fine, but as soon as I change some random meaning less part of it it fails. For example, if I remove the blank line before #pragma [...] the build fails with :

            BUILD LOG
************************************************
/tmp/OCLQcu9fF.cl(1): warning: null (zero) character in input line ignored
   pragma OPENCL EXTENSION cl_amd_printf : enable
  ^

/tmp/OCLQcu9fF.cl(1): error: identifier "pragma" is undefined
   pragma OPENCL EXTENSION cl_amd_printf : enable
   ^

/tmp/OCLQcu9fF.cl(1): error: expected a ";"
   pragma OPENCL EXTENSION cl_amd_printf : enable
                 ^

./src/Types.h(33): warning: parsing restarts here after previous syntax error
  } Transform;
             ^

./src/ElementData.h(16): error: identifier "Transform" is undefined
      Transform transform;
      ^

/tmp/OCLQcu9fF.cl(11): error: function "printf" declared implicitly
      printf("global id = %u element id = %u \n", id, iid);
      ^

4 errors detected in the compilation of "/tmp/OCLQcu9fF.cl".

Internal error: clc compiler invocation failed.

************************************************
Program::build() failed (-11)

 

#pragma OPENCL EXTENSION cl_amd_printf : enable #include "Types.h" #include "ElementData.h" __kernel void transform(__global ElementData * elements, __global const size_t * ids) { int id = get_global_id(0); size_t iid = ids[id]; printf("global id = %u element id = %u \n", id, iid); }

Outcomes