[MLton-commit] r4619

Wesley Terpstra MLton@mlton.org
Sun, 28 May 2006 05:25:25 -0700


On windows, there is no %ll modifier for long long. Instead, they use %I64, which of course is no ISO format string. MinGW correctly defines the use of %I64, but gcc doesn't like it. This causes >= 3 warnings per file, which I've silenced on MinGW by (crudely) disabling format warnings.
----------------------------------------------------------------------

U   mlton/branches/on-20050822-x86_64-branch/runtime/Makefile

----------------------------------------------------------------------

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/Makefile	2006-05-28 08:23:14 UTC (rev 4618)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/Makefile	2006-05-28 12:25:24 UTC (rev 4619)
@@ -131,7 +131,6 @@
 WARNCFLAGS += -Wmissing-field-initializers
 endif
 WARNCFLAGS += -Wmissing-noreturn 
-WARNCFLAGS += -Wmissing-format-attribute 
 # WARNCFLAGS += -Wpacked -Wpadded
 WARNCFLAGS += -Wredundant-decls 
 WARNCFLAGS += -Wnested-externs 
@@ -141,6 +140,13 @@
 OPTWARNCFLAGS = $(WARNCFLAGS) -Wdisabled-optimization $(OPTWARNFLAGS)
 DEBUGWARNCFLAGS = $(WARNCFLAGS) $(DEBUGWARNFLAGS)
 
+# GCC doesn't recognize the %I64 format specifier which means %ll on windows
+ifeq ($(TARGET_OS), mingw)
+WARNCFLAGS += -Wno-format
+else
+WARNCFLAGS += -Wmissing-format-attribute
+endif
+
 UTILCFILES =							\
 	$(shell find util -type f | grep '\.c$$')
 UTILHFILES =							\