cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

malem303
Journeyman III

[SOLVED] Blocking parsing bug in AMD APP SDK 2.6

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); }

0 Likes
15 Replies