Flang implementation for COMPILER_VERSION and COMPILER_OPTIONS intrinsics
authorHussain Kadhem <hmk@berkeley.edu>
Thu, 1 Jun 2023 16:31:51 +0000 (12:31 -0400)
committerHussain Kadhem <hmk@berkeley.edu>
Thu, 1 Jun 2023 16:35:16 +0000 (12:35 -0400)
commit541f5c4a6db35870091dd15dfa09dde751229a17
tree573564dd1a43db4ae3e42666ff5e13eb15011d39
parent2129cc1b3a14df5c24e5b2a680f18b88d5af4142
Flang implementation for COMPILER_VERSION and COMPILER_OPTIONS intrinsics

This revision implements the Fortran intrinsic procedures COMPILER_VERSION and COMPILER_OPTIONS from the iso_fortran_env module.
To be able to set the COMPILER_OPTIONS string according to the original compiler driver invocation, a string is passed to the frontend driver using the environment variable FLANG_COMPILER_OPTIONS_STRING, for lack of a better mechanism.

Fixes #59233

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D140524
15 files changed:
flang/include/flang/Common/Version.h [new file with mode: 0644]
flang/include/flang/Evaluate/target.h
flang/include/flang/Frontend/CompilerInvocation.h
flang/lib/Common/CMakeLists.txt
flang/lib/Common/Version.cpp [new file with mode: 0644]
flang/lib/Evaluate/fold-character.cpp
flang/lib/Evaluate/intrinsics.cpp
flang/lib/Frontend/CompilerInvocation.cpp
flang/module/__fortran_builtins.f90
flang/module/iso_fortran_env.f90
flang/test/Driver/compiler_options.f90 [new file with mode: 0644]
flang/test/Evaluate/compiler_options_fc1.f90 [new file with mode: 0644]
flang/test/Evaluate/compiler_version.f90 [new file with mode: 0644]
flang/tools/flang-driver/driver.cpp
flang/tools/flang-driver/fc1_main.cpp