]> Cypherpunks repositories - gostls13.git/commitdiff
check printf format strings
authorRuss Cox <rsc@golang.org>
Mon, 15 Dec 2008 18:50:33 +0000 (10:50 -0800)
committerRuss Cox <rsc@golang.org>
Mon, 15 Dec 2008 18:50:33 +0000 (10:50 -0800)
R=r
DELTA=18  (16 added, 0 deleted, 2 changed)
OCL=21177
CL=21185

src/runtime/Makefile
src/runtime/runtime.h

index 2cb5cfa0aed9a4568e551a33e5af4c2ed1c63378..45753180396fa36f84f0b868d8a19d4c34c52cac 100644 (file)
@@ -54,10 +54,10 @@ clean:
        rm -f *.$(O) *.a runtime.acid
 
 %.$O:  %.c
-       $(CC) -w $<
+       $(CC) -wF $<
 
 sys_file.$O:   sys_file.c sys_types.h $(OS_H)
-       $(CC) -w -D$(GOARCH)_$(GOOS) $<
+       $(CC) -wF -D$(GOARCH)_$(GOOS) $<
 
 %.$O:  %.s
        $(AS) $<
index b2395e2368e479183457b3b02e717a55e3c81509..94ff6d7ca077decd7d5ce9b7b734948ab3de2973 100644 (file)
@@ -281,6 +281,22 @@ int32      funcline(Func*, uint64);
 void*  stackalloc(uint32);
 void   stackfree(void*);
 
+#pragma        varargck        argpos  printf  1
+
+#pragma        varargck        type    "d"     int32
+#pragma        varargck        type    "d"     uint32
+#pragma        varargck        type    "D"     int64
+#pragma        varargck        type    "D"     uint64
+#pragma        varargck        type    "x"     int32
+#pragma        varargck        type    "x"     uint32
+#pragma        varargck        type    "X"     int64
+#pragma        varargck        type    "X"     uint64
+#pragma        varargck        type    "p"     void*
+#pragma        varargck        type    "p"     uint64
+#pragma        varargck        type    "s"     int8*
+#pragma        varargck        type    "s"     uint8*
+#pragma        varargck        type    "S"     string
+
 // TODO(rsc): Remove. These are only temporary,
 // for the mark and sweep collector.
 void   stoptheworld(void);