runtime: Copy runtime_printf from other Go library.
[gcc.git] / libgo / runtime / go-print.c
1 /* go-print.c -- support for the go print statement.
2
3 Copyright 2009 The Go Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style
5 license that can be found in the LICENSE file. */
6
7 #include <math.h>
8 #include <stdint.h>
9 #include <stdio.h>
10
11 #include "runtime.h"
12 #include "array.h"
13 #include "go-panic.h"
14 #include "go-string.h"
15 #include "interface.h"
16
17 /* This implements the various little functions which are called by
18 the predeclared functions print/println/panic/panicln. */
19
20 void
21 __go_print_empty_interface (struct __go_empty_interface e)
22 {
23 runtime_printf ("(%p,%p)", e.__type_descriptor, e.__object);
24 }
25
26 void
27 __go_print_interface (struct __go_interface i)
28 {
29 runtime_printf ("(%p,%p)", i.__methods, i.__object);
30 }
31
32 void
33 __go_print_slice (struct __go_open_array val)
34 {
35 runtime_printf ("[%d/%d]", val.__count, val.__capacity);
36 runtime_printpointer (val.__values);
37 }