1*665da187SMartin Boehme // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm-only %s -emit-llvm -o - | FileCheck %s
2*665da187SMartin Boehme 
3*665da187SMartin Boehme // Test that `annotate_type` does not affect mangled names.
4*665da187SMartin Boehme 
f(int *,int)5*665da187SMartin Boehme int *[[clang::annotate_type("foo")]] f(int *[[clang::annotate_type("foo")]],
6*665da187SMartin Boehme                                        int [[clang::annotate_type("foo")]]) {
7*665da187SMartin Boehme   return nullptr;
8*665da187SMartin Boehme }
9*665da187SMartin Boehme // CHECK: @_Z1fPii
10*665da187SMartin Boehme 
11*665da187SMartin Boehme template <class T> struct S {};
12*665da187SMartin Boehme 
13*665da187SMartin Boehme S<int *[[clang::annotate_type("foo")]]>
g(S<int * >)14*665da187SMartin Boehme g(S<int *[[clang::annotate_type("foo")]]>) {
15*665da187SMartin Boehme   return {};
16*665da187SMartin Boehme }
17*665da187SMartin Boehme // CHECK: @_Z1g1SIPiE
18