================
@@ -0,0 +1,59 @@
+# REQUIRES: aarch64
+
+# RUN: llvm-mc --filetype=obj -triple=aarch64-linux-gnu %s -o %t.o
+
+# RUN: ld.lld -shared --memtag-mode=async --memtag-heap %t.o -o %t
+# RUN: llvm-readelf --memtag %t | FileCheck %s
--check-prefixes=CHECK,HEAP,NOSTACK,ASYNC
+
+# RUN: ld.lld -shared --memtag-mode=sync --memtag-heap %t.o -o %t
+# RUN: llvm-readelf --memtag %t | FileCheck %s
--check-prefixes=CHECK,HEAP,NOSTACK,SYNC
+
+# RUN: ld.lld -shared --memtag-mode=async --memtag-stack %t.o -o %t
+# RUN: llvm-readelf --memtag %t | FileCheck %s
--check-prefixes=CHECK,NOHEAP,STACK,ASYNC
+
+# RUN: ld.lld -shared --memtag-mode=sync --memtag-stack %t.o -o %t
+# RUN: llvm-readelf --memtag %t | FileCheck %s
--check-prefixes=CHECK,NOHEAP,STACK,SYNC
+
+# RUN: ld.lld -shared --memtag-mode=async --memtag-heap \
+# RUN: --memtag-stack %t.o -o %t
+# RUN: llvm-readelf --memtag %t | FileCheck %s
--check-prefixes=CHECK,HEAP,STACK,ASYNC
+
+# RUN: ld.lld -shared --memtag-mode=sync --memtag-heap \
+# RUN: --memtag-stack %t.o -o %t
+# RUN: llvm-readelf --memtag %t | FileCheck %s
--check-prefixes=CHECK,HEAP,STACK,SYNC
+
+# RUN: ld.lld -shared --memtag-heap %t.o -o %t 2>&1 | \
+# RUN: FileCheck %s --check-prefixes=MISSING-MODE
+# RUN: ld.lld -shared --memtag-stack %t.o -o %t 2>&1 | \
+# RUN: FileCheck %s --check-prefixes=MISSING-MODE
+# RUN: ld.lld -shared --memtag-heap --memtag-stack %t.o -o %t 2>&1 | \
+# RUN: FileCheck %s --check-prefixes=MISSING-MODE
+# MISSING-MODE: warning: --memtag-mode is unspecified, leaving
----------------
MaskRay wrote:
When testing diagnostics, keep them on the same line unless you intend to use
`-SAME: {{^}}` to anchor the match to the previous line using capture groups.
Don't unnecessarily wrap check prefixes.
https://github.com/llvm/llvm-project/pull/183275
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits