[flang-commits] [PATCH] D100897: [flang] Make 'team_number()' an intrinsic function
Craig E Rasmussen via Phabricator via flang-commits
flang-commits at lists.llvm.org
Mon Sep 27 14:06:27 PDT 2021
craig.rasmussen marked an inline comment as done.
craig.rasmussen added inline comments.
================
Comment at: flang/lib/Evaluate/intrinsics.cpp:1297
break;
+ case KindCode::teamType: // TODO: TEAM_TYPE
+ argOk = type->category() == TypeCategory::Derived;
----------------
klausler wrote:
> craig.rasmussen wrote:
> > It seems like more work is required here because argOk==true should only occur if the derived type is type(team_type), right? Can derived types have kinds (I suppose I should know that)?
> >
> > In any case, once TEAM_TYPE is sorted out I can finish a lot more of coarray intrinsic functions.
> >
> >
> Right, you need to check that the derived type is TEAM_TYPE from the intrinsic module ISO_FORTRAN_ENV. Grep the sources and you'll find a utility predicate that should help.
I had found semantics::IsTeamType which worked fine when static libraries are built, however fails when building shared libraries. Spent too much time trying to figure out a way around the linker but its pretty clear that the design doesn't really allow this because of library build order. Now just using a simple lookup for symbol name "__builtin_team_type". Will submit new patch shortly after more testing,
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D100897/new/
https://reviews.llvm.org/D100897
More information about the flang-commits
mailing list