[all-commits] [llvm/llvm-project] f220d2: [flang][runtime] Add ACCESS library procedure (#88...

Tom Eccles via All-commits all-commits at lists.llvm.org
Fri Apr 12 06:08:27 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f220d26eb1ab5b588215acf538ca82bb3c8798cc
      https://github.com/llvm/llvm-project/commit/f220d26eb1ab5b588215acf538ca82bb3c8798cc
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-12 (Fri, 12 Apr 2024)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Runtime/extensions.h
    M flang/runtime/extensions.cpp
    A flang/unittests/Runtime/AccessTest.cpp
    M flang/unittests/Runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang][runtime] Add ACCESS library procedure (#88395)

This is a GNU extension:
https://gcc.gnu.org/onlinedocs/gfortran/ACCESS.html

Used in SALMON:
https://salmon-tddft.jp/download.html

Unfortunately the intrinsic takes a file path to operate on so there
isn't an easy way to make the test robust. The unit test expects to be
able to create, set read write and execute permissions, and delete files
called
  `std::filesystem::temp_directory_path() / <test_name>.<pid>`

The test will fail if a file already exists with that name.

I have not implemented the intrinsic on Windows because this is wrapping
a POSIX system call and Windows doesn't support all of the permission
bits tested by the intrinsic. I don't have a Windows machine easily
available to check if Gfortran implements this intrinsic on Windows.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list