Files
swift-mirror/test/DebugInfo/byref-capture.swift
2015-05-01 03:35:50 +00:00

23 lines
704 B
Swift

// RUN: %target-swift-frontend %s -emit-ir -g -o - | FileCheck %s
func markUsed<T>(t: T) {}
func makeIncrementor(inc : Int) -> () -> Int
{
var sum = 0
// CHECK: define {{.*}}5inner
func inner() -> Int {
// CHECK: call void @llvm.dbg.declare(metadata %Si** %{{.*}}, metadata ![[SUM_CAPTURE:[0-9]+]], metadata ![[DEREF:[0-9]+]])
// CHECK-DAG: ![[SUM_CAPTURE]] = !DILocalVariable(tag: DW_TAG_arg_variable, name: "sum",{{.*}} line: [[@LINE-4]]
// CHECK-DAG: ![[DEREF]] = !DIExpression(DW_OP_deref
sum += inc
return sum
}
return inner
}
var incrementor = makeIncrementor (5)
var a = 5
var more_than_a = incrementor ()
markUsed("a was \(a) and more_than_a was \(more_than_a)")