1 
2    /**-------------------------------------------------------------------**
3     **                              CLooG                                **
4     **-------------------------------------------------------------------**
5     **                           statement.h                             **
6     **-------------------------------------------------------------------**
7     **                  First version: november 4th 2001                 **
8     **-------------------------------------------------------------------**/
9 
10 
11 /******************************************************************************
12  *               CLooG : the Chunky Loop Generator (experimental)             *
13  ******************************************************************************
14  *                                                                            *
15  * Copyright (C) 2001-2005 Cedric Bastoul                                     *
16  *                                                                            *
17  * This library is free software; you can redistribute it and/or              *
18  * modify it under the terms of the GNU Lesser General Public                 *
19  * License as published by the Free Software Foundation; either               *
20  * version 2.1 of the License, or (at your option) any later version.         *
21  *                                                                            *
22  * This library is distributed in the hope that it will be useful,            *
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU          *
25  * Lesser General Public License for more details.                            *
26  *                                                                            *
27  * You should have received a copy of the GNU Lesser General Public           *
28  * License along with this library; if not, write to the Free Software        *
29  * Foundation, Inc., 51 Franklin Street, Fifth Floor,                         *
30  * Boston, MA  02110-1301  USA                                                *
31  *                                                                            *
32  * CLooG, the Chunky Loop Generator                                           *
33  * Written by Cedric Bastoul, [email protected]                         *
34  *                                                                            *
35  ******************************************************************************/
36 
37 
38 #ifndef CLOOG_STATEMENT_H
39 #define CLOOG_STATEMENT_H
40 #if defined(__cplusplus)
41 extern "C"
42   {
43 #endif
44 
45 
46 struct cloogstatement
47 {
48   CloogState *state;             /* State. */
49   char *name;			 /* Name of the statement. */
50   int number;                    /* The statement unique number. */
51   void * usr ;                   /* A pointer for library users convenience. */
52   struct cloogstatement * next ; /* Pointer to the next statement with the
53                                   * same original domain and the same
54 				  * scattering function.
55 				  */
56 } ;
57 typedef struct cloogstatement CloogStatement ;
58 
59 
60 /******************************************************************************
61  *                          Structure display function                        *
62  ******************************************************************************/
63 void cloog_statement_print_structure(FILE *, CloogStatement *, int) ;
64 void cloog_statement_print(FILE *, CloogStatement *) ;
65 
66 
67 /******************************************************************************
68  *                         Memory deallocation function                       *
69  ******************************************************************************/
70 void cloog_statement_free(CloogStatement *) ;
71 
72 
73 /******************************************************************************
74  *                            Processing functions                            *
75  ******************************************************************************/
76 CloogStatement * cloog_statement_malloc(CloogState *state);
77 CloogStatement * cloog_statement_alloc(CloogState *state, int);
78 CloogStatement * cloog_statement_copy(CloogStatement *) ;
79 void cloog_statement_add(CloogStatement**, CloogStatement**, CloogStatement*) ;
80 
81 #if defined(__cplusplus)
82   }
83 #endif
84 #endif /* define _H */
85 
86