Skip to content

gFTL v2 needed with flang (flang-new) when defining -fdefault-real-8 #552

Description

@qiUip

When defining real to always be double with

DBLFLAG=  -fdefault-real-8 -fdefault-double-8

and compiling with llvm flang v21+ (or flang-new in older versions), gFTL cannot find the right stringvector and throws many errors like:

error: Cannot use module file for module 'gftl_stringvector': File is not the right module file for 'gftl_stringvector': $PFUNIT_INSTALL_PATH/GFTL_SHARED-1.12/include/v1/gftl_stringvector.mod
  use gftl_stringvector,only:stringvectoriterator

....

$PFUNIT_INSTALL_PATH/FARGPARSE-1.11/include/fp_cast.mod:66:5: error: Cannot parse module file for module 'gftl2_stringvector': Source file 'gftl2_stringvector.mod' was not found
  use gftl2_stringvector,only:stringvector

This is fixed by including also V2 of gFTL in cmake/PFUNIT.mk.in (which seems to manage it's own real definition and not depend on the project's definition):

PFUNIT_EXTRA_FFLAGS := -I$(GFTL_INCLUDE_DIR) -I$(GFTL_V2_INCLUDE_DIR) -I$(GFTL_SHARED_INCLUDE_DIR) -I$(GFTL_SHARED_V2_INCLUDE_DIR) -I$(FARGPARSE_INCLUDE_DIR) -I$(PFUNIT_INCLUDE_DIR) -I.

I also tried adding V2 directly into the project's Makefile on top of the PFUNIT_EXTRA_FFLAGS but that didn't seem to work. I have to add them to PFUNIT.mk

I'm not sure if this is a proper fix, but as gFTL v2 is already built by default, is there any reason to not include it by default?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions