This will check that of those functions can be compiled, linked and at
runtime can be resolved from CRT DLL library.
---
 mingw-w64-crt/Makefile.am       |  1 +
 mingw-w64-crt/testcases/t_lfs.c | 29 +++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 mingw-w64-crt/testcases/t_lfs.c

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 6f6d5b24b760..347b72897045 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -4387,6 +4387,7 @@ testcase_progs = \
   testcases/t_fstat \
   testcases/t_intrinc \
   testcases/t_imagebase \
+  testcases/t_lfs \
   testcases/t_matherr \
   testcases/t_nullptrexception \
   testcases/t_readdir \
diff --git a/mingw-w64-crt/testcases/t_lfs.c b/mingw-w64-crt/testcases/t_lfs.c
new file mode 100644
index 000000000000..9079e83b1a08
--- /dev/null
+++ b/mingw-w64-crt/testcases/t_lfs.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+
+int main(int argc, char *argv[]) {
+    int fd;
+    FILE *file;
+    fpos_t pos;
+    ftello64(stdin);
+    _ftelli64(stdin);
+    fgetpos64(stdin, &pos);
+    fseeko64(stdin, 0, SEEK_CUR);
+    _fseeki64(stdin, 0, SEEK_CUR);
+    pos = 0;
+    fsetpos64(stdin, &pos);
+    lseek64(STDIN_FILENO, 0, SEEK_CUR);
+    _lseeki64(STDIN_FILENO, 0, SEEK_CUR);
+    file = fopen64(argc >= 2 ? argv[1] : argv[0], "r");
+    if (file) {
+        freopen64(argc >= 2 ? argv[1] : argv[0], "r", file);
+        fclose(file);
+    }
+    file = tmpfile64();
+    if (file) fclose(file);
+    fd = open64(argc >= 2 ? argv[1] : argv[0], O_RDONLY);
+    if (fd >= 0) close(fd);
+    return 0;
+}
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to