<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>__attribute__</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>__attribute__</refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2011</year>
                <holder>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.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>3</manvolnum>
    </refmeta>

<!-- ================================ SYNOPSIS -->

    <refnamediv id="attribute">
        <refname>__attribute__</refname>

        <refpurpose>
        </refpurpose>
    </refnamediv>

    <!-- ALTERNATIVE SYNTAX SYNOPSIS (NON-FUNCTION) -->

    <refsect2 id="synopsis">
        <title>
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
__attribute__ ((<replaceable>attribute-list</replaceable>))

attribute-list:
     attribute<subscript>opt</subscript>
     attribute-list, attribute<subscript>opt</subscript>

attribute:
     attribute-token attribute-argument-clause<subscript>opt</subscript>

attribute-token:
     identifier

attribute-argument-clause:
     ( attribute-argument-list )

attribute-argument-list:
     attribute-argument
     attribute-argument-list, attribute-argument

attribute-argument:
     assignment-expression
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>

<!-- ================================ DESCRIPTION  -->

    <refsect1 id="description"><title>Description</title>
        <para>
          This section describes the syntax with which <code>__attribute__</code> may be used,
          and the constructs to which attribute specifiers bind.
        </para>

        <para>
          An attribute specifier is of the form <constant>__attribute__
          ((<replaceable>attribute-list</replaceable>))</constant>.
        </para>

        <para>
          This syntax is taken directly from GCC but unlike GCC, which allows attributes to be
          applied only to functions, types, and variables, OpenCL attributes can be associated
          with:
        </para>

        <itemizedlist mark='bullet'>
            <listitem>
               <para>
<citerefentry href="attributes-types"><refentrytitle>types</refentrytitle></citerefentry>
               </para>
            </listitem>

            <listitem>
               <para>
<citerefentry href="functionQualifiers"><refentrytitle>functions</refentrytitle></citerefentry>
               </para>
            </listitem>

            <listitem>
               <para>
<citerefentry href="attributes-variables"><refentrytitle>variables</refentrytitle></citerefentry>
               </para>
            </listitem>

            <listitem>
               <para>
<citerefentry href="attributes-blocksAndControlFlow"><refentrytitle>blocks</refentrytitle></citerefentry>
               </para>
            </listitem>

            <listitem>
               <para>
<citerefentry href="attributes-blocksAndControlFlow"><refentrytitle>control-flow statements</refentrytitle></citerefentry>
               </para>
            </listitem>
        </itemizedlist>

        <para>
          In general, the rules for how an attribute binds for a given context are non-trivial
          and the reader is pointed to GCC's documentation and Maurer and Wong's paper (See the
          "References" section in the <olink uri="referenceWong">OpenCL specification</olink>
          for details.)
        </para>
    </refsect1>

<!-- ================================ EXAMPLE  -->
<!-- DO NOT DELETE IN CASE AN EXAMPLE IS ADDED IN THE FUTURE -->
<!--
    <refsect2 id="example1">
        <title>
            Example
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
                            Example goes here - it will be set in "code" type with white space preserved.
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>
-->

<!-- ================================ SPECIFICATION  -->
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page
-->
    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>

            <olink uri="attribute">OpenCL Specification</olink>
        </para>
    </refsect1>

<!-- ================================ ALSO SEE  -->

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry href="attributes-types"><refentrytitle>Type Attributes</refentrytitle></citerefentry>,
            <citerefentry href="attributes-variables"><refentrytitle>Variable Attributes</refentrytitle></citerefentry>,
            <citerefentry href="attributes-blocksAndControlFlow"><refentrytitle>Block and Control-Flow Statement Attributes</refentrytitle></citerefentry>,
            <citerefentry href="functionQualifiers"><refentrytitle>Function Qualifiers</refentrytitle></citerefentry>
        </para>
    </refsect1>

<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
        <imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
        <para />
    </refsect3>

<!-- 23-Oct-2011 -->
</refentry>

