PIPS
gfc2pips.h
Go to the documentation of this file.
1 /*
2 
3  $Id: gfc2pips.h 23065 2016-03-02 09:05:50Z coelho $
4 
5  Copyright 1989-2016 MINES ParisTech
6  Copyright 2009-2010 HPC-Project
7 
8  This file is part of PIPS.
9 
10  PIPS is free software: you can redistribute it and/or modify it
11  under the terms of the GNU General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  any later version.
14 
15  PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
16  WARRANTY; without even the implied warranty of MERCHANTABILITY or
17  FITNESS FOR A PARTICULAR PURPOSE.
18 
19  See the GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with PIPS. If not, see <http://www.gnu.org/licenses/>.
23 
24  */
25 
26 /*
27 * includes for newgen
28 * a link to the newgen binary file is missing
29 */
30 
31 #ifndef GFC_2_PIPS
32 #define GFC_2_PIPS
33 
34 
35 #include "config.h"
36 #include "system.h"
37 #include "gfortran.h"
38 
39 /*
40 //hack : conflict for list which is defined as a type in PIPS and as a variable in gfc
41 #undef list
42 #define list newgen_list
43 
44 //hack : bool/boolean defined in both gfc and PIPS and in different ways
45 */
46 
47 
48 //#define string char *
49 
50 
51 //hack : match
52 #define match pips_match
53 #define hash_table pips_hash_table
54 #define loop pips_loop
55 
56 //hack : After gfortran.h free become a macro for another function
57 #undef free
58 
59 
60 
61 
62 
63 
64 
65 #undef loop
66 #undef hash_table
67 #undef match
68 #undef list
69 
70 extern int gfc2pips_nb_of_statements;
71 
72 
73 typedef struct _gfc2pips_comments_{
74  unsigned char done; // Bool
75  locus l;
76  gfc_code *gfc;
77  char *s;
78  unsigned long num;
82 
83 
86 extern bool get_bool_property(const string );
87 
88 
89 void gfc2pips_set_last_comments_done(unsigned long nb);
91 void gfc2pips_replace_comments_num(unsigned long old, unsigned long new);
92 
93 
94 #endif /* GFC_2_PIPS */
95 
int gfc2pips_nb_of_statements
void gfc2pips_replace_comments_num(unsigned long old, unsigned long new)
struct _gfc2pips_comments_ * gfc2pips_comments
void gfc2pips_set_last_comments_done(unsigned long nb)
gfc2pips_comments gfc2pips_comments_stack_
void gfc2pips_pop_not_done_comments(void)
gfc2pips_comments gfc2pips_comments_stack
bool get_bool_property(const string)
FC 2015-07-20: yuk, moved out to prevent an include cycle dependency include "properties....
struct _gfc2pips_comments_ * next
Definition: gfc2pips.h:80
unsigned char done
Definition: gfc2pips.h:74
unsigned long num
Definition: gfc2pips.h:78
struct _gfc2pips_comments_ * prev
Definition: gfc2pips.h:79
gfc_code * gfc
Definition: gfc2pips.h:76