From d70ee633e3cd9112064cb1258108fc66b54b42f4 Mon Sep 17 00:00:00 2001
From: log2 <logtwo2@gmail.com>
Date: Sat, 15 Nov 2014 18:45:41 +0100
Subject: [PATCH] Fixed references to the wrong Local/Constant annotations (we
 were mistakenly pointing at OpenCL.Local and OpenCL.Constant, aimed at
 parameters, rather than Kernel.Local and Kernel.Constant, aimed at fields)

---
 .../aparapi/internal/writer/KernelWriter.java | 42 +++++++++----------
 1 file changed, 19 insertions(+), 23 deletions(-)

diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java b/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java
index 613b091f..40929ff1 100644
--- a/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java
+++ b/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java
@@ -47,9 +47,6 @@ import com.amd.aparapi.internal.model.ClassModel.AttributePool.*;
 import com.amd.aparapi.internal.model.ClassModel.AttributePool.RuntimeAnnotationsEntry.*;
 import com.amd.aparapi.internal.model.ClassModel.*;
 import com.amd.aparapi.internal.model.ClassModel.ConstantPool.*;
-import com.amd.aparapi.opencl.OpenCL.Constant;
-import com.amd.aparapi.opencl.OpenCL.*;
-
 import java.util.*;
 
 public abstract class KernelWriter extends BlockWriter{
@@ -199,14 +196,15 @@ public abstract class KernelWriter extends BlockWriter{
             getterField = m.getAccessorVariableFieldEntry();
          }
          if (getterField != null) {
-             String fieldName = getterField.getNameAndTypeEntry().getNameUTF8Entry().getUTF8();
-             write("this->");
-             write(fieldName);
-             return;
+            String fieldName = getterField.getNameAndTypeEntry().getNameUTF8Entry().getUTF8();
+            write("this->");
+            write(fieldName);
+            return;
          }
-         boolean noCL = _methodEntry.getOwnerClassModel().getNoCLMethods().contains(_methodEntry.getNameAndTypeEntry().getNameUTF8Entry().getUTF8());
+         boolean noCL = _methodEntry.getOwnerClassModel().getNoCLMethods()
+               .contains(_methodEntry.getNameAndTypeEntry().getNameUTF8Entry().getUTF8());
          if (noCL) {
-             return;
+            return;
          }
          final String intrinsicMapping = Kernel.getMappedMethodName(_methodEntry);
          // System.out.println("getMappedMethodName for " + methodName + " returned " + mapping);
@@ -273,9 +271,10 @@ public abstract class KernelWriter extends BlockWriter{
 
    public final static String __private = "__private";
 
-   public final static String LOCAL_ANNOTATION_NAME = "L" + Local.class.getName().replace('.', '/') + ";";
+   public final static String LOCAL_ANNOTATION_NAME = "L" + com.amd.aparapi.Kernel.Local.class.getName().replace('.', '/') + ";";
 
-   public final static String CONSTANT_ANNOTATION_NAME = "L" + Constant.class.getName().replace('.', '/') + ";";
+   public final static String CONSTANT_ANNOTATION_NAME = "L" + com.amd.aparapi.Kernel.Constant.class.getName().replace('.', '/')
+         + ";";
 
    @Override public void write(Entrypoint _entryPoint) throws CodeGenException {
       final List<String> thisStruct = new ArrayList<String>();
@@ -307,8 +306,8 @@ public abstract class KernelWriter extends BlockWriter{
             throw new CodeGenException(e);
          }
 
-         if (privateMemorySize != null) {
-             type = __private;
+         if (privateMemorySize != null) { 
+            type = __private;
          }
          final RuntimeAnnotationsEntry visibleAnnotations = field.getAttributePool().getRuntimeVisibleAnnotationsEntry();
 
@@ -328,7 +327,7 @@ public abstract class KernelWriter extends BlockWriter{
          //if we have a an array we want to mark the object as a pointer
          //if we have a multiple dimensional array we want to remember the number of dimensions
          while (signature.startsWith("[")) {
-            if(isPointer == false) {
+            if (isPointer == false) {
                argLine.append(argType + " ");
                thisStructLine.append(type + " ");
             }
@@ -382,10 +381,9 @@ public abstract class KernelWriter extends BlockWriter{
 
          // Add int field into "this" struct for supporting java arraylength op
          // named like foo__javaArrayLength
-         if (isPointer && _entryPoint.getArrayFieldArrayLengthUsed().contains(field.getName()) ||
-             isPointer && numDimensions > 1) {
-            
-            for(int i = 0; i < numDimensions; i++) {
+         if (isPointer && _entryPoint.getArrayFieldArrayLengthUsed().contains(field.getName()) || isPointer && numDimensions > 1) {
+
+            for (int i = 0; i < numDimensions; i++) {
                final StringBuilder lenStructLine = new StringBuilder();
                final StringBuilder lenArgLine = new StringBuilder();
                final StringBuilder lenAssignLine = new StringBuilder();
@@ -393,8 +391,7 @@ public abstract class KernelWriter extends BlockWriter{
                final StringBuilder dimArgLine = new StringBuilder();
                final StringBuilder dimAssignLine = new StringBuilder();
 
-               String lenName = field.getName() + BlockWriter.arrayLengthMangleSuffix +
-                    Integer.toString(i);
+               String lenName = field.getName() + BlockWriter.arrayLengthMangleSuffix + Integer.toString(i);
 
                lenStructLine.append("int " + lenName);
 
@@ -409,8 +406,7 @@ public abstract class KernelWriter extends BlockWriter{
                argLines.add(lenArgLine.toString());
                thisStruct.add(lenStructLine.toString());
 
-               String dimName = field.getName() + BlockWriter.arrayDimMangleSuffix +
-                    Integer.toString(i);
+               String dimName = field.getName() + BlockWriter.arrayDimMangleSuffix + Integer.toString(i);
 
                dimStructLine.append("int " + dimName);
 
@@ -704,7 +700,7 @@ public abstract class KernelWriter extends BlockWriter{
          throw codeGenException;
       }/* catch (final Throwable t) {
          throw new CodeGenException(t);
-      }*/
+       }*/
 
       return (openCLStringBuilder.toString());
    }
-- 
GitLab