22 lines · c
1// REQUIRES: aarch64-registered-target2// RUN: not %clang_cc1 -triple aarch64-linux-gnu -target-feature +sve -emit-llvm -o - %s 2>&1 | FileCheck %s3// RUN: not %clang_cc1 -triple arm64-apple-ios7 -target-abi darwinpcs -target-feature +sve -emit-llvm -o - %s 2>&1 | FileCheck %s4 5// CHECK: Passing SVE types to variadic functions is currently not supported6 7#include <arm_sve.h>8#include <stdarg.h>9 10double 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