mirror of
https://github.com/golang/go
synced 2024-10-05 05:11:25 -06:00
ac8d97b679
The issue was seen when inlining an exported function that contained a fallthrough statement. Fixes #15071 Change-Id: I1e8215ad49d57673dba7e8f8bd2ed8ad290dc452 Reviewed-on: https://go-review.googlesource.com/21452 Reviewed-by: Dave Cheney <dave@cheney.net>
25 lines
379 B
Go
25 lines
379 B
Go
// 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.
|
|
|
|
package exp
|
|
|
|
func Exported(x int) int {
|
|
return inlined(x)
|
|
}
|
|
|
|
func inlined(x int) int {
|
|
y := 0
|
|
switch {
|
|
case x > 0:
|
|
y += 5
|
|
return 0 + y
|
|
case x < 1:
|
|
y += 6
|
|
fallthrough
|
|
default:
|
|
y += 7
|
|
return 2 + y
|
|
}
|
|
}
|