• This project
    • Loading...
  • Sign in

공재호 / JJS_Project1

%ea%b7%b8%eb%a6%bc1
Go to a project
Toggle navigation Toggle navigation pinning
  • Projects
  • Groups
  • Snippets
  • Help
  • Project
  • Activity
  • Repository
  • Pipelines
  • Graphs
  • Issues 0
  • Merge Requests 0
  • Wiki
  • Snippets
  • Network
  • Create a new issue
  • Builds
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Network
  • Compare
  • Branches
  • Tags
Switch branch/tag
  • JJS_Project1
  • src
  • llgo
  • test
  • execution
  • methods
  • nilrecv.go
  • 박우진's avatar
    Add LLVM Codes · 942e8c25
    942e8c25
    박우진 authored 2020-04-22 16:07:25 +0900
nilrecv.go 381 Bytes
Raw Blame History Permalink
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
// RUN: llgo -o %t %s
// RUN: %t 2>&1 | FileCheck %s

// CHECK: true
// CHECK-NEXT: false
// CHECK-NEXT: true
// CHECK-NEXT: false

package main

type T1 int

func (t *T1) t1() { println(t == nil) }

func constNilRecv() {
	(*T1)(nil).t1()
}

func nonConstNilRecv() {
	var v1 T1
	v1.t1()
	var v2 *T1
	v2.t1()
	v2 = &v1
	v2.t1()
}

func main() {
	constNilRecv()
	nonConstNilRecv()
}