Giter VIP home page Giter VIP logo

Comments (7)

milancurcic avatar milancurcic commented on August 26, 2024 1

The above issue can be reproduced with the following example:

module mymod
implicit none

type :: mytype
  private
  integer :: a
  contains
  procedure,private :: eq
  generic :: operator(==) => eq
endtype mytype

interface mytype
  module procedure :: constructor
endinterface mytype

contains

type(mytype) function constructor(a)
  integer,intent(in),optional :: a
  if(present(a))then
    constructor % a = a
  else
    constructor % a = 0
  endif
endfunction constructor

logical function eq(m0,m1)
  class(mytype),intent(in) :: m0
  class(mytype),intent(in) :: m1
  eq = m0 % a == m1 % a
endfunction eq

endmodule mymod

module wrapper_module
use mymod,only:mytype
endmodule wrapper_module

program test
use wrapper_module
implicit none

write(*,*)mytype() == mytype(0)

endprogram test

The code compiles and executes as expected if only:mytype is omitted from the use statement in the wrapper_module, but not otherwise. Filed this on Intel Fortran forums, currently pending.

from datetime-fortran.

milancurcic avatar milancurcic commented on August 26, 2024 1

https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/685085

from datetime-fortran.

milancurcic avatar milancurcic commented on August 26, 2024

It seems that replacing the specific use statements from the parent module, i.e.:

use mod_datetime, only:datetime,date2num,datetimeRange,daysInMonth,&
                       daysInYear,isLeapYear,num2date,strptime,tm2date
use mod_timedelta,only:timedelta
use mod_clock,    only:clock
use mod_strftime, only:tm_struct,c_strftime,c_strptime

with the general all-inclusive statements like:

use mod_datetime
use mod_timedelta
use mod_clock
use mod_strftime

makes ifort not complain anymore about binary operators not being defined. So, for some reason, when importing the datetime type from mod_datetime, ifort is unable to import the overloaded operators as well. I do not understand why. Happens with both v16 and v17. gfortran reports no issue at all. for the time being, will use the all-inclusive use statements because ifort needs them.

I am still not able to reproduce this behavior with a simpler example. Stay tuned.

from datetime-fortran.

zbeekman avatar zbeekman commented on August 26, 2024

Filed this on Intel Fortran forums, currently pending.

Link?

from datetime-fortran.

milancurcic avatar milancurcic commented on August 26, 2024

The issue remains as of 19.0.1.144 Build 20181018 on 64-bit Linux.

from datetime-fortran.

milancurcic avatar milancurcic commented on August 26, 2024

This issue should be resolved thanks to switching to single-module library in #69. Needs to be confirmed.

from datetime-fortran.

milancurcic avatar milancurcic commented on August 26, 2024

No issue with ifort 2021.1 Beta 20200602. Closing.

from datetime-fortran.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.