1/* This file contains the definitions and documentation for the
2   CilkPlus builtins used in the GNU compiler.
3   Copyright (C) 2013-2015 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 3, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3.  If not see
19<http://www.gnu.org/licenses/>.  */
20
21/* Before including this file, you should define a macro:
22
23     DEF_CILKPLUS_BUILTIN (ENUM, NAME, TYPE, ATTRS)
24
25   See builtins.def for details.  */
26
27DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ADD,
28		      "__sec_reduce_add", BT_FN_INT_PTR, ATTR_NULL)
29DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MUL,
30		      "__sec_reduce_mul", BT_FN_INT_PTR, ATTR_NULL)
31DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ALL_ZERO,
32		      "__sec_reduce_all_zero", BT_FN_INT_PTR, ATTR_NULL)
33DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ANY_ZERO,
34		      "__sec_reduce_any_zero", BT_FN_INT_PTR, ATTR_NULL)
35DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MAX,
36		      "__sec_reduce_max", BT_FN_INT_PTR, ATTR_NULL)
37DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MIN,
38		      "__sec_reduce_min", BT_FN_INT_PTR, ATTR_NULL)
39DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MIN_IND,
40		      "__sec_reduce_min_ind", BT_FN_INT_PTR, ATTR_NULL)
41DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MAX_IND,
42		      "__sec_reduce_max_ind", BT_FN_INT_PTR, ATTR_NULL)
43DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ANY_NONZERO,
44		      "__sec_reduce_any_nonzero", BT_FN_INT_PTR, ATTR_NULL)
45DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ALL_NONZERO,
46		      "__sec_reduce_all_nonzero", BT_FN_INT_PTR, ATTR_NULL)
47DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE,
48		      "__sec_reduce", BT_FN_INT_PTR_PTR_PTR, ATTR_NULL)
49DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MUTATING,
50		      "__sec_reduce_mutating", BT_FN_INT_PTR_PTR_PTR, ATTR_NULL)
51// FIXME: This probably needs to be rewritten as a keyword.
52DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_IMPLICIT_INDEX,
53		      "__sec_implicit_index", BT_FN_INT_INT, ATTR_NULL)
54
55/*
56Local variables:
57mode:c
58End:
59*/
60