<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go/src/cmd/compile/internal/noder/noder.go, branch json-isValidNumber-before</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=json-isValidNumber-before</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=json-isValidNumber-before'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2023-01-25T21:16:32Z</updated>
<entry>
<title>cmd: remove GOEXPERIMENT=nounified knob</title>
<updated>2023-01-25T21:16:32Z</updated>
<author>
<name>Matthew Dempsky</name>
<email>mdempsky@google.com</email>
</author>
<published>2022-12-02T00:14:11Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=4f467f10820e78add23bf5ddeb1de521aa6f8864'/>
<id>urn:sha1:4f467f10820e78add23bf5ddeb1de521aa6f8864</id>
<content type='text'>
This CL removes the GOEXPERIMENT=nounified knob, and any conditional
statements that depend on that knob. Further CLs to remove unreachable
code follow this one.

Updates #57410.

Change-Id: I39c147e1a83601c73f8316a001705778fee64a91
Reviewed-on: https://go-review.googlesource.com/c/go/+/458615
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: allow ineffectual //go:linkname in -lang=go1.17 and older</title>
<updated>2022-11-03T20:35:31Z</updated>
<author>
<name>Matthew Dempsky</name>
<email>mdempsky@google.com</email>
</author>
<published>2022-11-03T18:56:43Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=aa6240a445d2478f29add6218b19147f5bf2204f'/>
<id>urn:sha1:aa6240a445d2478f29add6218b19147f5bf2204f</id>
<content type='text'>
Prior to Go 1.18, ineffectual //go:linkname directives (i.e.,
directives referring to an undeclared name, or to a declared type or
constant) were treated as noops. In Go 1.18, we changed this into a
compiler error to mitigate accidental misuse.

However, the x/sys repo contained ineffectual //go:linkname directives
up until go.dev/cl/274573, which has caused a lot of user confusion.

It seems a bit late to worry about now, but to at least prevent
further user pain, this CL changes the error message to only apply to
modules using "go 1.18" or newer. (The x/sys repo declared "go 1.12"
at the time go.dev/cl/274573 was submitted.)

Fixes #55889.

Change-Id: Id762fff96fd13ba0f1e696929a9e276dfcba2620
Reviewed-on: https://go-review.googlesource.com/c/go/+/447755
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Run-TryBot: Matthew Dempsky &lt;mdempsky@google.com&gt;
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: remove go:notinheap pragma</title>
<updated>2022-09-02T18:24:59Z</updated>
<author>
<name>Cuong Manh Le</name>
<email>cuong.manhle.vn@gmail.com</email>
</author>
<published>2022-08-10T13:01:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=8bbb362f4c954da7c521bf2dd34b22fa3e5ab3c5'/>
<id>urn:sha1:8bbb362f4c954da7c521bf2dd34b22fa3e5ab3c5</id>
<content type='text'>
Updates #46731

Change-Id: I247fa9c7ca97feb9053665da7ff56e7f5b571f74
Reviewed-on: https://go-review.googlesource.com/c/go/+/422815
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
Run-TryBot: Cuong Manh Le &lt;cuong.manhle.vn@gmail.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Joedian Reid &lt;joedian@golang.org&gt;
</content>
</entry>
<entry>
<title>cmd/compile: restrict //go:notinheap to runtime/internal/sys</title>
<updated>2022-09-02T06:22:23Z</updated>
<author>
<name>Cuong Manh Le</name>
<email>cuong.manhle.vn@gmail.com</email>
</author>
<published>2022-08-07T18:10:18Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=ec2ea40b315e8b1a3d1dc8f7987584c4e2a00ef4'/>
<id>urn:sha1:ec2ea40b315e8b1a3d1dc8f7987584c4e2a00ef4</id>
<content type='text'>
So it won't be visible outside of runtime package. There are changes to
make tests happy:

 - For test/directive*.go files, using "go:noinline" for testing misplaced
 directives instead.
 - Restrict test/fixedbugs/bug515.go for gccgo only.
 - For test/notinheap{2,3}.go, using runtime/cgo.Incomplete for marking
 the type as not-in-heap. Though it's somewhat clumsy, it's the easiest
 way to keep the test errors for not-in-heap types until we can cleanup
 further.
 - test/typeparam/mdempsky/11.go is about defined type in user code marked
 as go:notinheap, which can't happen after this CL, though.

Fixes #46731

Change-Id: I869f5b2230c8a2a363feeec042e7723bbc416e8e
Reviewed-on: https://go-review.googlesource.com/c/go/+/421882
Run-TryBot: Cuong Manh Le &lt;cuong.manhle.vn@gmail.com&gt;
Reviewed-by: Joedian Reid &lt;joedian@golang.org&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
</content>
</entry>
<entry>
<title>cmd/compile: do branch/label checks only once</title>
<updated>2022-06-26T00:21:33Z</updated>
<author>
<name>Robert Griesemer</name>
<email>gri@golang.org</email>
</author>
<published>2022-06-25T02:11:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=666d736ecb8afbe1aeb1d15f3958b70af2173510'/>
<id>urn:sha1:666d736ecb8afbe1aeb1d15f3958b70af2173510</id>
<content type='text'>
The previous change implemented the missing fallthrough checking
in the parser. Therefore we can now disable the duplicate check
in the type checker:

- rename (types2.Config.)IngoreLabels to IgnoreBranches to more
  accurately reflect its functionality

- now also ignore break/continue/fallthroughs, not just labels

The IgnoreBranches flag only exists for types2, for use with
the compiler. There's no need to port this code to go/types.

Note: An alternative (and perhaps better) approach would be
to not use the the parser's CheckBranches mode and instead
enable (i.e. not disable) the branch/label checking in the
type checker. However, this requires a bit more work because
the type checker's error messages about goto's jumping over
variables don't have access to the variable names, which are
desired in the error messages.

Fixes #51456.

Change-Id: Ib2e71e811d4e84e4895b729646e879fd43b12dcd
Reviewed-on: https://go-review.googlesource.com/c/go/+/414135
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
Reviewed-by: Robert Griesemer &lt;gri@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: enable Asan check for global variables</title>
<updated>2022-05-04T18:51:19Z</updated>
<author>
<name>fanzha02</name>
<email>fannie.zhang@arm.com</email>
</author>
<published>2021-04-29T09:02:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=1b0f9fbb67ad3708665675c9f600608dc9b375fa'/>
<id>urn:sha1:1b0f9fbb67ad3708665675c9f600608dc9b375fa</id>
<content type='text'>
With this patch, -asan option can detect the error memory
access to global variables.

So this patch makes a few changes:

1. Add the asanregisterglobals runtime support function,
which calls asan runtime function _asan_register_globals
to register global variables.

2. Create a new initialization function for the package
being compiled. This function initializes an array of
instrumented global variables and pass it to function
runtime.asanregisterglobals. An instrumented global
variable has trailing redzone.

3. Writes the new size of instrumented global variables
that have trailing redzones into object file.

4. Notice that the current implementation is only compatible with
the ASan library from version v7 to v9. Therefore, using the
-asan option requires that the gcc version is not less than 7
and the clang version is less than 4, otherwise a segmentation
fault will occur. So this patch adds a check on whether the compiler
being used is a supported version in cmd/go.

(This is a redo of CL 401775 with a fix for a build break due to an
intervening commit that removed the internal/execabs package.)

Updates #44853.

Change-Id: I719d4ef2b22cb2d5516e1494cd453c3efb47d6c7
Reviewed-on: https://go-review.googlesource.com/c/go/+/403851
Auto-Submit: Bryan Mills &lt;bcmills@google.com&gt;
Run-TryBot: Bryan Mills &lt;bcmills@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
</content>
</entry>
<entry>
<title>Revert "cmd/compile: enable Asan check for global variables"</title>
<updated>2022-05-04T16:41:22Z</updated>
<author>
<name>Bryan Mills</name>
<email>bcmills@google.com</email>
</author>
<published>2022-05-04T16:27:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=265b5fd2f1c6d3379893b58940dde48e156ce531'/>
<id>urn:sha1:265b5fd2f1c6d3379893b58940dde48e156ce531</id>
<content type='text'>
This reverts CL 401775.

Reason for revert: broke build.

Change-Id: I4f6f2edff1e4afcf31cd90e26dacf303979eb10c
Reviewed-on: https://go-review.googlesource.com/c/go/+/403981
Reviewed-by: Daniel Martí &lt;mvdan@mvdan.cc&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Auto-Submit: Bryan Mills &lt;bcmills@google.com&gt;
Run-TryBot: Bryan Mills &lt;bcmills@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: enable Asan check for global variables</title>
<updated>2022-05-04T16:13:20Z</updated>
<author>
<name>fanzha02</name>
<email>fannie.zhang@arm.com</email>
</author>
<published>2021-04-29T09:02:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=f52b4ec63d6ce5c4eb9edcb81c3a0661e6f53da0'/>
<id>urn:sha1:f52b4ec63d6ce5c4eb9edcb81c3a0661e6f53da0</id>
<content type='text'>
With this patch, -asan option can detect the error memory
access to global variables.

So this patch makes a few changes:

1. Add the asanregisterglobals runtime support function,
which calls asan runtime function _asan_register_globals
to register global variables.

2. Create a new initialization function for the package
being compiled. This function initializes an array of
instrumented global variables and pass it to function
runtime.asanregisterglobals. An instrumented global
variable has trailing redzone.

3. Writes the new size of instrumented global variables
that have trailing redzones into object file.

4. Notice that the current implementation is only compatible with
the ASan library from version v7 to v9. Therefore, using the
-asan option requires that the gcc version is not less than 7
and the clang version is less than 4, otherwise a segmentation
fault will occur. So this patch adds a check on whether the compiler
being used is a supported version in cmd/go.

Updates #44853.

Change-Id: Ib877a817209ab2be68a8e22c418fe4a4a20880fc
Reviewed-on: https://go-review.googlesource.com/c/go/+/401775
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
Run-TryBot: Bryan Mills &lt;bcmills@google.com&gt;
Auto-Submit: Bryan Mills &lt;bcmills@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>Revert "cmd/compile: enable Asan check for global variables"</title>
<updated>2022-04-22T13:59:32Z</updated>
<author>
<name>Bryan Mills</name>
<email>bcmills@google.com</email>
</author>
<published>2022-04-22T13:24:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=507b70d1e879ed51830d1f64f534c685b8ee1b13'/>
<id>urn:sha1:507b70d1e879ed51830d1f64f534c685b8ee1b13</id>
<content type='text'>
This reverts CL 321715.

Reason for revert: broke cmd/go.TestScript/install_msan_and_race_require_cgo on several builders.

Change-Id: Ia0392de555d6e973960769a0e4709f0193d16706
Reviewed-on: https://go-review.googlesource.com/c/go/+/401755
Run-TryBot: Bryan Mills &lt;bcmills@google.com&gt;
Auto-Submit: Bryan Mills &lt;bcmills@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Than McIntosh &lt;thanm@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: enable Asan check for global variables</title>
<updated>2022-04-22T04:42:23Z</updated>
<author>
<name>fanzha02</name>
<email>fannie.zhang@arm.com</email>
</author>
<published>2021-04-29T09:02:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=1e5987635cc8bf99e8a20d240da80bd6f0f793f7'/>
<id>urn:sha1:1e5987635cc8bf99e8a20d240da80bd6f0f793f7</id>
<content type='text'>
With this patch, -asan option can detect the error memory
access to global variables.

So this patch makes a few changes:

1. Add the asanregisterglobals runtime support function,
which calls asan runtime function _asan_register_globals
to register global variables.

2. Create a new initialization function for the package
being compiled. This function initializes an array of
instrumented global variables and pass it to function
runtime.asanregisterglobals. An instrumented global
variable has trailing redzone.

3. Writes the new size of instrumented global variables
that have trailing redzones into object file.

4. Notice that the current implementation is only compatible with
the ASan library from version v7 to v9. Therefore, using the
-asan option requires that the gcc version is not less than 7
and the clang version is less than 4, otherwise a segmentation
fault will occur. So this patch adds a check on whether the compiler
being used is a supported version in cmd/go.

Change-Id: I664e74dcabf5dc7ed46802859174606454e8f1d3
Reviewed-on: https://go-review.googlesource.com/c/go/+/321715
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
Run-TryBot: Fannie Zhang &lt;Fannie.Zhang@arm.com&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
</content>
</entry>
</feed>
