MMCT TEAM
Server IP : 2a02:4780:11:1359:0:1d43:a566:2  /  Your IP : 216.73.216.161
Web Server : LiteSpeed
System : Linux in-mum-web1259.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
User : u490972518 ( 490972518)
PHP Version : 5.6.40
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/../opt/golang/1.19.4/test/codegen/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/../opt/golang/1.19.4/test/codegen/mapaccess.go
// 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

// These tests check that mapaccess calls are not used.
// Issues #23661 and #24364.

func mapCompoundAssignmentInt8() {
	m := make(map[int8]int8, 0)
	var k int8 = 0

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] += 67

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] -= 123

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] *= 45

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] |= 78

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] ^= 89

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] <<= 9

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] >>= 10

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]++

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]--
}

func mapCompoundAssignmentInt32() {
	m := make(map[int32]int32, 0)
	var k int32 = 0

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] += 67890

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] -= 123

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] *= 456

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] |= 78

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] ^= 89

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] <<= 9

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] >>= 10

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]++

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]--
}

func mapCompoundAssignmentInt64() {
	m := make(map[int64]int64, 0)
	var k int64 = 0

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] += 67890

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] -= 123

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] *= 456

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] |= 78

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] ^= 89

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] <<= 9

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] >>= 10

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]++

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]--
}

func mapCompoundAssignmentComplex128() {
	m := make(map[complex128]complex128, 0)
	var k complex128 = 0

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] += 67890

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] -= 123

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] *= 456

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]++

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k]--
}

func mapCompoundAssignmentString() {
	m := make(map[string]string, 0)
	var k string = "key"

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] += "value"
}

var sinkAppend bool

// TODO: optimization is not applied because of mapslow flag.
func mapAppendAssignmentInt8() {
	m := make(map[int8][]int8, 0)
	var k int8 = 0

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k], 1)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k], 1, 2, 3)

	a := []int8{7, 8, 9, 0}

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k], a...)

	// Exceptions

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(a, m[k]...)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	sinkAppend, m[k] = !sinkAppend, append(m[k], 99)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k+1], 100)
}

func mapAppendAssignmentInt32() {
	m := make(map[int32][]int32, 0)
	var k int32 = 0

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], 1)

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], 1, 2, 3)

	a := []int32{7, 8, 9, 0}

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], a...)

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k+1] = append(m[k+1], a...)

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[-k] = append(m[-k], a...)

	// Exceptions

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(a, m[k]...)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	sinkAppend, m[k] = !sinkAppend, append(m[k], 99)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k+1], 100)
}

func mapAppendAssignmentInt64() {
	m := make(map[int64][]int64, 0)
	var k int64 = 0

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], 1)

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], 1, 2, 3)

	a := []int64{7, 8, 9, 0}

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], a...)

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k+1] = append(m[k+1], a...)

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[-k] = append(m[-k], a...)

	// Exceptions

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(a, m[k]...)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	sinkAppend, m[k] = !sinkAppend, append(m[k], 99)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k+1], 100)
}

// TODO: optimization is not applied because of mapslow flag.
func mapAppendAssignmentComplex128() {
	m := make(map[complex128][]complex128, 0)
	var k complex128 = 0

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k], 1)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k], 1, 2, 3)

	a := []complex128{7, 8, 9, 0}

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k], a...)

	// Exceptions

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(a, m[k]...)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	sinkAppend, m[k] = !sinkAppend, append(m[k], 99)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k+1], 100)
}

func mapAppendAssignmentString() {
	m := make(map[string][]string, 0)
	var k string = "key"

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], "1")

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], "1", "2", "3")

	a := []string{"7", "8", "9", "0"}

	// 386:-".*mapaccess"
	// amd64:-".*mapaccess"
	// arm:-".*mapaccess"
	// arm64:-".*mapaccess"
	m[k] = append(m[k], a...)

	// Exceptions

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(a, m[k]...)

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	sinkAppend, m[k] = !sinkAppend, append(m[k], "99")

	// 386:".*mapaccess"
	// amd64:".*mapaccess"
	// arm:".*mapaccess"
	// arm64:".*mapaccess"
	m[k] = append(m[k+"1"], "100")
}

MMCT - 2023