Bump CLOOG_VERSION_REVISION to 5.
[cloog-ppl.git] / include / cloog / statement.h
blob52204bb34524169dafd8e77ea20dc61f072ebd54
2 /**-------------------------------------------------------------------**
3 ** CLooG **
4 **-------------------------------------------------------------------**
5 ** statement.h **
6 **-------------------------------------------------------------------**
7 ** First version: november 4th 2001 **
8 **-------------------------------------------------------------------**/
11 /******************************************************************************
12 * CLooG : the Chunky Loop Generator (experimental) *
13 ******************************************************************************
14 * *
15 * Copyright (C) 2001-2005 Cedric Bastoul *
16 * *
17 * This is free software; you can redistribute it and/or modify it under the *
18 * terms of the GNU General Public License as published by the Free Software *
19 * Foundation; either version 2 of the License, or (at your option) any later *
20 * version. *
21 * *
22 * This software is distributed in the hope that it will be useful, but *
23 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
24 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
25 * for more details. *
26 * *
27 * You should have received a copy of the GNU General Public License along *
28 * with software; if not, write to the Free Software Foundation, Inc., *
29 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
30 * *
31 * CLooG, the Chunky Loop Generator *
32 * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr *
33 * *
34 ******************************************************************************/
37 #ifndef CLOOG_STATEMENT_H
38 #define CLOOG_STATEMENT_H
39 #if defined(__cplusplus)
40 extern "C"
42 #endif
45 struct cloogstatement
46 { int _number ; /* The statement unique number. */
47 void *_usr ; /* A pointer for library users convenience. */
48 struct cloogstatement *_next ; /* Pointer to the next statement with the
49 * same original domain and the same
50 * scattering function.
52 } ;
53 typedef struct cloogstatement CloogStatement ;
56 static inline int cloog_statement_number (CloogStatement *s)
58 return s->_number;
61 static inline void cloog_statement_set_number (CloogStatement *s, int n)
63 s->_number = n;
66 static inline void *cloog_statement_usr (CloogStatement *s)
68 return s->_usr;
71 static inline void cloog_statement_set_usr (CloogStatement *s, void *u)
73 s->_usr = u;
76 static inline CloogStatement *cloog_statement_next (CloogStatement *s)
78 return s->_next;
81 static inline void cloog_statement_set_next (CloogStatement *s, CloogStatement *n)
83 s->_next = n;
87 /******************************************************************************
88 * Structure display function *
89 ******************************************************************************/
90 void cloog_statement_print_structure(FILE *, CloogStatement *, int) ;
91 void cloog_statement_print(FILE *, CloogStatement *) ;
94 /******************************************************************************
95 * Memory deallocation function *
96 ******************************************************************************/
97 void cloog_statement_free(CloogStatement *) ;
100 /******************************************************************************
101 * Processing functions *
102 ******************************************************************************/
103 CloogStatement * cloog_statement_malloc(void);
104 CloogStatement * cloog_statement_alloc(int) ;
105 CloogStatement * cloog_statement_copy(CloogStatement *) ;
106 void cloog_statement_add(CloogStatement**, CloogStatement**, CloogStatement*) ;
108 #if defined(__cplusplus)
110 #endif
111 #endif /* define _H */