
In ThinLTO mode, type metadata will require the module to be written as a multi-module bitcode file, which is currently incompatible with the Darwin linker. It is also useful to be able to enable or disable multi-module bitcode for testing purposes. This introduces a cc1-level flag, -f{,no-}lto-unit, which is used by the driver to enable multi-module bitcode on all but Darwin+ThinLTO, and can also be used to enable/disable the feature manually. Differential Revision: https://reviews.llvm.org/D28877 llvm-svn: 292448
14 lines
393 B
C++
14 lines
393 B
C++
// RUN: %clang_cc1 -flto=thin -triple x86_64-unknown-linux -fvisibility hidden -emit-llvm-bc -o %t %s
|
|
// RUN: llvm-dis -o - %t | FileCheck %s
|
|
// RUN: %clang_cc1 -flto=thin -flto-unit -fno-lto-unit -triple x86_64-unknown-linux -fvisibility hidden -emit-llvm-bc -o %t %s
|
|
// RUN: llvm-dis -o - %t | FileCheck %s
|
|
|
|
// CHECK-NOT: !type
|
|
class A {
|
|
virtual void f() {}
|
|
};
|
|
|
|
A *f() {
|
|
return new A;
|
|
}
|