diff options
| author | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2023-04-13 09:31:41 +0700 |
|---|---|---|
| committer | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2023-04-14 17:57:49 +0000 |
| commit | 47e2d7495fabaae8cfe2e1a0f0ff1e38f6e7b851 (patch) | |
| tree | cb2918ed4b02a1ff69a8b54c37a3cf44e04126fb /src/cmd/compile/internal | |
| parent | 20c349e5344152b56145ef6ebb649f431bdb2c90 (diff) | |
| download | go-47e2d7495fabaae8cfe2e1a0f0ff1e38f6e7b851.tar.xz | |
cmd/compile: move unsafe operation out of EvalConst
So future CLs can get rid of EvalConst entirely.
Change-Id: Ic8e147fd76e53c002a6ceda2fb3be979459bf865
Reviewed-on: https://go-review.googlesource.com/c/go/+/484315
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/cmd/compile/internal')
| -rw-r--r-- | src/cmd/compile/internal/typecheck/const.go | 4 | ||||
| -rw-r--r-- | src/cmd/compile/internal/typecheck/typecheck.go | 2 |
2 files changed, 1 insertions, 5 deletions
diff --git a/src/cmd/compile/internal/typecheck/const.go b/src/cmd/compile/internal/typecheck/const.go index 060053bc8d..11386f6f9a 100644 --- a/src/cmd/compile/internal/typecheck/const.go +++ b/src/cmd/compile/internal/typecheck/const.go @@ -496,10 +496,6 @@ func EvalConst(n ir.Node) ir.Node { } } - case ir.OALIGNOF, ir.OOFFSETOF, ir.OSIZEOF: - n := n.(*ir.UnaryExpr) - return OrigInt(n, evalunsafe(n)) - case ir.OREAL: n := n.(*ir.UnaryExpr) nl := n.X diff --git a/src/cmd/compile/internal/typecheck/typecheck.go b/src/cmd/compile/internal/typecheck/typecheck.go index e160265d49..51de4700a1 100644 --- a/src/cmd/compile/internal/typecheck/typecheck.go +++ b/src/cmd/compile/internal/typecheck/typecheck.go @@ -608,7 +608,7 @@ func typecheck1(n ir.Node, top int) ir.Node { case ir.OALIGNOF, ir.OOFFSETOF, ir.OSIZEOF: n := n.(*ir.UnaryExpr) n.SetType(types.Types[types.TUINTPTR]) - return n + return OrigInt(n, evalunsafe(n)) case ir.OCAP, ir.OLEN: n := n.(*ir.UnaryExpr) |
