﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
3201	ParModelica cannot parse kernel functions	Gustaf Thorslund	Mahder Alemseged Gebremedhin	"A fairly small kernel function:
{{{
kernel function KernelTestNull
end KernelTestNull;
}}}

Will result in a slightly bigger parsing failure:
{{{
$ omc -g=ParModelica KernelTestNull.mo
Error processing file: KernelTestNull.mo
Failed to parse file: KernelTestNull.mo!

[.../KernelTestNull.mo:1:0-1:6:writable] Error: Parser error: Unexpected token near: kernel (IDENT)

# Error encountered! Exiting...
# Please check the error message and the flags.
Failed to parse file: KernelTestNull.mo!

Execution failed!
}}}

Trying a bigger example like:
{{{
package KernelTest
  parallel function multiply
    input Integer a;
    input Integer b;
    output Integer c;
  algorithm
    c := a * b;
  end multiply;
	 
  kernel function arrayElemWiseMultiply
    input Integer m;
    input Integer A[m];
    input Integer B[m];
    output Integer C[m];
  protected
    Integer id;
  algorithm
    id := ocl_get_global_id(0);
    C[id] := multiply(A[id],B[id]);
  end arrayElemWiseMultiply;
end KernelTest;
}}}

Will give a similar (but slightly different) parsing error:
{{{
$ omc -g=ParModelica KernelTest.mo Error processing file: KernelTest.mo
Failed to parse file: KernelTest.mo!

[.../KernelTest.mo:10:3-10:9:writable] Error: No viable alternative near token: kernel

# Error encountered! Exiting...
# Please check the error message and the flags.
Failed to parse file: KernelTest.mo!

Execution failed!
}}}

$ omc --version
1.9.2+dev (r24991)
"	defect	closed	high	never	ParModelica	trunk	invalid	ParModelica	
