diff options
Diffstat (limited to 'test/CodeGenCXX/visibility-inlines-hidden.cpp')
-rw-r--r-- | test/CodeGenCXX/visibility-inlines-hidden.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/test/CodeGenCXX/visibility-inlines-hidden.cpp b/test/CodeGenCXX/visibility-inlines-hidden.cpp index 8519c8c..e5bc743 100644 --- a/test/CodeGenCXX/visibility-inlines-hidden.cpp +++ b/test/CodeGenCXX/visibility-inlines-hidden.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i386-unknown-unknown -fvisibility-inlines-hidden -emit-llvm -o - %s -O2 -disable-llvm-optzns | FileCheck %s +// RUN: %clang_cc1 -triple i386-unknown-unknown -std=c++11 -fvisibility-inlines-hidden -emit-llvm -o - %s -O2 -disable-llvm-optzns | FileCheck %s // The trickery with optimization in the run line is to get IR // generation to emit available_externally function bodies, but not @@ -135,3 +135,30 @@ namespace test4 { } // CHECK: define available_externally void @_ZN5test43fooE } + +namespace test5 { + // just don't crash. + template <int> inline void Op(); + class UnaryInstruction { + UnaryInstruction() { + Op<0>(); + } + }; + template <int Idx_nocapture> void Op() { + } +} + +namespace test6 { + // just don't crash. + template <typename T> + void f(T x) { + } + struct C { + static void g() { + f([](){}); + } + }; + void g() { + C::g(); + } +} |