https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109641
--- Comment #9 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Fri, Apr 28, 2023 at 01:37:48AM +0000, adelson.oliveira at gmail dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109641 > > --- Comment #8 from Adelson Oliveira <adelson.oliveira at gmail dot com> --- > Then I should have defined the operations with double precision as well? > I have tested, but mostly yes. If I do a -fdump-parse-tree of your code, I see code: ASSIGN teste:v(FULL) 1.00000000e0 ASSIGN teste:m(FULL) (complex 1.00000000e0 1.00000000e0) ASSIGN teste:r(FULL) (* __convert_r4_c4[[((teste:v(FULL)))]] teste:m(FULL)) If you have mixed REAL and DOUBLE PRECISION, you'll likely have an implicit __convert_r4_r8.