W dniu 03.01.2019 o 17:05, Jacek Caban pisze: > On 1/3/19 4:47 PM, Jacek Caban wrote: >> Hi Mateusz, >> >> On 1/2/19 5:45 PM, Mateusz wrote: >>> W dniu 02.01.2019 o 16:32, JonY via Mingw-w64-public pisze: >>>> On 1/2/19 1:10 PM, Johannes Pfau wrote: >>>>> Hello all, >>>>> >>>>> I'm currently adding (some basic) MinGW support to the D code which >>>>> was recently merged into GCC9. The D runtime library already has full >>>>> windows support, developed by DMD and LLVM D compiler devs. However, >>>>> this needs MSVC runtime versions >= 120. So I'm now trying to add >>>>> proper support for targeting newer MSVC libs to the GCC/MinGW ecosystem. >>>>> >>>>> It turns out libgomp uses _ftime, but this symbol is only exposed for >>>>> msvcrt.dll and I get linker errors for any other MSVC version. >>>>> Therefore this patch adds the _ftime aliases to all msvcr .def >>>>> files. According to timeb.h, there should be a _ftime symbol which >>>>> maps to _ftime64 on _WIN64 and _ftime32 for anything else. >>>>> >>>>> This is my first MinGW patch, so please feel free to point out if >>>>> there's anything wrong with the patch. >>>>> BTW: How do you handle branches for the patches? The attached patch >>>>> is against the v6.x branch. >>>>> >>>>> Best regards, >>>>> Johannes >>>> Ideally, the patch should be against master, and then cherry-picked to >>>> v6.x. If there are conflicts, please prepare the patch for both branches. >>>> >>>> I'll let LH, Jacek and the others comment on the patch. >>> On page >>> https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/ftime-ftime32-ftime64?view=vs-2017 >>> there is an example program. >>> >>> I've tested this example in 64-bit GCC msvcrt/msvcr120/ucrtbase + 32-bit >>> GCC msvcrt/msvcr120/ucrtbase -- all works. Could you specify example that >>> not works? >> >> >> Note that in this example, a header file is used and it's redirected in >> header file itself by a macro (like we do). The patch affects importlib >> entries. To test them you could for example declare the function yourself. >> > > Oh, I missed part of the thread and thought that importlib patch is still > needed besides having the define. I already tested that patch's behaviour > matches msvc and pushed it. Do we want it anyway? It improves compatibility > and in practice the macro (doing the right thing) will be used anyway. > > > Sorry for the mess.
Hi Jacek, Microsoft removed _ftime function (it was in msvcrt.dll) and moved to _ftime32/64 functions and _ftime macro. In trunk we follow this path. It is not needed extra patch for _ftime function (moreover, in 32-bit it is only 50% accurate -- _ftime could be _ftime64 and without header and check of _USE_32BIT_TIME_T it is impossible to tell). Regards, Mateusz _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public