Skip to content

Warning "mixture of specific functions and specific subroutines for one generic-spec" with ifx #294

@vmagnin

Description

@vmagnin

Describe the bug
When using Intel ifx, those warnings appear:

[  7%] Building Fortran object src/CMakeFiles/gtk-fortran_object.dir/gtk-sup.f90.o
/tmp/gtk-fortran/src/gtk-sup.f90(541): warning #6706: There is a mixture of specific functions and specific subroutines for one generic-spec.   [CONVERT_F_STRING_A]
  subroutine convert_f_string_a(f_string, textptr, length)
-------------^

[ 20%] Building Fortran object src/CMakeFiles/gtk-fortran_object.dir/gtk-hl-dialog.f90.o
/tmp/gtk-fortran/src/gtk-hl-dialog.f90(41): warning #6706: There is a mixture of specific functions and specific subroutines for one generic-spec.   [CONVERT_F_STRING_A]
  use gtk_sup
------^

[ 51%] Building Fortran object examples/CMakeFiles/menubar.dir/menubar.f90.o
/tmp/gtk-fortran/examples/menubar.f90(39): warning #6706: There is a mixture of specific functions and specific subroutines for one generic-spec.   [GTK_SUP^CONVERT_F_STRING_A]
  use gtk_sup, only: convert_c_string, f_c_string
------^

[ 58%] Building Fortran object examples/CMakeFiles/bazaar.dir/bazaar.f90.o
/tmp/gtk-fortran/examples/bazaar.f90(363): warning #6706: There is a mixture of specific functions and specific subroutines for one generic-spec.   [GTK_SUP^CONVERT_F_STRING_A]
    use gtk_sup, only: f_c_string
--------^

To Reproduce

$ cmake -D CMAKE_BUILD_TYPE=debug -D EXCLUDE_PLPLOT=true -D CMAKE_Fortran_COMPILER:FILEPATH=$(which ifx) .. && make

Your system:

  • OS version: Ubuntu 24.10 64 bits
  • Compiler version: ifx (IFX) 2025.1.0 20250317
  • GTK branch: gtk4 and gtk3

Additional context
In src/gtk-sup.f90, there are two similar interfaces with two names:

  interface f_c_string
     module procedure convert_f_string_a
     module procedure convert_f_string_aa
     module procedure convert_f_string_s
  end interface f_c_string

  interface convert_f_string
     module procedure convert_f_string_a
     module procedure convert_f_string_aa
     module procedure convert_f_string_s
  end interface convert_f_string

convert_f_string_a, convert_f_string_aa and convert_f_string_s are all subroutines.

Metadata

Metadata

Assignees

Labels

WarningA warning at compilation or executionifort|ifxIntel compilers ifort and/or ifx

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions