Remove comdats from inlinehint.cpp to pass test on Darwin

llvm-svn: 233820
This commit is contained in:
Reid Kleckner 2015-04-01 16:45:17 +00:00
parent 7510c09234
commit e20ce1fcbf
1 changed files with 6 additions and 5 deletions

View File

@ -1,16 +1,17 @@
// RUN: %clang_cc1 -triple %itanium_abi_triple %s -emit-llvm -o - | FileCheck %s // RUN: %clang_cc1 -triple %itanium_abi_triple %s -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-apple-macosx %s -emit-llvm -o - | FileCheck %s
inline void InlineFunc() {} inline void InlineFunc() {}
// CHECK: define linkonce_odr void @_Z10InlineFuncv() #[[INLINEHINTATTR:[0-9]+]] comdat { // CHECK: define linkonce_odr void @_Z10InlineFuncv() #[[INLINEHINTATTR:[0-9]+]]
struct MyClass { struct MyClass {
static void InlineStaticMethod(); static void InlineStaticMethod();
void InlineInstanceMethod(); void InlineInstanceMethod();
}; };
inline void MyClass::InlineStaticMethod() {} inline void MyClass::InlineStaticMethod() {}
// CHECK: define linkonce_odr void @_ZN7MyClass18InlineStaticMethodEv() #[[INLINEHINTATTR]] comdat // CHECK: define linkonce_odr void @_ZN7MyClass18InlineStaticMethodEv() #[[INLINEHINTATTR]]
inline void MyClass::InlineInstanceMethod() {} inline void MyClass::InlineInstanceMethod() {}
// CHECK: define linkonce_odr void @_ZN7MyClass20InlineInstanceMethodEv(%struct.MyClass* %this) #[[INLINEHINTATTR]] comdat // CHECK: define linkonce_odr void @_ZN7MyClass20InlineInstanceMethodEv(%struct.MyClass* %this) #[[INLINEHINTATTR]]
template <typename T> template <typename T>
struct MyTemplate { struct MyTemplate {
@ -18,9 +19,9 @@ struct MyTemplate {
void InlineInstanceMethod(); void InlineInstanceMethod();
}; };
template <typename T> inline void MyTemplate<T>::InlineStaticMethod() {} template <typename T> inline void MyTemplate<T>::InlineStaticMethod() {}
// CHECK: define linkonce_odr void @_ZN10MyTemplateIiE18InlineStaticMethodEv() #[[INLINEHINTATTR]] comdat // CHECK: define linkonce_odr void @_ZN10MyTemplateIiE18InlineStaticMethodEv() #[[INLINEHINTATTR]]
template <typename T> inline void MyTemplate<T>::InlineInstanceMethod() {} template <typename T> inline void MyTemplate<T>::InlineInstanceMethod() {}
// CHECK: define linkonce_odr void @_ZN10MyTemplateIiE20InlineInstanceMethodEv(%struct.MyTemplate* %this) #[[INLINEHINTATTR]] comdat // CHECK: define linkonce_odr void @_ZN10MyTemplateIiE20InlineInstanceMethodEv(%struct.MyTemplate* %this) #[[INLINEHINTATTR]]
void UseThem() { void UseThem() {
InlineFunc(); InlineFunc();