if n > 0 {
arg0 = args[0]
switch id {
- case _Make, _New, _Trace:
+ case _Make, _New, _Print, _Println, _Trace:
// respective cases below do the work
default:
// argument must be an expression
x.mode = variable
x.typ = &Pointer{Base: resultTyp}
- case _Panic, _Print, _Println:
- for _, arg := range args[1:] {
+ case _Panic:
+ x.mode = novalue
+
+ case _Print, _Println:
+ for _, arg := range args {
check.expr(x, arg, nil, -1)
+ if x.mode == invalid {
+ goto Error
+ }
}
x.mode = novalue
{_Make, "make", 1, true, false},
{_New, "new", 1, false, false},
{_Panic, "panic", 1, false, true},
- {_Print, "print", 1, true, true},
- {_Println, "println", 1, true, true},
+ {_Print, "print", 0, true, true},
+ {_Println, "println", 0, true, true},
{_Real, "real", 1, false, false},
{_Recover, "recover", 0, false, true},