| // 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 | |
| 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) | |
| } | |
| 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") | |
| } | |