From 20c5bcfdbbb72bbea79284e2cd3bb5af68344f3c Mon Sep 17 00:00:00 2001 From: Robert Griesemer 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 -- 2.48.1