// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -fblocks -o - | FileCheck %s
// CHECK: @"_ZZ11+[A shared]E1a" = internal global
// CHECK: @"_ZZ11-[A(Foo) f]E1a" = internal global
// CHECK: v56@0:8i16i20i24i28i32i36i40i44^i48
// PR6468
// rdar://9566314
// rdar://13434937
//
// Don't crash when mangling an enum whose semantic context
// is a class extension (which looks anonymous in the AST).
// The other tests here are just for coverage.
; // must have a member that we'll instantiate and mangle
void
@protocol P;
void
// CHECK-LABEL: define{{.*}} void @_Z9overload1PU11objcproto1P1A
void
// CHECK-LABEL: define{{.*}} void @_Z9overload1PKU11objcproto1P1A
void
// CHECK-LABEL: define{{.*}} void @_Z9overload1PPU11objcproto1P1A
void
// CHECK-LABEL: define{{.*}} void @_Z9overload1PKPU11objcproto1P1A
void
// CHECK-LABEL: define{{.*}} void @_Z9overload1PPPU11objcproto1P1A
void
// CHECK-LABEL: define{{.*}} void @_Z9overload1PFvPU11objcproto1P1AE
;
void
// CHECK-LABEL: define{{.*}} void @_ZN1XIP1AE1fEv
void
// CHECK-LABEL: define{{.*}} void @_ZN1XIPU11objcproto1P1AE1fEv
// CHECK-LABEL: define{{.*}} void @_Z12kindof_test2PU8__kindof5Test2
void
// CHECK-LABEL: define{{.*}} void @_Z19parameterized_test1P13ParameterizedIP1AP4TestE
void
// CHECK-LABEL: define{{.*}} void @_Z19parameterized_test2PU8__kindof13ParameterizedIP1AP4TestE
void
// CHECK-LABEL: define{{.*}} void @_Z19parameterized_test3P13Parameterized
void
// CHECK-LABEL: define {{.*}}void @_Z1fP11objc_object
void
// CHECK-LABEL: define {{.*}}void @_Z1fPFP11objc_objectS0_S0_E
void
// CHECK-LABEL: define {{.*}}void @_Z1fU13block_pointerFvP11objc_objectE
void