Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 41 for Alignof (0.22 sec)

  1. src/go/types/gcsizes.go

    }
    
    func (s *gcSizes) Alignof(T Type) (result int64) {
    	defer func() {
    		assert(result >= 1)
    	}()
    
    	// For arrays and structs, alignment is defined in terms
    	// of alignment of the elements and fields, respectively.
    	switch t := under(T).(type) {
    	case *Array:
    		// spec: "For a variable x of array type: unsafe.Alignof(x)
    		// is the same as unsafe.Alignof(x[0]), but at least 1."
    		return s.Alignof(t.elem)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 03 18:48:38 UTC 2024
    - 4.4K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/types2/sizes.go

    }
    
    // stdSizes is used if Config.Sizes == nil.
    var stdSizes = SizesFor("gc", "amd64")
    
    func (conf *Config) alignof(T Type) int64 {
    	f := stdSizes.Alignof
    	if conf.Sizes != nil {
    		f = conf.Sizes.Alignof
    	}
    	if a := f(T); a >= 1 {
    		return a
    	}
    	panic("implementation of alignof returned an alignment < 1")
    }
    
    func (conf *Config) offsetsof(T *Struct) []int64 {
    	var offsets []int64
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/types2/gcsizes.go

    }
    
    func (s *gcSizes) Alignof(T Type) (result int64) {
    	defer func() {
    		assert(result >= 1)
    	}()
    
    	// For arrays and structs, alignment is defined in terms
    	// of alignment of the elements and fields, respectively.
    	switch t := under(T).(type) {
    	case *Array:
    		// spec: "For a variable x of array type: unsafe.Alignof(x)
    		// is the same as unsafe.Alignof(x[0]), but at least 1."
    		return s.Alignof(t.elem)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 22 19:32:17 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  4. src/go/types/sizes.go

    }
    
    // stdSizes is used if Config.Sizes == nil.
    var stdSizes = SizesFor("gc", "amd64")
    
    func (conf *Config) alignof(T Type) int64 {
    	f := stdSizes.Alignof
    	if conf.Sizes != nil {
    		f = conf.Sizes.Alignof
    	}
    	if a := f(T); a >= 1 {
    		return a
    	}
    	panic("implementation of alignof returned an alignment < 1")
    }
    
    func (conf *Config) offsetsof(T *Struct) []int64 {
    	var offsets []int64
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 03 18:48:38 UTC 2024
    - 8.9K bytes
    - Viewed (0)
  5. src/internal/types/testdata/check/builtins1.go

    	assert(pp == 8)
    	const ll = unsafe.Alignof(l)
    	assert(ll == 8)
    	const ff = unsafe.Alignof(f)
    	assert(ff == 8)
    	const ii = unsafe.Alignof(i)
    	assert(ii == 8)
    	const cc = unsafe.Alignof(c)
    	assert(cc == 8)
    	const mm = unsafe.Alignof(m)
    	assert(mm == 8)
    	const _ = unsafe /* ERROR "not constant" */ .Alignof(t)
    }
    
    // unsafe.Offsetof
    
    func _[T comparable]() {
    	var (
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 18 21:16:29 UTC 2023
    - 6.8K bytes
    - Viewed (0)
  6. test/fixedbugs/bug279.go

    	if n != 4 && n != 8 {
    		println("BUG sizeof 0", n)
    		return
    	}
    	n = unsafe.Alignof(0)
    	if n != 4 && n != 8 {
    		println("BUG alignof 0", n)
    		return
    	}
    	
    	n = unsafe.Sizeof("")
    	if n != 8 && n != 16 {
    		println("BUG sizeof \"\"", n)
    		return
    	}
    	n = unsafe.Alignof("")
    	if n != 4 && n != 8 {
    		println("BUG alignof \"\"", n)
    		return
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 02 13:43:18 UTC 2016
    - 609 bytes
    - Viewed (0)
  7. test/fixedbugs/bug381.go

    package main
    
    import (
    	"time"
    	"unsafe"
    )
    
    func f(int)
    
    func main() {
    	unsafe.Alignof(0) // ERROR "unsafe\.Alignof|value computed is not used"
    	f(time.Wednesday) // ERROR "time.Wednesday|incompatible type"
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 02 13:43:18 UTC 2016
    - 747 bytes
    - Viewed (0)
  8. test/typeparam/issue47716.go

    		panic(fmt.Sprintf("got %d, want %d", got, want))
    	}
    	if got, want := align(v1), unsafe.Alignof(v1); got != want {
    		panic(fmt.Sprintf("got %d, want %d", got, want))
    	}
    
    	v2 := "abc"
    	if got, want := size(v2), unsafe.Sizeof(v2); got != want {
    		panic(fmt.Sprintf("got %d, want %d", got, want))
    	}
    	if got, want := align(v2), unsafe.Alignof(v2); got != want {
    		panic(fmt.Sprintf("got %d, want %d", got, want))
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 01 19:45:34 UTC 2022
    - 1.6K bytes
    - Viewed (0)
  9. src/internal/abi/compiletype.go

    // Their contents must be kept in sync with their definitions.
    // Because the host and target type sizes can differ, the compiler and
    // linker cannot use the host information that they might get from
    // either unsafe.Sizeof and Alignof, nor runtime, reflect, or reflectlite.
    
    // CommonSize returns sizeof(Type) for a compilation target with a given ptrSize
    func CommonSize(ptrSize int) int { return 4*ptrSize + 8 + 8 }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 08 03:01:24 UTC 2024
    - 1.3K bytes
    - Viewed (0)
  10. src/internal/types/testdata/check/builtins0.go

    	unsafe /* ERROR "not used" */ .Alignof(x)
    
    	var y S0
    	assert(unsafe.Alignof(y.a) == 1)
    	assert(unsafe.Alignof(y.b) == 4)
    	assert(unsafe.Alignof(y.c) == 8)
    	assert(unsafe.Alignof(y.d) == 1)
    	assert(unsafe.Alignof(y.e) == 8)
    
    	var s []byte
    	_ = unsafe.Alignof(s)
    	_ = unsafe.Alignof(s... /* ERROR "invalid use of ..." */ )
    }
    
    func Alignof2() {
    	f1 := func() (x int32) { return }
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 29.3K bytes
    - Viewed (0)
Back to top