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

--- Comment #10 from Gerhard Steinmetz <gerhard.steinmetz.fort...@t-online.de> 
---
Perhaps it's better to make one factor larger.
Maybe the following will help.

$ cat zz1.f90
   program p
      real :: z(2)
      z = 10 + [real :: 1, 2]
      print *, z
   end
# you may check your patch

$ cat zz2.f90
   program p
      real :: z(2)
      z = 10. + [real :: 1, 2]
      print *, z
   end
# you may check your patch

---

$ cat zz3.f90
   program p
      real :: z(2)
      z = [real :: 1, 2] + 10
      print *, z
   end

$ gfortran zz3.f90
$ a.out
   1.00000000       2.00000000
# expected:
  11.00000000      12.00000000

$ cat zz4.f90
   program p
      real :: z(2)
      z = [real :: 1, 2] + 10.
      print *, z
   end

$ gfortran zz4.f90
$ a.out
   1.00000000       2.00000000
# expected:
  11.00000000      12.00000000

---

Or to use an other basic operation :

$ cat zz5.f90
   program p
      real :: z(2)
      z = -10 * [real :: 1, 2]
      print *, z
   end
# you may check your patch

$ cat zz6.f90
   program p
      real :: z(2)
      z = -10. * [real :: 1, 2]
      print *, z
   end
# you may check your patch

Reply via email to