--- /dev/null
+//+build ignore
+
+package main
+
+// Test of dynamic function calls.
+// No interfaces, so no runtime/reflect types.
+
+func A1() {
+ A2(0)
+}
+
+func A2(int) {} // not address-taken
+
+func B() {} // unreachable
+
+var (
+ C = func(int) {}
+ D = func(int) {}
+)
+
+func main() {
+ A1()
+
+ pfn := C
+ pfn(0) // calls C and D but not A2 (same sig but not address-taken)
+}
+
+// WANT:
+// Dynamic calls
+// main --> init$1
+// main --> init$2
+// Reachable functions
+// A1
+// A2
+// init$1
+// init$2
+// Reflect types