github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/go.go (about)

     1  // RUN: llgo -o %t %s
     2  // RUN: %t 2>&1 | FileCheck %s
     3  
     4  // CHECK: hello from T 1
     5  // CHECK-NEXT: hello from T 2
     6  
     7  package main
     8  
     9  type T struct {
    10  	val int
    11  }
    12  
    13  func (t T) Hello(done chan bool) {
    14  	println("hello from T", t.val)
    15  	done <- true
    16  }
    17  
    18  type I interface {
    19  	Hello(chan bool)
    20  }
    21  
    22  func main() {
    23  	done := make(chan bool)
    24  
    25  	t := T{1}
    26  	go t.Hello(done)
    27  	<-done
    28  
    29  	var i I = T{2}
    30  	go i.Hello(done)
    31  	<-done
    32  
    33  	go println("hello builtin")
    34  }