[PATCH] D94707: [Flang] Fix compilation on MinGW-w64
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 15 03:26:12 PST 2021
mstorsjo added a comment.
In D94707#2500579 <https://reviews.llvm.org/D94707#2500579>, @ChinouneMehdi wrote:
> In D94707#2500131 <https://reviews.llvm.org/D94707#2500131>, @mstorsjo wrote:
>
>> What part of the code in the ifdefs is msvc-specific? On a first glance, it looks like regular win32 code that should work fine on mingw. What's the error that it tries to fix?
>
>
>
> D:/dev/llvm-project/flang/runtime/file.cpp:48:57: error: use of undeclared identifier '_S_IREAD'
> int fd{::_open(tempFileName, _O_CREAT | _O_TEMPORARY, _S_IREAD | _S_IWRITE)};
> ^
> D:/dev/llvm-project/flang/runtime/file.cpp:48:68: error: use of undeclared identifier '_S_IWRITE'
> int fd{::_open(tempFileName, _O_CREAT | _O_TEMPORARY, _S_IREAD | _S_IWRITE)};
The problem here is just that the right header for the `_S_IREAD` and `_S_IWRITE` constants haven't been included. Include `sys/stat.h` (which exists in both MSVC and mingw environments), i.e. move that include out of the ifdef/else, and this should work for mingw too.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94707/new/
https://reviews.llvm.org/D94707
More information about the llvm-commits
mailing list