// RUN: %clang_cc1 -std=c++11 -fptrauth-intrinsics -fptrauth-calls -emit-llvm -o - -triple=aarch64-windows-msvc %s | FileCheck %s template struct S {}; // CHECK: @"?s@@3U?$S@PE__ptrauth1A@ENC@AH@@A" = S s; // CHECK: define dso_local void @"?foo@@YAXPEAPE__ptrauth20OK@AH@Z"( void foo(int * __ptrauth(3, 1, 234) *) {} template void foo(T t) {} // CHECK: define weak_odr dso_local void @"??$foo@PEAPE__ptrauth0A@EA@AH@@YAXPEAPE__ptrauth0A@EA@AH@Z"( template void foo(int * __ptrauth(1, 0, 64) *);