compiler: print runtime.hex in hex
The gc compiler recognizes the type runtime.hex and prints values in this type as hex. Do the same here. This makes debugging runtime crashes slightly better. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190597 From-SVN: r274591
This commit is contained in:
parent
1ccd703591
commit
29ca15bb29
|
@ -1,4 +1,4 @@
|
|||
480477ca64c3001b9c7e92ef8b978dc92a5912d2
|
||||
0f6d673d5b1a3474c3424cb6994ae8ff9baed255
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -10294,7 +10294,13 @@ Builtin_call_expression::do_get_backend(Translate_context* context)
|
|||
{
|
||||
Type* itype = Type::lookup_integer_type("uint64");
|
||||
arg = Expression::make_cast(itype, arg, location);
|
||||
code = Runtime::PRINTUINT;
|
||||
if (gogo->compiling_runtime()
|
||||
&& type->named_type() != NULL
|
||||
&& gogo->unpack_hidden_name(type->named_type()->name())
|
||||
== "hex")
|
||||
code = Runtime::PRINTHEX;
|
||||
else
|
||||
code = Runtime::PRINTUINT;
|
||||
}
|
||||
else if (type->integer_type() != NULL)
|
||||
{
|
||||
|
|
|
@ -384,6 +384,9 @@ DEF_GO_RUNTIME(PRINTSTRING, "runtime.printstring", P1(STRING), R0())
|
|||
// Print a uint64 (for print/println).
|
||||
DEF_GO_RUNTIME(PRINTUINT, "runtime.printuint", P1(UINT64), R0())
|
||||
|
||||
// Print a uint64 in hex (for print/println, used for runtime.hex type).
|
||||
DEF_GO_RUNTIME(PRINTHEX, "runtime.printhex", P1(UINT64), R0())
|
||||
|
||||
// Print a int64 (for print/println).
|
||||
DEF_GO_RUNTIME(PRINTINT, "runtime.printint", P1(INT64), R0())
|
||||
|
||||
|
|
Loading…
Reference in New Issue