File tree 2 files changed +18
-1
lines changed
2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -811,7 +811,13 @@ void USRGenerator::VisitType(QualType T) {
811
811
T = InjT->getInjectedSpecializationType ();
812
812
continue ;
813
813
}
814
-
814
+ if (const auto *VT = T->getAs <VectorType>()) {
815
+ Out << (T->isExtVectorType () ? ' ]' : ' [' );
816
+ Out << VT->getNumElements ();
817
+ T = VT->getElementType ();
818
+ continue ;
819
+ }
820
+
815
821
// Unhandled type.
816
822
Out << ' ' ;
817
823
break ;
Original file line number Diff line number Diff line change @@ -95,6 +95,14 @@ class TC1 {
95
95
void meth (TC1);
96
96
};
97
97
98
+ typedef __attribute__ ((__ext_vector_type__(3 ))) float float3;
99
+
100
+ typedef float __m128 __attribute__ ((__vector_size__(16 )));
101
+
102
+ float3 vectorOverload (float3 f);
103
+
104
+ __m128 vectorOverload (__m128 f);
105
+
98
106
// RUN: c-index-test -test-load-source-usrs all -fno-delayed-template-parsing %s | FileCheck %s
99
107
// CHECK: usrs.cpp c:@N@foo Extent=[1:1 - 4:2]
100
108
// CHECK: usrs.cpp c:@N@foo@x Extent=[2:3 - 2:8]
@@ -172,3 +180,6 @@ class TC1 {
172
180
// CHECK: usrs.cpp c:usrs.cpp@[email protected] @1510@FI@x Extent=[91:10 - 91:15]
173
181
174
182
// CHECK: usrs.cpp c:@ST>1#T@TC1@F@meth#>@ST>1#[email protected] # Extent=[95:3 - 95:17]
183
+
184
+ // CHECK: usrs.cpp c:@F@vectorOverload#]3f# Extent=[102:1 - 102:32]
185
+ // CHECK: usrs.cpp c:@F@vectorOverload#[4f# Extent=[104:1 - 104:32]
You can’t perform that action at this time.
0 commit comments