1// run 2 3// Copyright 2018 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7// Issue 26153. The write to ps was incorrectly 8// removed by the dead auto elimination pass. 9 10package main 11 12const hello = "hello world" 13 14func main() { 15 var s string 16 mangle(&s) 17 if s != hello { 18 panic("write incorrectly elided") 19 } 20} 21 22//go:noinline 23func mangle(ps *string) { 24 if ps == nil { 25 var s string 26 ps = &s 27 } 28 *ps = hello 29} 30