@@ -188,6 +188,7 @@ signature
188188 TYPE_FLOAT : TYPE_FLOAT
189189 TYPE_DOUBLE : TYPE_DOUBLE
190190 TYPE_COMPLEX : TYPE_COMPLEX
191+ TYPE_DOUBLE_COMPLEX : TYPE_DOUBLE_COMPLEX
191192 TYPE_BOOL : TYPE_BOOL
192193 TYPE_CHAR : TYPE_CHAR
193194 TYPE_LAST : TYPE_LAST
@@ -248,17 +249,17 @@ sg-fortran-operator =
248249 <+ ? FORTRAN_INTRINSIC_GT() ; ! SgToken_ROSE_Fortran_Operators(10015)
249250 <+ ? FORTRAN_INTRINSIC_NOT() ; ! SgToken_ROSE_Fortran_Operators(10016)
250251
251- // e_unknown=0,e_void,e_int,e_float,e_double,e_complex,e_bool,e_char,e_last
252+ // e_unknown=0,e_void,e_int,e_float,e_double,e_complex,e_double_complex, e_bool,e_char,e_last
252253sg-type-enum =
253254 ? TYPE_UNKNOWN() ; ! SgUntypedType_type_enum(0)
254255 <+ ? TYPE_VOID() ; ! SgUntypedType_type_enum(1)
255256 <+ ? TYPE_INT() ; ! SgUntypedType_type_enum(2)
256257 <+ ? TYPE_FLOAT() ; ! SgUntypedType_type_enum(3)
257258 <+ ? TYPE_DOUBLE() ; ! SgUntypedType_type_enum(4)
258259 <+ ? TYPE_COMPLEX() ; ! SgUntypedType_type_enum(5)
259- <+ ? TYPE_BOOL() ; ! SgUntypedType_type_enum(6)
260- <+ ? TYPE_CHAR () ; ! SgUntypedType_type_enum(7)
261- //TODO - DOUBLECOMPLEX
260+ <+ ? TYPE_DOUBLE_COMPLEX() ; ! SgUntypedType_type_enum(6)
261+ <+ ? TYPE_BOOL () ; ! SgUntypedType_type_enum(7)
262+ <+ ? TYPE_CHAR() ; ! SgUntypedType_type_enum(8)
262263
263264sg-build-void-type = ! SgUntypedType("void",<sg-expression>NULL_EXPR(),0,0,0,
264265 1,0,0,<sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_VOID())
@@ -272,6 +273,8 @@ sg-build-intrinsic-type =
272273 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_DOUBLE())
273274 <+ ? COMPLEX() ; ! SgUntypedType("complex",<sg-expression>NULL_EXPR(),0,0,0,
274275 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_COMPLEX())
276+ <+ ? DOUBLECOMPLEX() ; ! SgUntypedType("double_complex",<sg-expression>NULL_EXPR(),0,0,0,
277+ 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_DOUBLE_COMPLEX())
275278 <+ ? LOGICAL() ; ! SgUntypedType("bool", <sg-expression>NULL_EXPR(),0,0,0,
276279 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_BOOL())
277280 <+ ? CHARACTER() ; ! SgUntypedType("char", <sg-expression>NULL_EXPR(),0,0,0,
@@ -282,14 +285,12 @@ sg-build-intrinsic-type(|kind) =
282285 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_INT())
283286 <+ ? REAL() ; ! SgUntypedType("float", kind,1,0,0,
284287 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_FLOAT())
285- <+ ? DOUBLEPRECISION() ; ! SgUntypedType("double", kind,1,0,0,
286- 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_DOUBLE())
287288 <+ ? COMPLEX() ; ! SgUntypedType("complex", kind,1,0,0,
288289 1,0,0, <sg-expression>NULL_EXPR(),"",0,<sg-type-enum>TYPE_COMPLEX())
289290 <+ ? LOGICAL() ; ! SgUntypedType("bool", kind,1,0,0,
290291 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())
292+ <+ ? CHARACTER() ; ! SgUntypedType("char", <sg-expression>NULL_EXPR(),0 ,0,0,
293+ 1,0,0, kind ,"",1 ,<sg-type-enum>TYPE_CHAR()) /* kind actually length here */
293294
294295//R201
295296fast-to-sage: Program(units)
@@ -310,6 +311,8 @@ fast-to-sage: DOUBLEPRECISION() -> <sg-build-intrinsic-type> DOUBLE
310311fast-to-sage: COMPLEX() -> <sg-build-intrinsic-type> COMPLEX()
311312fast-to-sage: COMPLEX(kind) -> <sg-build-intrinsic-type(|kind)> COMPLEX()
312313
314+ fast-to-sage: DOUBLECOMPLEX() -> <sg-build-intrinsic-type> DOUBLECOMPLEX()
315+
313316fast-to-sage: LOGICAL() -> <sg-build-intrinsic-type> LOGICAL()
314317fast-to-sage: LOGICAL(kind) -> <sg-build-intrinsic-type(|kind)> LOGICAL()
315318
0 commit comments