go/analysis/passes/ctrlflow: add test of modularity

See the Modularity section of the design doc:
https://docs.google.com/document/d/1-azPLXaLgTCKeKDNg0HVMq2ovMlD-e7n1ZHzZVzOlJk#heading=h.s7mcpao0dpqu

Change-Id: I83e6df01691964703a07a47c222101f3307a0dc6
Reviewed-on: https://go-review.googlesource.com/c/140759
Reviewed-by: Michael Matloob <matloob@golang.org>
Run-TryBot: Michael Matloob <matloob@golang.org>
diff --git a/go/analysis/passes/ctrlflow/testdata/src/a/a.go b/go/analysis/passes/ctrlflow/testdata/src/a/a.go
index 462aeaa..a65bd74 100644
--- a/go/analysis/passes/ctrlflow/testdata/src/a/a.go
+++ b/go/analysis/passes/ctrlflow/testdata/src/a/a.go
@@ -8,6 +8,8 @@
 	"runtime"
 	"syscall"
 	"testing"
+
+	"lib"
 )
 
 var cond bool
@@ -97,3 +99,11 @@
 }
 
 func noBody()
+
+func g() {
+	lib.CanReturn()
+}
+
+func h() { // want h:"noReturn"
+	lib.NoReturn()
+}
diff --git a/go/analysis/passes/ctrlflow/testdata/src/lib/lib.go b/go/analysis/passes/ctrlflow/testdata/src/lib/lib.go
new file mode 100644
index 0000000..c0bf7df
--- /dev/null
+++ b/go/analysis/passes/ctrlflow/testdata/src/lib/lib.go
@@ -0,0 +1,8 @@
+package lib
+
+func CanReturn() {}
+
+func NoReturn() {
+	for {
+	}
+}