blob: f492cc838b6ad636192a1fffb4265ef794fb131c [file] [log] [blame]
// RUN: %target-swift-frontend -Xllvm -sil-full-demangle -emit-silgen -emit-verbose-sil %s | FileCheck %s
// Test top-level/module locations.
class TopLevelObjectTy {
init() { }
deinit {
}
}
var topLevelObject:TopLevelObjectTy
class TopLevelObjectTyWithoutDestructor {
init() {
}
}
var topLevelObject2:TopLevelObjectTyWithoutDestructor
// CHECK-LABEL: sil @main
// CHECK: integer_literal ${{.*}}, 0, {{.*}} top_level
// CHECK: return {{.*}} top_level
// Check default constructor
// CHECK-LABEL: sil_locations_top_level.TopLevelObjectTy.init
// CHECK: bb
// CHECK: return {{.*}}// {{.*}} line:5:12
// Check allocating initializer
// CHECK-LABEL: sil_locations_top_level.TopLevelObjectTy.__allocating_init
// CHECK: sil hidden @_TFC23sil_locations_top_level16TopLevelObjectTyC
// CHECK: alloc_ref {{.*}}line:5:3:auto_gen
// CHECK: function_ref
// Check explicit destructor
// CHECK_LABEL: sil hidden @_TFC23sil_locations_top_level16TopLevelObjectTyd
// CHECK: return {{.*}}// {{.*}} line:8:3
// Check explicit constructor
// FIXME: The ConstructorDecl location is wrong here (looks like it's wrong in the AST).
// CHECK-LABEL: sil hidden @_TFC23sil_locations_top_level33TopLevelObjectTyWithoutDestructorc
// CHECK: return {{.*}}// {{.*}} line:14:3:imp_return
// Check allocating constructor
// CHECK-LABEL: sil_locations_top_level.TopLevelObjectTyWithoutDestructor.__allocating_init
// CHECK: return {{.*}}// {{.*}} line:14:3:imp_return:auto_gen
// Check implicit destructor
// CHECK_LABEL: sil hidden @_TFC23sil_locations_top_level33TopLevelObjectTyWithoutDestructord
// CHECK: return {{.*}}// {{.*}} line:12:7:imp_return:auto_gen