From 20c5bcfdbbb72bbea79284e2cd3bb5af68344f3c Mon Sep 17 00:00:00 2001
From: Robert Griesemer <gri@golang.org>
Date: Wed, 6 Aug 2008 10:02:18 -0700
Subject: [PATCH] returning from a function that specified a result should
 cause a run-time failure if no return is actually executed

R=r
OCL=13915
CL=13915
---
 test/bugs/bug086.go | 23 +++++++++++++++++++++++
 test/golden.out     |  4 ++++
 2 files changed, 27 insertions(+)
 create mode 100644 test/bugs/bug086.go

diff --git a/test/bugs/bug086.go b/test/bugs/bug086.go
new file mode 100644
index 0000000000..8b03a3b9e7
--- /dev/null
+++ b/test/bugs/bug086.go
@@ -0,0 +1,23 @@
+// errchk $G $D/$F.go
+
+// Copyright 2009 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 main
+
+func f() int {
+	if false {
+		return 0;
+	}
+	// we should not be able to return successfully w/o a return statement
+}
+
+func main() {
+	print f(), "\n";
+}
+
+/*
+uetli:~/Source/go1/usr/gri/gosrc gri$ 6g bug.go && 6l bug.6 && 6.out
+4882
+*/
diff --git a/test/golden.out b/test/golden.out
index e703fd02c6..c0129a21ac 100644
--- a/test/golden.out
+++ b/test/golden.out
@@ -259,6 +259,10 @@ BUG: fails incorrectly
 bugs/bug085.go:8: P: undefined
 BUG: fails incorrectly
 
+=========== bugs/bug086.go
+4882
+BUG: succeeds incorrectly
+
 =========== fixedbugs/bug000.go
 
 =========== fixedbugs/bug001.go