Hi Andrew and Naveen,
pault@fedora:~/prs/pdt$ gfortran ../complex.f90 -std=f2018
../complex.f90:6:6:
6 | z = COMPLEX(1.0,2.0)
| 1
Error: Function ‘complex’ at (1) has no IMPLICIT type
../complex.f90:9:6:
9 | z = COMPLEX(a, b)
| 1
Error: Function ‘complex’ at (1) has no IMPLICIT type
The result is the same with -std=f95.
Regards
Paul
On Tue, 30 Dec 2025 at 07:00, Andrew Pinski <[email protected]>
wrote:
> On Mon, Dec 29, 2025 at 10:50 PM Naveen Yadav via Gcc <[email protected]>
> wrote:
> >
> > Dear developers,
> >
> > I am using GNU Fortran (GCC) 15.2.1 20251211 (Red Hat 15.2.1-5):
> >
> > The following program:
> >
> >
> ****************************************************************************************************
> > PROGRAM test
> > IMPLICIT NONE
> > REAL :: a = 1.0, b=1.0
> > COMPLEX:: z
> >
> > z = COMPLEX(1.0,2.0)
> > PRINT*, z
> >
> > z = COMPLEX(a, b)
> > PRINT*, z
> >
> > END PROGRAM test
> >
> ****************************************************************************************************
> >
> > works with gfortran. However, the Intel compiler (from oneApi) throws a
> > compile error:
> >
> > test.f90(6): error #6404: This name does not have a type, and must have
> an
> > explicit type. [COMPLEX]
> > z = COMPLEX(1.0,2.0)
> > ----^
> > compilation aborted for test.f90 (code 1)
> >
> > It is because COMPLEX is the name of a type and CMPLX is an intrinsic
> > function. The behaviour of the Intel compiler is the correct one. I hope
> > this will be updated in a future release.
>
> See
> https://gcc.gnu.org/onlinedocs/gcc-15.2.0/gfortran/COMPLEX.html#index-COMPLEX
> ```
> Standard:
> GNU extension
> ```
>
> Thanks,
> Andrew
>
> >
> > Best regards
> > Naveen Yadav
>