Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for RangeExprType (0.12 sec)

  1. src/cmd/compile/internal/walk/range.go

    }
    
    // arrayClear constructs a call to runtime.memclr for fast zeroing of slices and arrays.
    func arrayClear(wbPos src.XPos, a ir.Node, nrange *ir.RangeStmt) ir.Node {
    	elemsize := typecheck.RangeExprType(a.Type()).Elem().Size()
    	if elemsize <= 0 {
    		return nil
    	}
    
    	// Convert to
    	// if len(a) != 0 {
    	// 	hp = &a[0]
    	// 	hn = len(a)*sizeof(elem(a))
    	// 	memclr{NoHeap,Has}Pointers(hp, hn)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 20 14:52:33 UTC 2023
    - 17.6K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/typecheck/stmt.go

    package typecheck
    
    import (
    	"cmd/compile/internal/base"
    	"cmd/compile/internal/ir"
    	"cmd/compile/internal/types"
    	"cmd/internal/src"
    	"internal/types/errors"
    )
    
    func RangeExprType(t *types.Type) *types.Type {
    	if t.IsPtr() && t.Elem().IsArray() {
    		return t.Elem()
    	}
    	return t
    }
    
    func typecheckrangeExpr(n *ir.RangeStmt) {
    }
    
    // type check assignment.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Nov 20 15:10:54 UTC 2023
    - 17.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/order.go

    				fallthrough
    			case ir.OSTR2BYTESTMP:
    				x.MarkNonNil() // "range []byte(nil)" is fine
    			}
    		}
    
    		t := o.markTemp()
    		n.X = o.expr(n.X, nil)
    
    		orderBody := true
    		xt := typecheck.RangeExprType(n.X.Type())
    		switch k := xt.Kind(); {
    		default:
    			base.Fatalf("order.stmt range %v", n.Type())
    
    		case types.IsInt[k]:
    			// Used only once, no need to copy.
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 08 02:00:33 UTC 2024
    - 42.7K bytes
    - Viewed (0)
Back to top