Skip to content

Defect: get_team() does not compile properly #545

Open
@ghost

Description

Avg response time
Issue Stats

Defect/Bug Report

  • OpenCoarrays Version: 2.1.0-22-gbca8f16
  • Fortran Compiler: GNU Fortran (GCC) 8.1.1 20180528
  • C compiler used for building lib: gcc 8.1.1 20180528
  • Installation method: cmake gui -> makefile -> make install
  • Output of uname -a: Linux dune 4.16.12-1-ARCH tests dis_transpose: test passed  #1 SMP PREEMPT Fri May 25 23:30:31 UTC 2018 x86_64 GNU/Linux (running under VirtualBox on an iMac)
  • MPI library being used: mpich 3.2.1
  • Machine architecture and number of physical cores: X86-64 / 4 cores
  • Version of CMake: 3.11.2

Observed Behavior

I get a compile error when trying to use the get_team() intrinsic:

program test_get_team
   use, intrinsic :: iso_fortran_env, only: team_type
   type(team_type) :: initial
   initial = get_team()
 end program test_get_team

Compiling the above, I get:

../get-team.f90:4:13:

    initial = get_team()
             1
Error: Can't convert INTEGER(4) to TYPE(team_type) at (1)

So, it appears that get_team() returns an integer.

FURTHER...

I then changed the return type to an integer:

program test_get_team
   use, intrinsic :: iso_fortran_env, only: team_type
   integer :: tn
   tn = get_team()
 end program test_get_team

I then get a internal compiler error:

[ 37%] Building Fortran object CMakeFiles/get-team.dir/get-team.f90.o
f951: internal compiler error: Intrinsic function '_gfortran_caf_get_team' (118) not recognized
0x61a32f gfc_internal_error(char const*, ...)
    ../.././gcc/fortran/error.c:1358
0x70ba60 gfc_conv_intrinsic_lib_function
    ../.././gcc/fortran/trans-intrinsic.c:855
0x70fa07 gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)
    ../.././gcc/fortran/trans-intrinsic.c:9556
0x6ee8dc gfc_conv_function_expr
    ../.././gcc/fortran/trans-expr.c:6788
0x6eee2a gfc_conv_expr(gfc_se*, gfc_expr*)
    ../.././gcc/fortran/trans-expr.c:7922
0x6f6463 gfc_trans_assignment_1
    ../.././gcc/fortran/trans-expr.c:10098
0x6bc227 trans_code
    ../.././gcc/fortran/trans.c:1828
0x6e246b gfc_generate_function_code(gfc_namespace*)
    ../.././gcc/fortran/trans-decl.c:6507
0x673146 translate_all_program_units
    ../.././gcc/fortran/parse.c:6121
0x673146 gfc_parse_file()
    ../.././gcc/fortran/parse.c:6324
0x6b948f gfc_be_parse_file
    ../.././gcc/fortran/f95-lang.c:204
Please submit a full bug report,

Expected Behavior

get_team() should compile and link. get_team should return a TEAM_TYPE variable.

NOTE: This could be a bug in both gfortran and opencoarrays.

Steps to Reproduce

In Observed Behavior.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions