compiler, libgo: Fixes to prepare for 64-bit int.

From-SVN: r193254
This commit is contained in:
Ian Lance Taylor 2012-11-06 18:28:21 +00:00
parent 855a44ee8f
commit fb3f38da2a
12 changed files with 28 additions and 21 deletions

View file

@ -2568,8 +2568,12 @@ Integer_type::create_abstract_integer_type()
{
static Integer_type* abstract_type;
if (abstract_type == NULL)
abstract_type = new Integer_type(true, false, INT_TYPE_SIZE,
RUNTIME_TYPE_KIND_INT);
{
Type* int_type = Type::lookup_integer_type("int");
abstract_type = new Integer_type(true, false,
int_type->integer_type()->bits(),
RUNTIME_TYPE_KIND_INT);
}
return abstract_type;
}

View file

@ -13,11 +13,11 @@
We deliberately don't split the stack in case it does call the
library function, which shouldn't need much stack space. */
int IndexByte (struct __go_open_array, char)
intgo IndexByte (struct __go_open_array, char)
asm ("bytes.IndexByte")
__attribute__ ((no_split_stack));
int
intgo
IndexByte (struct __go_open_array s, char b)
{
char *p;

View file

@ -6,14 +6,16 @@
#include <syslog.h>
#include "runtime.h"
/* We need to use a C function to call the syslog function, because we
can't represent a C varargs function in Go. */
void syslog_c(int, const char*)
void syslog_c(intgo, const char*)
asm ("log_syslog.syslog_c");
void
syslog_c (int priority, const char *msg)
syslog_c (intgo priority, const char *msg)
{
syslog (priority, "%s", msg);
}

View file

@ -10,10 +10,10 @@
#include "arch.h"
#include "malloc.h"
String Signame (int sig) asm ("syscall.Signame");
String Signame (intgo sig) asm ("syscall.Signame");
String
Signame (int sig)
Signame (intgo sig)
{
const char* s = NULL;
char buf[100];
@ -27,7 +27,7 @@ Signame (int sig)
if (s == NULL)
{
snprintf(buf, sizeof buf, "signal %d", sig);
snprintf(buf, sizeof buf, "signal %ld", (long) sig);
s = buf;
}
len = __builtin_strlen (s);

View file

@ -124,7 +124,7 @@ static uintptr eod[3] = {0, 1, 0};
static void LostProfileData(void) {
}
extern void runtime_SetCPUProfileRate(int32)
extern void runtime_SetCPUProfileRate(intgo)
__asm__("runtime.SetCPUProfileRate");
// SetCPUProfileRate sets the CPU profiling rate.

View file

@ -106,10 +106,11 @@ __go_map_next_prime (uintptr_t n)
struct __go_map *
__go_new_map (const struct __go_map_descriptor *descriptor, uintptr_t entries)
{
intgo ientries;
int32 ientries;
struct __go_map *ret;
ientries = (intgo) entries;
/* The master library limits map entries to int32, so we do too. */
ientries = (int32) entries;
if (ientries < 0 || (uintptr_t) ientries != entries)
runtime_panicstring ("map size out of range");

View file

@ -14,7 +14,7 @@
characters used from STR. */
int
__go_get_rune (const unsigned char *str, size_t len, int *rune)
__go_get_rune (const unsigned char *str, size_t len, int32 *rune)
{
int c, c1, c2, c3, l;

View file

@ -26,6 +26,6 @@ __go_ptr_strings_equal (const String *ps1, const String *ps2)
return __go_strings_equal (*ps1, *ps2);
}
extern int __go_get_rune (const unsigned char *, size_t, int *);
extern int __go_get_rune (const unsigned char *, size_t, int32 *);
#endif /* !defined(LIBGO_GO_STRING_H) */

View file

@ -29,13 +29,13 @@ runtime_printtrace (uintptr *pcbuf, int32 c)
{
String fn;
String file;
int line;
intgo line;
if (__go_file_line (pcbuf[i], &fn, &file, &line)
&& runtime_showframe (fn.str))
{
runtime_printf ("%S\n", fn);
runtime_printf ("\t%S:%d\n", file, line);
runtime_printf ("\t%S:%D\n", file, (int64) line);
}
}
}

View file

@ -610,11 +610,11 @@ runtime_goroutinetrailer(G *g)
if(g != nil && g->gopc != 0 && g->goid != 1) {
String fn;
String file;
int line;
intgo line;
if(__go_file_line(g->gopc - 1, &fn, &file, &line)) {
runtime_printf("created by %S\n", fn);
runtime_printf("\t%S:%d\n", file, line);
runtime_printf("\t%S:%D\n", file, (int64) line);
}
}
}

View file

@ -341,7 +341,7 @@ int32 runtime_ncpu;
/*
* common functions and data
*/
int32 runtime_findnull(const byte*);
intgo runtime_findnull(const byte*);
void runtime_dump(byte*, int32);
/*
@ -614,7 +614,7 @@ extern uintptr runtime_stacks_sys;
struct backtrace_state;
extern struct backtrace_state *__go_get_backtrace_state(void);
extern _Bool __go_file_line(uintptr, String*, String*, int *);
extern _Bool __go_file_line(uintptr, String*, String*, intgo *);
extern byte* runtime_progname();
int32 getproccount(void);

View file

@ -54,7 +54,7 @@ func stringiter(s String, k int) (retk int) {
out:
}
func stringiter2(s String, k int) (retk int, retv int) {
func stringiter2(s String, k int) (retk int, retv int32) {
if(k >= s.len) {
// retk=0 is end of iteration
retk = 0;