virtual-function-elimination-two-modules.swift (swift-swift-5.8-RELEASE) | : | virtual-function-elimination-two-modules.swift (swift-swift-5.8.1-RELEASE) | ||
---|---|---|---|---|
skipping to change at line 23 | skipping to change at line 23 | |||
// (2) Build client | // (2) Build client | |||
// RUN: %target-build-swift -parse-as-library -Xfrontend -enable-llvm-vfe \ | // RUN: %target-build-swift -parse-as-library -Xfrontend -enable-llvm-vfe \ | |||
// RUN: %s -DCLIENT -module-name Main -I%t -L%t -lLibrary -o %t/main | // RUN: %s -DCLIENT -module-name Main -I%t -L%t -lLibrary -o %t/main | |||
// (3) Extract a list of used symbols by client from library | // (3) Extract a list of used symbols by client from library | |||
// RUN: %llvm-nm --undefined-only -m %t/main | grep 'from libLibrary' | awk '{pr int $3}' > %t/used-symbols | // RUN: %llvm-nm --undefined-only -m %t/main | grep 'from libLibrary' | awk '{pr int $3}' > %t/used-symbols | |||
// (4) Now produce the .dylib with just the symbols needed by the client | // (4) Now produce the .dylib with just the symbols needed by the client | |||
// RUN: %target-build-swift -parse-as-library -Xfrontend -enable-llvm-vfe -Xfron tend -internalize-at-link \ | // RUN: %target-build-swift -parse-as-library -Xfrontend -enable-llvm-vfe -Xfron tend -internalize-at-link \ | |||
// RUN: %s -DLIBRARY -lto=llvm-full %lto_flags -module-name Library \ | // RUN: %s -DLIBRARY -lto=llvm-full %lto_flags -module-name Library \ | |||
// RUN: -emit-library -o %t/libLibrary.dylib \ | // RUN: -emit-library -o %t/libLibrary.dylib -runtime-compatibility-version none \ | |||
// RUN: -Xlinker -exported_symbols_list -Xlinker %t/used-symbols -Xlinker -d ead_strip | // RUN: -Xlinker -exported_symbols_list -Xlinker %t/used-symbols -Xlinker -d ead_strip | |||
// (5) Check list of symbols in library | // (5) Check list of symbols in library | |||
// RUN: %llvm-nm --defined-only %t/libLibrary.dylib | %FileCheck %s --check-pref ix=NM | // RUN: %llvm-nm --defined-only %t/libLibrary.dylib | %FileCheck %s --check-pref ix=NM | |||
// (6) Execution test | // (6) Execution test | |||
// RUN: %target-run %t/main | %FileCheck %s | // RUN: %target-run %t/main | %FileCheck %s | |||
// REQUIRES: executable_test | // REQUIRES: executable_test | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added |