summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/inlinehint.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-04-07 20:46:51 +0000
committerReid Kleckner <reid@kleckner.net>2015-04-07 20:46:51 +0000
commit0f764e57fc481bc7ca92e4f6e45f0a2d8b487bb2 (patch)
treeb0c65f8545389d6502f9e5e981c041d64c74a85b /clang/test/CodeGenCXX/inlinehint.cpp
parent3c45cffd68cd9839d4737ea260ed2706ab304cc9 (diff)
downloadbcm5719-llvm-0f764e57fc481bc7ca92e4f6e45f0a2d8b487bb2.tar.gz
bcm5719-llvm-0f764e57fc481bc7ca92e4f6e45f0a2d8b487bb2.zip
Revert "Mark instantiated function decls as inline specified if any pattern is"
It breaks down on this test case: void foo(); template <typename T> class C { friend void foo(); }; inline void foo() {} C<int> c; We shouldn't be marking the instantiation of the friend decl of foo as inline-specified. It may be possible to fix this by determining if the full definition is part of the current template, but it seems better to rever tot green until we come up with a full solution. This reverts commit r233817, as well as follow-ups r233820 and r233821. llvm-svn: 234355
Diffstat (limited to 'clang/test/CodeGenCXX/inlinehint.cpp')
-rw-r--r--clang/test/CodeGenCXX/inlinehint.cpp33
1 files changed, 0 insertions, 33 deletions
diff --git a/clang/test/CodeGenCXX/inlinehint.cpp b/clang/test/CodeGenCXX/inlinehint.cpp
deleted file mode 100644
index 2b984c3a2e0..00000000000
--- a/clang/test/CodeGenCXX/inlinehint.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-// RUN: %clang_cc1 -triple x86_64-linux %s -emit-llvm -o - | FileCheck %s
-
-inline void InlineFunc() {}
-// CHECK: define linkonce_odr void @_Z10InlineFuncv() #[[INLINEHINTATTR:[0-9]+]]
-
-struct MyClass {
- static void InlineStaticMethod();
- void InlineInstanceMethod();
-};
-inline void MyClass::InlineStaticMethod() {}
-// CHECK: define linkonce_odr void @_ZN7MyClass18InlineStaticMethodEv() #[[INLINEHINTATTR]]
-inline void MyClass::InlineInstanceMethod() {}
-// CHECK: define linkonce_odr void @_ZN7MyClass20InlineInstanceMethodEv(%struct.MyClass* %this) #[[INLINEHINTATTR]]
-
-template <typename T>
-struct MyTemplate {
- static void InlineStaticMethod();
- void InlineInstanceMethod();
-};
-template <typename T> inline void MyTemplate<T>::InlineStaticMethod() {}
-// CHECK: define linkonce_odr void @_ZN10MyTemplateIiE18InlineStaticMethodEv() #[[INLINEHINTATTR]]
-template <typename T> inline void MyTemplate<T>::InlineInstanceMethod() {}
-// CHECK: define linkonce_odr void @_ZN10MyTemplateIiE20InlineInstanceMethodEv(%struct.MyTemplate* %this) #[[INLINEHINTATTR]]
-
-void UseThem() {
- InlineFunc();
- MyClass::InlineStaticMethod();
- MyClass().InlineInstanceMethod();
- MyTemplate<int>::InlineStaticMethod();
- MyTemplate<int>().InlineInstanceMethod();
-}
-
-// CHECK: attributes #[[INLINEHINTATTR]] = { {{.*}}inlinehint{{.*}} }
OpenPOWER on IntegriCloud