------- 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

Reply via email to