18 lines · cpp
1// RUN: %clang_cc1 -std=c++11 -fptrauth-intrinsics -fptrauth-calls -emit-llvm -o - -triple=aarch64-windows-msvc %s | FileCheck %s2 3template <class T>4struct S {};5 6// CHECK: @"?s@@3U?$S@PE__ptrauth1A@ENC@AH@@A" =7S<int * __ptrauth(2, 0, 1234)> s;8 9// CHECK: define dso_local void @"?foo@@YAXPEAPE__ptrauth20OK@AH@Z"(10void foo(int * __ptrauth(3, 1, 234) *) {}11 12template <class T>13void foo(T t) {}14 15// CHECK: define weak_odr dso_local void @"??$foo@PEAPE__ptrauth0A@EA@AH@@YAXPEAPE__ptrauth0A@EA@AH@Z"(16template void foo<int * __ptrauth(1, 0, 64) *>(int * __ptrauth(1, 0, 64) *);17 18