https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105138

--- Comment #4 from kargl at gcc dot gnu.org ---
(In reply to Vladimir Fuka from comment #2)
> As mentioned, the correct function is called in case everything is REAL
> 

Actually, the correct function isn't called.  See the parse
tree that I posted for log_gamma.  For your floor example,
the parse tree contains

  code:
  IF (> floor:z 0)
    ASSIGN floor:res __convert_i4_r4[[((__floor4_r4[[(((- floor:z
1.00000000e0)) ((arg not-present)))]]))]]
  ELSE
    ASSIGN floor:res 0
  ENDIF


Notice, the __floor4_r4 is the intrinsic routine not the user-defined floor.

Reply via email to