================
@@ -0,0 +1,16 @@
+// RUN: %clang_cc1 -verify %s -triple x86_64-unknown-unknown -DTEST_x64
+// RUN: %clang_cc1 -verify %s -triple i386-unknown-unknown -DTEST_x86
+// RUN: %clang_cc1 -verify %s -triple riscv32-unknown-unknown -DTEST_riscv32
+// RUN: %clang_cc1 -verify %s -triple riscv64-unknown-unknown -DTEST_riscv64
+// RUN: %clang_cc1 -verify %s -triple aarch64-unknown-unknown -DTEST_aarch64
+
+#if defined(TEST_x64) || defined(TEST_x86)
+// expected-no-diagnostics
+void *a() {
+return __builtin_stack_address();
+}
+#else
+void *a() {
+return __builtin_stack_address(); // expected-error {{builtin is not supported 
on this target}}
+}
+#endif
----------------
Sirraide wrote:

```suggestion
// expected-no-diagnostics
void *a() {
  return __builtin_stack_address(); // x86-error {{builtin is not supported on 
this target}}
}
```
Instead of duplicating everything like that, you can just do this and write 
e.g. `-verify=x86` in the RUN lines for `x86`/`x64` (`-verify` is short for 
`-verify=expected`).

https://github.com/llvm/llvm-project/pull/148281
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to