mangle-subst-std.cpp revision 189d59cfc762d0f683b9253ddec2cf519ec85b65
1// RUN: clang-cc -emit-llvm %s -o - -triple=x86_64-apple-darwin9 | FileCheck %s 2 3namespace std { 4 struct A { A(); }; 5 6 // CHECK: define void @_ZNSt1AC1Ev 7 // CHECK: define void @_ZNSt1AC2Ev 8 A::A() { } 9}; 10 11namespace std { 12 template<typename T> struct allocator { }; 13} 14 15// FIXME: typename is really not allowed here, but it's kept 16// as a workaround for PR5061. 17// CHECK: define void @_Z1fSaIcESaIiE 18void f(typename std::allocator<char>, typename std::allocator<int>) { } 19 20namespace std { 21 template<typename T> struct basic_string { }; 22} 23 24// FIXME: typename is really not allowed here, but it's kept 25// as a workaround for PR5061. 26// CHECK: define void @_Z1fSbIcESbIiE 27void f(typename std::basic_string<char>, typename std::basic_string<int>) { } 28