\pagebreak
\section{Array Sections in Device Constructs}
\label{sec:array_sections}
\index{array sections!in map clause@in \code{map} clause}
\index{map clause@\code{map} clause}
\index{clauses!map@\code{map}}
\index{target construct@\code{target} construct}
\index{constructs!target@\code{target}}
\index{target data construct@\code{target}~\code{data} construct}
\index{constructs!target data@\code{target}~\code{data}}

The following examples show the usage of array sections in \code{map} clauses 
on \code{target} and \code{target} \code{data} constructs.

This example shows the invalid usage of two separate sections of the same array 
inside of a \code{target} construct.

\cexample[4.0]{array_sections}{1}

\ffreeexample[4.0]{array_sections}{1}

\pagebreak
This example shows the invalid usage of two separate sections of the same array 
inside of a \code{target} construct.

\cexample[4.0]{array_sections}{2}

\ffreeexample[4.0]{array_sections}{2}

\pagebreak
This example shows the valid usage of two separate sections of the same array inside 
of a \code{target} construct.

\cexample[4.0]{array_sections}{3}

\ffreeexample[4.0]{array_sections}{3}

\pagebreak
This example shows the valid usage of a wholly contained array section of an already 
mapped array section inside of a \code{target} construct.

\cexample[4.0]{array_sections}{4}

\ffreeexample[4.0]{array_sections}{4}

