blob: 88ede6f7b71a5bbadad3f4a726edbac255e69357 [file] [log] [blame] [edit]
// compile
// Copyright 2016 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.
// Issue 17918: slice out-of-bounds in ssa/cse
package dead
import (
"fmt"
"time"
)
var (
units = []struct {
divisor time.Duration
unit rune
}{
{1000000, 's'},
{60, 'm'},
{60, 'h'},
{24, 'd'},
{7, 'w'},
}
)
func foobar(d time.Duration) string {
d /= time.Microsecond
unit := 'u'
for _, f := range units {
if d%f.divisor != 0 {
break
}
d /= f.divisor
unit = f.unit
}
return fmt.Sprintf("%d%c", d, unit)
}