mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Compiler output at least up to serialization should be deterministic at this point, at least when not taking SIL into account. This /should/ mean that changing a function body should not affect the final built swiftmodule, which means downstream targets don't need to be rebuilt. Leaving the previous swiftmodule output in place signals that. A while back I put in a push to get all the non-determinism out of type checking, importing, and serialization itself; it looks like we've finally made it. Let's keep it that way! rdar://problem/20539158 and others Swift SVN r29923
28 lines
975 B
Swift
28 lines
975 B
Swift
// RUN: rm -rf %t && mkdir %t
|
|
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -parse -emit-objc-header-path %t/out.h
|
|
// RUN: touch -t 201401240005 %t/out.h
|
|
// RUN: %S/../Inputs/getmtime.py %t/out.h > %t/orig-mtime.txt
|
|
|
|
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -parse -emit-objc-header-path %t/out.h
|
|
// RUN: diff %t/orig-mtime.txt <(%S/../Inputs/getmtime.py %t/out.h)
|
|
|
|
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -parse -emit-objc-header-path %t/out.h -DPRIVATE_EXTRA
|
|
// RUN: diff %t/orig-mtime.txt <(%S/../Inputs/getmtime.py %t/out.h)
|
|
|
|
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -parse -emit-objc-header-path %t/out.h -DPUBLIC_EXTRA
|
|
// RUN: not diff %t/orig-mtime.txt <(%S/../Inputs/getmtime.py %t/out.h)
|
|
|
|
// REQUIRES: objc_interop
|
|
|
|
import Foundation
|
|
|
|
public class A : NSObject {}
|
|
|
|
#if PRIVATE_EXTRA
|
|
private class B : NSObject {}
|
|
#endif
|
|
|
|
#if PUBLIC_EXTRA
|
|
public class C : NSObject {}
|
|
#endif
|