1 // REQUIRES: aarch64-registered-target 2 // RUN: not %clang_cc1 -triple aarch64-linux-gnu -target-feature +sve -emit-llvm -o - %s 2>&1 | FileCheck %s 3 // RUN: not %clang_cc1 -triple arm64-apple-ios7 -target-abi darwinpcs -target-feature +sve -emit-llvm -o - %s 2>&1 | FileCheck %s 4 5 // CHECK: Passing SVE types to variadic functions is currently not supported 6 7 #include <arm_sve.h> 8 #include <stdarg.h> 9 10 double foo(char *str, ...) { 11 va_list ap; 12 svfloat64_t v; 13 double x; 14 15 va_start(ap, str); 16 v = va_arg(ap, svfloat64_t); 17 x = va_arg(ap, double); 18 va_end(ap); 19 20 return x + svaddv(svptrue_b8(), v); 21 } 22