update isl for change in representation of isl_constraint
[ppcg.git] / clan / include / clan / options.h
blob82828c5c7de28ade57af96541ef92399b36232f7
2 /*+------- <| --------------------------------------------------------**
3 ** A Clan **
4 **--- /.\ -----------------------------------------------------**
5 ** <| [""M# options.h **
6 **- A | # -----------------------------------------------------**
7 ** /.\ [""M# First version: 24/05/2008 **
8 **- [""M# | # U"U#U -----------------------------------------------**
9 | # | # \ .:/
10 | # | #___| #
11 ****** | "--' .-" ******************************************************
12 * |"-"-"-"-"-#-#-## Clan : the Chunky Loop Analyzer (experimental) *
13 **** | # ## ###### *****************************************************
14 * \ .::::'/ *
15 * \ ::::'/ Copyright (C) 2008 Cedric Bastoul *
16 * :8a| # # ## *
17 * ::88a ### This is free software; you can redistribute it *
18 * ::::888a 8a ##::. and/or modify it under the terms of the GNU Lesser *
19 * ::::::::888a88a[]::: General Public License as published by the Free *
20 *::8:::::::::SUNDOGa8a::. Software Foundation, either version 3 of the *
21 *::::::::8::::888:Y8888:: License, or (at your option) any later version. *
22 *::::':::88::::888::Y88a::::::::::::... *
23 *::'::.. . ..... .. ... . *
24 * This software is distributed in the hope that it will be useful, but *
25 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
26 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *
27 * for more details. *
28 * *
29 * You should have received a copy of the GNU Lesser General Public License *
30 * along with software; if not, write to the Free Software Foundation, Inc., *
31 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
32 * *
33 * Clan, the Chunky Loop Analyzer *
34 * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr *
35 * *
36 ******************************************************************************/
39 #ifndef CLAN_OPTIONS_H
40 # define CLAN_OPTIONS_H
42 # include <stdio.h>
43 # include <scoplib/scop.h>
44 # include <scoplib/macros.h>
47 # if defined(__cplusplus)
48 extern "C"
50 # endif
53 /**
54 * The clan_options_t structure stores the software/library options for all
55 * functions. They are not too many for now, but they will come someday...
57 struct clan_options
59 char * name ; /**< Name of the input file. */
60 int castle; /**< 1 to put the Clan castle in output, 0 otherwise. */
61 int structure; /**< 1 to print the clan_scop structure, 0 otherwise. */
62 int inputscop; /**< 1 to read a .scop on the input, 0 to read a
63 source file (default). */
64 int arraystag; /**< 1 to dump the table of array names between the
65 <arrays></arrays> tags, 0 otherwise (default). */
66 int bounded_context; /**< 1 to force global parameters >= -1 (default 0) */
68 typedef struct clan_options clan_options_t;
69 typedef struct clan_options * clan_options_p;
72 /*+****************************************************************************
73 * Structure display function *
74 ******************************************************************************/
75 void clan_options_print(FILE *, clan_options_p);
78 /*+****************************************************************************
79 * Memory allocation/deallocation function *
80 ******************************************************************************/
81 clan_options_p clan_options_malloc();
82 void clan_options_free(clan_options_p);
85 /*+****************************************************************************
86 * Reading function *
87 ******************************************************************************/
88 clan_options_p clan_options_read(int, char **, FILE **, FILE **);
91 /*+****************************************************************************
92 * Processing functions *
93 ******************************************************************************/
96 # if defined(__cplusplus)
98 # endif
99 #endif /* define CLAN_OPTIONS_H */