@@ -188,9 +188,9 @@ signature
188188 TYPE_FLOAT : TYPE_FLOAT
189189 TYPE_DOUBLE : TYPE_DOUBLE
190190 TYPE_COMPLEX : TYPE_COMPLEX
191+ TYPE_BOOL : TYPE_BOOL
191192 TYPE_CHAR : TYPE_CHAR
192193 TYPE_LAST : TYPE_LAST
193- TYPE_BOOL : TYPE_BOOL //CER-TODO-ROSE
194194
195195 SgUntypedType : string * expr * bool * bool * bool * bool * bool * bool * expr * string * bool * enum -> SgUntypedType
196196 SgUntypedType_type_enum : enum -> SgUntypedType_type_enum
@@ -248,14 +248,17 @@ sg-fortran-operator =
248248 <+ ? FORTRAN_INTRINSIC_GT() ; ! SgToken_ROSE_Fortran_Operators(10015)
249249 <+ ? FORTRAN_INTRINSIC_NOT() ; ! SgToken_ROSE_Fortran_Operators(10016)
250250
251- // e_unknown=0,e_void,e_int,e_float,e_double,e_complex,e_char,e_last
251+ // e_unknown=0,e_void,e_int,e_float,e_double,e_complex,e_bool, e_char,e_last
252252sg-type-enum =
253253 ? TYPE_UNKNOWN() ; ! SgUntypedType_type_enum(0)
254254 <+ ? TYPE_VOID() ; ! SgUntypedType_type_enum(1)
255255 <+ ? TYPE_INT() ; ! SgUntypedType_type_enum(2)
256256 <+ ? TYPE_FLOAT() ; ! SgUntypedType_type_enum(3)
257257 <+ ? TYPE_DOUBLE() ; ! SgUntypedType_type_enum(4)
258- <+ ? TYPE_BOOL() ; ! SgUntypedType_type_enum(0) //CER-TODO-ROSE
258+ <+ ? TYPE_COMPLEX() ; ! SgUntypedType_type_enum(5)
259+ <+ ? TYPE_BOOL() ; ! SgUntypedType_type_enum(6)
260+ <+ ? TYPE_CHAR() ; ! SgUntypedType_type_enum(7)
261+ //TODO - DOUBLECOMPLEX
259262
260263sg-build-void-type = ! SgUntypedType("void",<sg-expression>NULL_EXPR(),0,0,0,
261264 1,0,0,<sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_VOID())
@@ -267,8 +270,12 @@ sg-build-intrinsic-type =
267270 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_FLOAT())
268271 <+ ? DOUBLEPRECISION() ; ! SgUntypedType("double", <sg-expression>NULL_EXPR(),0,0,0,
269272 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_DOUBLE())
273+ <+ ? COMPLEX() ; ! SgUntypedType("complex",<sg-expression>NULL_EXPR(),0,0,0,
274+ 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_COMPLEX())
270275 <+ ? LOGICAL() ; ! SgUntypedType("bool", <sg-expression>NULL_EXPR(),0,0,0,
271276 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_BOOL())
277+ <+ ? CHARACTER() ; ! SgUntypedType("char", <sg-expression>NULL_EXPR(),0,0,0,
278+ 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_CHAR())
272279
273280sg-build-intrinsic-type(|kind) =
274281 ? INTEGER() ; ! SgUntypedType("integer", kind,1,0,0,
@@ -277,8 +284,12 @@ sg-build-intrinsic-type(|kind) =
277284 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_FLOAT())
278285 <+ ? DOUBLEPRECISION() ; ! SgUntypedType("double", kind,1,0,0,
279286 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_DOUBLE())
287+ <+ ? COMPLEX() ; ! SgUntypedType("complex", kind,1,0,0,
288+ 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_COMPLEX())
280289 <+ ? LOGICAL() ; ! SgUntypedType("bool", kind,1,0,0,
281290 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_BOOL())
291+ <+ ? CHARACTER() ; ! SgUntypedType("char", kind,1,0,0,
292+ 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_CHAR())
282293
283294//R201
284295fast-to-sage: Program(units)
@@ -288,14 +299,22 @@ fast-to-sage: Program(units)
288299 SgUntypedFunctionDeclarationList(units)))
289300
290301//R404
291- fast-to-sage: INTEGER() -> SgUntypedType("integer",<sg-expression>NULL_EXPR(),0,0,0,
292- 1,0,0,<sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_INT())
293- fast-to-sage: REAL() -> SgUntypedType("float", <sg-expression>NULL_EXPR(),0,0,0,
294- 1,0,0,<sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_FLOAT())
295- fast-to-sage: DOUBLEPRECISION() -> SgUntypedType("double", <sg-expression>NULL_EXPR(),0,0,0,
296- 1,0,0,<sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_DOUBLE())
297- fast-to-sage: LOGICAL() -> SgUntypedType("bool", <sg-expression>NULL_EXPR(),0,0,0,
298- 1,0,0,<sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_BOOL())
302+ fast-to-sage: INTEGER() -> <sg-build-intrinsic-type> INTEGER()
303+ fast-to-sage: INTEGER(kind) -> <sg-build-intrinsic-type(|kind)> INTEGER()
304+
305+ fast-to-sage: REAL() -> <sg-build-intrinsic-type> REAL()
306+ fast-to-sage: REAL(kind) -> <sg-build-intrinsic-type(|kind)> REAL()
307+
308+ fast-to-sage: DOUBLEPRECISION() -> <sg-build-intrinsic-type> DOUBLEPRECISION()
309+
310+ fast-to-sage: COMPLEX() -> <sg-build-intrinsic-type> COMPLEX()
311+ fast-to-sage: COMPLEX(kind) -> <sg-build-intrinsic-type(|kind)> COMPLEX()
312+
313+ fast-to-sage: LOGICAL() -> <sg-build-intrinsic-type> LOGICAL()
314+ fast-to-sage: LOGICAL(kind) -> <sg-build-intrinsic-type(|kind)> LOGICAL()
315+
316+ fast-to-sage: CHARACTER() -> <sg-build-intrinsic-type> CHARACTER()
317+ fast-to-sage: CHARACTER(len) -> <sg-build-intrinsic-type(|len)> CHARACTER()
299318
300319//R407
301320fast-to-sage: IntVal(val)
0 commit comments