xref: /llvm-project/clang/test/Sema/aarch64-cpu-supports.c (revision 799e520c51f47c54769e5bd8ce6ce2d2d3931445)
1 // RUN: %clang_cc1 -fsyntax-only -triple aarch64-linux-gnu -verify %s
2 
3 int test_aarch64_features(void) {
4   char * ssbs2;
5   // expected-error@+1 {{expression is not a string literal}}
6   if (__builtin_cpu_supports(ssbs2))
7     return 1;
8   // expected-warning@+1 {{invalid cpu feature string}}
9   if (__builtin_cpu_supports(""))
10     return 2;
11   // expected-warning@+1 {{invalid cpu feature string}}
12   if (__builtin_cpu_supports("pmull128"))
13     return 3;
14   // expected-warning@+1 {{invalid cpu feature string}}
15   if (__builtin_cpu_supports("sve2,sve"))
16     return 4;
17   // expected-warning@+1 {{invalid cpu feature string}}
18   if (__builtin_cpu_supports("aes+sve2-pmull"))
19     return 5;
20   // expected-warning@+1 {{invalid cpu feature string}}
21   if (__builtin_cpu_supports("default"))
22     return 6;
23   if (__builtin_cpu_supports(" ssbs + bti "))
24     return 7;
25   return 0;
26 }
27