]> Cypherpunks repositories - gostls13.git/commitdiff
unsafe: document use of &^ to round/align pointers
authorJosh Bleecher Snyder <josharian@gmail.com>
Wed, 17 Aug 2016 23:23:40 +0000 (16:23 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Thu, 18 Aug 2016 16:45:17 +0000 (16:45 +0000)
Follow-up to CL 27156

Change-Id: I4f1cfced2dced9c9fc8a05bbc00ec4229e85c5c9
Reviewed-on: https://go-review.googlesource.com/27314
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/unsafe/unsafe.go

index 8f43e72775a071afe597eb0ec074d7b39d93bbd8..0b59ff204b08d62f892dac9bdb98dcea1f883516 100644 (file)
@@ -76,8 +76,10 @@ type ArbitraryType int
 //     // equivalent to e := unsafe.Pointer(&x[i])
 //     e := unsafe.Pointer(uintptr(unsafe.Pointer(&x[0])) + i*unsafe.Sizeof(x[0]))
 //
-// It is valid both to add and to subtract offsets from a pointer in this way,
-// but the result must continue to point into the original allocated object.
+// It is valid both to add and to subtract offsets from a pointer in this way.
+// It is also valid to use &^ to round pointers, usually for alignment.
+// In all cases, the result must continue to point into the original allocated object.
+//
 // Unlike in C, it is not valid to advance a pointer just beyond the end of
 // its original allocation:
 //