<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<!-- saved from url=(0013)about:internet -->
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style xmlns="" type="text/css">
    /* This style sets a margin around the entire page */
        html, body {
            margin: 10px;
        }

        p {
            font: normal 16px verdana, sans-serif;
            margin: 0;
            padding-bottom:12px;
        }

        h1 {
            font: bold 25px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        h2 {
            font: bold 19px verdana, sans-serif;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0; 
            padding-bottom: 0;
        }

        h3 {
            font: bold 19px verdana, sans-serif !important;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        li {
            font: normal 16px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 18px;
            padding-top: 0;
            padding-bottom: 0;
        }

        .pdparam {
            font: italic 16px verdana, sans-serif;
        }
		
		.term {
			font: italic 16px verdana, sans-serif;
			font-weight: normal;
		}	
		
		.type {
			font: normal 16px verdana, sans-serif !important;
		}			
		
		.parameter { 
			font-style: italic; 
			}

        a:link, a:visited {
            color: blue;
            text-decoration: none;
            font: normal 16px;
        }

        a:hover {
            background-color: #FFFF99;
            font: normal 16px;
        }

        div.funcsynopsis {
            text-align: left;
            background-color: #e6e6e6;
            font: normal 16px verdana, sans-serif;
			padding-top: 10px;
			padding-bottom: 10px;
        }

        div.funcsynopsis table {
            border-collapse: separate;
            font: normal 16px verdana, sans-serif;
        }

        div.funcsynopsis td {
            background-color: #e6e6e6;
            border: 0 solid #000;
            padding: 1px;
            font: normal 16px verdana, sans-serif;
        }

        div.refsect1 {
            font-family: verdana, sans-serif;
            font-size: 16px;
        }

        code.constant {
            font: normal 16px courier new, monospace !important;
        }
		
		span.errorname {
            font: normal 16px verdana, sans-serif !important;
        }

        code.function {
            font: bold 16px verdana, sans-serif !important;
        }
		
        b.fsfunc {
            font: bold 16px verdana, sans-serif !important;
        }
		
        code.varname {
            font: italic 16px verdana, sans-serif;
        }

        code.replaceable {
            font: italic 16px courier new, monospace;
        }

        code.funcdef {
            font: normal 16px verdana, sans-serif !important;
        }

        .citerefentry {
            font: normal 16px verdana, sans-serif !important;
        }

        .parameter {
            font-style: italic;
        }

        code.fsfunc {
            font: normal 16px verdana, sans-serif !important;
        }

        /* PARAMETER: This style controls spacing between the terms in Parameter section */
        dt {
            margin-top: 15px;
        }

        /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */
        div.refsect1 table {
            width: 100%;
			margin-top: 10px;
            background-color: #FFF;
			border-collapse: collapse;
			border-color: #000;
            border-width: 1px;
			font: normal 16px verdana, sans-serif;
        }
		
        div.refsect1 th {
			border-collapse: collapse;
			border-color: #000;
            border-width: 1px;
            font: bold 16px verdana, sans-serif;
        }
		
        div.refsect1 td {
            background-color: #FFF;
            padding: 5px;
            vertical-align: text-top;
			border-collapse: collapse;
			border-color: #000;
            border-width: 1px;
            font: normal 16px verdana, sans-serif;
        }
		
		  div.refsect1 p{
            font: normal 16px verdana, sans-serif;
            margin-top: 8px;
            margin-bottom: 8px;
            padding-top: 0;
            padding-bottom: 0;
        }
		

        /* EXAMPLE: These styles apply only to the Example section */
        div.refsect2 {
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 table {
            margin-top: 0;
            background-color: #e6e6e6;
            width: 100%;
            border: 0 solid #000;
            padding: 2px;
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 td {
            background-color: #e6e6e6;
            font: normal 16px courier new, monospace !important;
			white-space:pre;
        }

        /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */
        div.refsect3 {
            font: normal 11px verdana, sans-serif;
            margin-top: 50px;
            margin-bottom: 20px;
            padding-top: 0;
            padding-bottom: 0;
        }
					
</style>
    <title>restrictions</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
    <meta name="keywords" content="restrictions" />
  </head>
  <body>
    <div class="refentry">
      <a id="idm1"></a>
      <div class="titlepage"></div>
      <div xmlns="" class="refnamediv">
        <a xmlns="http://www.w3.org/1999/xhtml" id="restrictionsref"></a>
        <h1>Restrictions</h1>
        <p> </p>
      </div>
      <div class="refsect1">
        <a id="restrictions"></a>
        <h2></h2>
        <div class="itemizedlist">
          <ul class="itemizedlist" style="list-style-type: disc; ">
            <li class="listitem" style="list-style-type: disc">
              <p>The use of pointers is somewhat restricted. The following rules apply:</p>
              <div class="itemizedlist">
                <ul class="itemizedlist" style="list-style-type: opencircle; ">
                  <li class="listitem" style="list-style-type: circle">
                    <p>Arguments to <a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__kernel</span></span></a> functions declared in a program that are pointers must be declared with the __global, __constant or __local qualifier.</p>
                  </li>
                  <li class="listitem" style="list-style-type: circle">
                    <p>A pointer declared with the <a class="citerefentry" href="constant.html"><span class="citerefentry"><span class="refentrytitle">__constant</span></span></a>, <a class="citerefentry" href="local.html"><span class="citerefentry"><span class="refentrytitle">__local</span></span></a>, or <a class="citerefentry" href="global.html"><span class="citerefentry"><span class="refentrytitle">__global</span></span></a> qualifier can
only be assigned to a pointer declared with the __constant, __local, or __global qualifier respectively.</p>
                  </li>
                  <li class="listitem" style="list-style-type: circle">
                    <p>Pointers to functions are not allowed.</p>
                  </li>
                  <li class="listitem" style="list-style-type: circle">
                    <p>Arguments to <a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__kernel</span></span></a> functions in a program cannot be declared as a pointer to a pointer(s). Variables inside a function or arguments to non __kernel functions in a
program can be declared as a pointer to a pointer(s).</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Variables that are declared to be of type <a class="citerefentry" href="otherDataTypes.html"><span class="citerefentry"><span class="refentrytitle">image2d_t</span></span></a> or <a class="citerefentry" href="otherDataTypes.html"><span class="citerefentry"><span class="refentrytitle">image3d_t</span></span></a> refer to image
memory objects. These can only be specified as arguments to a function. Elements of an
image cannot be directly accessed. Specific built-in <a class="citerefentry" href="imageFunctions.html"><span class="citerefentry"><span class="refentrytitle">image read and write functions</span></span></a> are provided to read from
and write to any location in the image. Pointers to image2d_t or image3d_t are not allowed.
image2d_t or image3d_t data types cannot be declared in a struct. image2d_t and
image3d_t cannot be used to declare local variables or as the return type of a function.
An image2d_t or image3d_t argument to a function cannot be modified.</p>
              <p>Samplers cannot be declared as arrays, pointers, or be used as the type for local variables
inside a function or as the return value of a function defined in a program. Samplers
cannot be passed as arguments to functions called by a <a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__kernel</span></span></a> function. A sampler
argument to a __kernel function cannot be modified.	</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Bit-fields are currently not supported.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Variable length arrays and structures with flexible (or unsized) arrays are not supported.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Variadic macros and functions are not supported.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>The C99 standard headers <code class="code">assert.h</code>, <code class="code">ctype.h</code>, <code class="code">complex.h</code>, <code class="code">errno.h</code>,
<code class="code">fenv.h</code>, <code class="code">float.h</code>, <code class="code">inttypes.h</code>, <code class="code">limits.h</code>, <code class="code">locale.h</code>, <code class="code">setjmp.h</code>,
<code class="code">signal.h</code>, <code class="code">stdarg.h</code>, <code class="code">stdio.h</code>, <code class="code">stdlib.h</code>, <code class="code">string.h</code>, <code class="code">tgmath.h</code>,
<code class="code">time.h</code>, <code class="code">wchar.h</code>, and <code class="code">wctype.h</code> are not available and cannot be included by a program.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>The <code class="code">extern</code>, <code class="code">static</code>, <code class="code">auto</code>, and <code class="code">register</code> storage-class specifiers are not supported.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Predefined identifiers are not supported.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Recursion is not supported.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>The function using the <a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__kernel</span></span></a> qualifier can only have return type <span class="type">void</span> in the source code.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Arguments to <a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__kernel</span></span></a> functions in a program cannot be declared with the built-in scalar types <span class="type">bool</span>, <span class="type">half</span>, <span class="type">size_t</span>, <span class="type">ptrdiff_t</span>, <span class="type">intptr_t</span>, and <span class="type">uintptr_t</span>. The size in bytes of these types except <span class="type">half</span> are implementation-defined and in addition can also be different for the OpenCL device and the host processor making it difficult to
allocate buffer objects to be passed as arguments to a kernel declared as pointer to these types. <span class="type">half</span> is not supported as <span class="type">half</span> can be used as a storage format only and is not a data type on which floating-point arithmetic can be performed.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Whether or not irreducible control flow is illegal is implementation defined.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Built-in types that are less than 32-bits in size i.e. <span class="type">char</span>, <span class="type">uchar</span>, <span class="type">char2</span>, <span class="type">uchar2</span>, <span class="type">short</span>, <span class="type">ushort</span>, and <span class="type">half</span> have the following restriction:</p>
              <p>Writes to a pointer (or arrays) of type <span class="type">char</span>, <span class="type">uchar</span>, <span class="type">char2</span>, <span class="type">uchar2</span>, <span class="type">short</span>, <span class="type">ushort</span>, and <span class="type">half</span> or to elements of a struct that are of type <span class="type">char</span>, <span class="type">uchar</span>, <span class="type">char2</span>, <span class="type">uchar2</span>, <span class="type">short</span>, and <span class="type">ushort</span> are not supported. </p>
              <p>The kernel example below shows what memory operations are not supported on built-in types less than 32-bits in size.</p>
              <div class="literallayout">
                <p>
                  <code class="code"><br />
          kernel void<br />
          do_proc (__global char *pA, short b,<br />
                         __global short *pB)<br />
          {<br />
                char            x[100];<br />
                __private char  *px = x;<br />
                int             id = (int)get_global_id(0);<br />
                short           f;<br />
                f = pB[id] + b; // is allowed<br />
                px[1] = pA[1];  // error. px cannot be written.<br />
                pB[id] = b;   // error. pB cannot be written<br />
          }</code>
                </p>
              </div>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Arguments to <a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">__kernel</span></span></a> functions in a program cannot be declared to be of type <a class="citerefentry" href="otherDataTypes.html"><span class="citerefentry"><span class="refentrytitle">event_t</span></span></a>.</p>
            </li>
            <li class="listitem" style="list-style-type: disc">
              <p>Elements of a struct or union must belong to the same address space. Declaring a struct or union whose elements are in different address spaces is illegal.</p>
            </li>
          </ul>
        </div>
      </div>
      <div class="refsect1">
        <a id="specification"></a>
        <h2>Specification</h2>
        <p><img src="pdficon_small1.gif" />
            <a href="http://www.khronos.org/registry/cl/specs/opencl-1.0.pdf#page=157" target="OpenCL Spec">OpenCL Specification</a>
        </p>
      </div>
      <div class="refsect1">
        <a id="seealso"></a>
        <h2>Also see</h2>
        <p>
            <a class="citerefentry" href="imageFunctions.html"><span class="citerefentry"><span class="refentrytitle">Image Functions</span></span></a>, 
			<a class="citerefentry" href="functionQualifiers.html"><span class="citerefentry"><span class="refentrytitle">Function Qualifiers</span></span></a>
        </p>
      </div>
      <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4>
			Copyright © 
    Copyright © 2007-2009 The Khronos Group Inc. 
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials. 
</div>
    </div>
  </body>
</html>
