Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 15 for Alignof (0.18 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. 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)
  7. src/internal/types/testdata/fixedbugs/issue40301.go

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    package p
    
    import "unsafe"
    
    func _[T any](x T) {
    	_ = unsafe.Alignof(x)
    	_ = unsafe.Sizeof(x)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 02 02:58:32 UTC 2022
    - 256 bytes
    - Viewed (0)
  8. test/fixedbugs/issue7525e.go

    // license that can be found in the LICENSE file.
    
    // Issue 7525: self-referential array types.
    
    package main
    
    import "unsafe"
    
    var x struct { // GC_ERROR "initialization cycle: x refers to itself"
    	c [unsafe.Alignof(x.c)]int // GCCGO_ERROR "array bound|typechecking loop|invalid array"
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Sep 29 14:21:33 UTC 2022
    - 413 bytes
    - Viewed (0)
  9. src/cmd/internal/src/xpos_test.go

    	}
    
    	if tab.baseList[0] != nil || tab.indexMap[nil] != 0 {
    		t.Errorf("nil base not at index 0")
    	}
    }
    
    func TestSize(t *testing.T) {
    	var p XPos
    	if unsafe.Alignof(p) != 4 {
    		t.Errorf("alignment = %v; want 4", unsafe.Alignof(p))
    	}
    	if unsafe.Sizeof(p) != 8 {
    		t.Errorf("size = %v; want 8", unsafe.Sizeof(p))
    	}
    }
    
    func TestSetBase(t *testing.T) {
    	var tab PosTable
    	b1 := NewFileBase("b1", "b1")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 01 15:52:41 UTC 2023
    - 2.7K bytes
    - Viewed (0)
  10. test/fixedbugs/issue62515.go

    package main
    
    import "unsafe"
    
    func F[G int](g G) (uintptr, uintptr, uintptr) {
    	var c chan func() int
    	type s struct {
    		g G
    		x []int
    	}
    	return unsafe.Sizeof(s{g, make([]int, (<-c)())}),
    		unsafe.Alignof(s{g, make([]int, (<-c)())}),
    		unsafe.Offsetof(s{g, make([]int, (<-c)())}.x)
    }
    
    func main() {
    	F(0)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Sep 11 20:48:07 UTC 2023
    - 592 bytes
    - Viewed (0)
Back to top