aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2008-12-15 10:50:33 -0800
committerRuss Cox <rsc@golang.org>2008-12-15 10:50:33 -0800
commit5bb0c4f88bbfad8173c32dcda304867a22e09add (patch)
tree14e84f3b9002d805678309761756435bdfdbf9a9 /src
parent7ca5a0d323058ef6f749f5c3b146081b931da113 (diff)
downloadgo-5bb0c4f88bbfad8173c32dcda304867a22e09add.tar.xz
check printf format strings
R=r DELTA=18 (16 added, 0 deleted, 2 changed) OCL=21177 CL=21185
Diffstat (limited to 'src')
-rw-r--r--src/runtime/Makefile4
-rw-r--r--src/runtime/runtime.h16
2 files changed, 18 insertions, 2 deletions
diff --git a/src/runtime/Makefile b/src/runtime/Makefile
index 2cb5cfa0ae..4575318039 100644
--- a/src/runtime/Makefile
+++ b/src/runtime/Makefile
@@ -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) $<
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h
index b2395e2368..94ff6d7ca0 100644
--- a/src/runtime/runtime.h
+++ b/src/runtime/runtime.h
@@ -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);