[clang] [llvm] [LLVM][Clang][AArch64] Implement AArch64 build attributes (PR #118771)

Oliver Stannard via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 13 03:26:55 PST 2025


================
@@ -0,0 +1,80 @@
+// RUN: not llvm-mc -triple=aarch64 %s -o %t > %t.out 2>&1
+// RUN: FileCheck --input-file=%t.out --check-prefix=ERR %s 
+
+.aeabi_subsection aeabi_pauthabi, optional, uleb128
+// ERR: error: aeabi_pauthabi must be marked as required
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, optional, uleb128
+
+.aeabi_subsection aeabi_pauthabi, required, ntbs
+// ERR: error: aeabi_pauthabi must be marked as ULEB128
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, required, ntbs
+
+.aeabi_subsection aeabi_feature_and_bits, required, uleb128
+// ERR: error: aeabi_feature_and_bits must be marked as optional
+// ERR-NEXT: .aeabi_subsection aeabi_feature_and_bits, required, uleb128
+
+.aeabi_subsection aeabi_feature_and_bits, optional, ntbs
+// ERR: error: aeabi_feature_and_bits must be marked as ULEB128
+// ERR-NEXT: .aeabi_subsection aeabi_feature_and_bits, optional, ntbs
+
+.aeabi_subsection 1, required, uleb128
+// ERR: error: Expecting subsection name
+// ERR-NEXT: .aeabi_subsection 1, required, uleb128
+
+.aeabi_subsection , required, uleb128
+// ERR: error: Expecting subsection name
+// ERR-NEXT: .aeabi_subsection , required, uleb128
+
+.aeabi_subsection required, uleb128
+// ERR: error: unknown AArch64 build attributes optionality, expecting required|optional: uleb128
+// ERR-NEXT: .aeabi_subsection required, uleb128
+
+.aeabi_subsection aeabi_pauthabi, a, uleb128
+// ERR: error: unknown AArch64 build attributes optionality, expecting required|optional: a
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, a, uleb128
+
+.aeabi_subsection aeabi_pauthabi, 1, uleb128
+// ERR: error: Expecitng optionality parameter
+// ERR-NEXT: Hint: use 'optional' | 'required'
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, 1, uleb128
+
+.aeabi_subsection aeabi_pauthabi, ,uleb128
+// ERR: error: Expecitng optionality parameter
+// ERR-NEXT: Hint: use 'optional' | 'required'
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, ,uleb128
+
+.aeabi_subsection aeabi_pauthabi,uleb128
+// ERR: error: unknown AArch64 build attributes optionality, expecting required|optional: uleb128
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi,uleb128
+
+.aeabi_subsection aeabi_pauthabi uleb128
+// ERR: expected comma
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi uleb128
+
+.aeabi_subsection aeabi_pauthabi, required
+// ERR: error: expected comma
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, required
+
+.aeabi_subsection aeabi_pauthabi, required,
+// ERR: error: Expecitng type parameter
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, required,
+
+.aeabi_subsection aeabi_pauthabi, required, a
+// ERR: error: unknown AArch64 build attributes type, expecting uleb128|ntbs: a
+// ERR-NEXT: .aeabi_subsection aeabi_pauthabi, required, a
+
+.aeabi_subsection aeabi_pauthabi, required, 1
+// ERR: error: Expecitng type parameter
----------------
ostannard wrote:

Spelling: `expecting`. Also these errors randomly use "expected" or "expecting", I think "expected" would be more consistent with other messages.

https://github.com/llvm/llvm-project/pull/118771


More information about the llvm-commits mailing list