]> git.ipfire.org Git - thirdparty/gcc.git/blame - libcilkrts/include/cilk/cilk.h
[Patch AArch64] Fixup floating point division with -march=armv8-a+nosimd
[thirdparty/gcc.git] / libcilkrts / include / cilk / cilk.h
CommitLineData
4710dd51 1/* cilk.h -*-C++-*-
2 *
0657c20f 3 * Copyright (C) 2010-2016, Intel Corporation
4710dd51 4 * All rights reserved.
5 *
4710dd51 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 * * Neither the name of Intel Corporation nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
4710dd51 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
30 * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
0657c20f 32 *
33 * *********************************************************************
34 *
35 * PLEASE NOTE: This file is a downstream copy of a file mainitained in
36 * a repository at cilkplus.org. Changes made to this file that are not
37 * submitted through the contribution process detailed at
38 * http://www.cilkplus.org/submit-cilk-contribution will be lost the next
39 * time that a new version is released. Changes only submitted to the
40 * GNU compiler collection or posted to the git repository at
41 * https://bitbucket.org/intelcilkruntime/intel-cilk-runtime.git are
42 * not tracked.
43 *
44 * We welcome your contributions to this open source project. Thank you
45 * for your assistance in helping us improve Cilk Plus.
4710dd51 46 */
47
48/** @file cilk.h
49 *
0657c20f 50 * @brief Provides convenient aliases for Intel(R) Cilk(TM) language keywords.
4710dd51 51 *
52 * @details
0657c20f 53 * Since Intel Cilk Plus is a nonstandard extension to both C and C++, the Intel
54 * Cilk language keywords all begin with "`_Cilk_`", which guarantees that they
4710dd51 55 * will not conflict with user-defined identifiers in properly written
0657c20f 56 * programs. This way, a Cilk-enabled C or C++ compiler can safely compile
57 * "standard" C and C++ programs.
4710dd51 58 *
59 * However, this means that the keywords _look_ like something grafted on to
60 * the base language. Therefore, you can include this header:
61 *
62 * #include "cilk/cilk.h"
63 *
0657c20f 64 * and then write the Intel Cilk keywords with a "`cilk_`" prefix instead of
65 * "`_Cilk_`".
4710dd51 66 *
67 * @ingroup language
68 */
69
70
71/** @defgroup language Language Keywords
0657c20f 72 * Definitions for the Intel Cilk language.
4710dd51 73 * @{
74 */
75
76#ifndef cilk_spawn
77# define cilk_spawn _Cilk_spawn ///< Spawn a task that can execute in parallel.
78# define cilk_sync _Cilk_sync ///< Wait for spawned tasks to complete.
0657c20f 79# define cilk_for _Cilk_for ///< Execute iterations of a `for` loop in parallel.
4710dd51 80#endif
81
82/// @}