------- Comment #8 from dfranke at gcc dot gnu dot org 2007-05-19 11:12 ------- Tobi, currently intrinsics don't start with any type at all. As their symbols are processed in resolve.c (resolve_symbol), they are assigned a default type:
/* Assign default type to symbols that need one and don't have one. */ As shown by gfc_show_symbol(): symbol conjg (UNKNOWN 0)(PROCEDURE UNKNOWN-INTENT UNKNOWN-ACCESS UNKNOWN-PROC INTRINSIC FUNCTION) result: conjg symbol conjg (REAL 4)(PROCEDURE UNKNOWN-INTENT UNKNOWN-ACCESS UNKNOWN-PROC INTRINSIC FUNCTION IMPLICIT-TYPE) result: conjg (the correct type for CONJG would be COMPLEX 4) Thus, we should make sure that each intrinsic starts with the correct type to begin with and emit a warning/error if someone attempts to change that type (wherever the right place for this may be)? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20373