<?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-2009</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>2</manvolnum>
    </refmeta>

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

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

        <refpurpose>
           The general syntax of the <constant>__attribute__</constant> qualifier.
        </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__ ((attribute-list))

attribute-list:
     attributeopt
     attribute-list , attributeopt

attribute:
     attribute-token attribute-argument-clauseopt

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 and 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="references">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>functions</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>

</refentry>

