summaryrefslogtreecommitdiffstats
path: root/cmake/LargeFiles64.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cmake/LargeFiles64.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/cmake/LargeFiles64.c b/cmake/LargeFiles64.c
new file mode 100644
index 0000000..57826b7
--- /dev/null
+++ b/cmake/LargeFiles64.c
@@ -0,0 +1,16 @@
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+#define VALID_ARRAY_LENGTH 1
+#define INVALID_ARRAY_LENGTH -1
+
+int main(int argc, const char **argv)
+{
+ int a[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? VALID_ARRAY_LENGTH : INVALID_ARRAY_LENGTH];
+ off_t offset = ftello64(NULL);
+ fseeko64(NULL, offset, SEEK_SET);
+ return 0;
+}