mirror of
https://github.com/golang/go
synced 2024-11-26 14:26:51 -07:00
test/codegen: port maps test to codegen
And delete them from asm_test. Change-Id: I3cf0934706a640136cb0f646509174f8c1bf3363 Reviewed-on: https://go-review.googlesource.com/101395 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Giovanni Bajo <rasky@develer.com>
This commit is contained in:
parent
15b63eee96
commit
5a4e09837c
@ -279,41 +279,6 @@ var linuxAMD64Tests = []*asmTest{
|
||||
`,
|
||||
pos: []string{"\tSHLQ\t\\$5,", "\tLEAQ\t\\(.*\\)\\(.*\\*2\\),"},
|
||||
},
|
||||
{
|
||||
fn: `
|
||||
func f33(m map[int]int) int {
|
||||
return m[5]
|
||||
}
|
||||
`,
|
||||
pos: []string{"\tMOVQ\t[$]5,"},
|
||||
},
|
||||
// Direct use of constants in fast map access calls. Issue 19015.
|
||||
{
|
||||
fn: `
|
||||
func f34(m map[int]int) bool {
|
||||
_, ok := m[5]
|
||||
return ok
|
||||
}
|
||||
`,
|
||||
pos: []string{"\tMOVQ\t[$]5,"},
|
||||
},
|
||||
{
|
||||
fn: `
|
||||
func f35(m map[string]int) int {
|
||||
return m["abc"]
|
||||
}
|
||||
`,
|
||||
pos: []string{"\"abc\""},
|
||||
},
|
||||
{
|
||||
fn: `
|
||||
func f36(m map[string]int) bool {
|
||||
_, ok := m["abc"]
|
||||
return ok
|
||||
}
|
||||
`,
|
||||
pos: []string{"\"abc\""},
|
||||
},
|
||||
// Bit test ops on amd64, issue 18943.
|
||||
{
|
||||
fn: `
|
||||
|
38
test/codegen/maps.go
Normal file
38
test/codegen/maps.go
Normal file
@ -0,0 +1,38 @@
|
||||
// asmcheck
|
||||
|
||||
// Copyright 2018 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package codegen
|
||||
|
||||
// This file contains code generation tests related to the handling of
|
||||
// map types.
|
||||
|
||||
// ------------------- //
|
||||
// Access Const //
|
||||
// ------------------- //
|
||||
|
||||
// Direct use of constants in fast map access calls (Issue #19015).
|
||||
|
||||
func AccessInt1(m map[int]int) int {
|
||||
// amd64:"MOVQ\t[$]5"
|
||||
return m[5]
|
||||
}
|
||||
|
||||
func AccessInt2(m map[int]int) bool {
|
||||
// amd64:"MOVQ\t[$]5"
|
||||
_, ok := m[5]
|
||||
return ok
|
||||
}
|
||||
|
||||
func AccessString1(m map[string]int) int {
|
||||
// amd64:`.*"abc"`
|
||||
return m["abc"]
|
||||
}
|
||||
|
||||
func AccessString2(m map[string]int) bool {
|
||||
// amd64:`.*"abc"`
|
||||
_, ok := m["abc"]
|
||||
return ok
|
||||
}
|
Loading…
Reference in New Issue
Block a user