Files
swift-mirror/test/DebugInfo/ASTSection.swift
Adrian Prantl 543a2cd685 Fix caching bug in MemoryBufferSerializedModuleLoader
By populating the memory cache before loading the module, we can avoid a cycle
where a module is imported that is an overlay, which then triggers
ClangImporter, which then (redundantly) triggers the import of the overlay
module, which would reimport the module again, since it's import is still
underway and it hasn't been entered into the cache yet.

rdar://118846313
2024-02-15 14:06:28 -08:00

34 lines
916 B
Swift

// RUN: %empty-directory(%t)
// RUN: %target-build-swift -emit-executable %s -g -o %t/ASTSection -emit-module
// RUN: %lldb-moduleimport-test -verbose %t/ASTSection | %FileCheck %s
// RUN: %lldb-moduleimport-test -filter mips64-unknown-hurd -verbose %t/ASTSection | %FileCheck %s --check-prefix=LINETABLE-CHECK
// REQUIRES: executable_test
// REQUIRES: swift_tools_extra
// The test ASTSection_linker.swift builds this code with separate
// compile and link steps.
// The test ASTSection_ObjC.swift builds this code with -DOBJC.
// A type that should be serialized.
class Foo {
init() { }
func bar() -> Int64 { return 42 }
}
// Some toplevel code that should not be serialized.
var foo: Foo = Foo()
Double(foo.bar())
#if OBJC
func objCUser(_ obj: ObjCClass) {}
#endif
// CHECK: - Target: {{.+}}-{{.+}}-{{.+}}
// CHECK: Importing ASTSection...
// CHECK: Import successful!
// LINETABLE-CHECK-NOT: ASTSection