llvm/libc/test/src/__support/arg_list_test.cpp

//===-- Unittests for ArgList ---------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "src/__support/arg_list.h"
#include "src/__support/macros/properties/os.h"

#include "test/UnitTest/Test.h"

int get_nth_int(int n, ...) {}

TEST(LlvmLibcArgListTest, BasicUsage) {}

int sum_two_nums(int first, int second, ...) {}

TEST(LlvmLibcArgListTest, CopyConstructor) {}

long int check_primitives(int first, ...) {}

TEST(LlvmLibcArgListTest, TestPrimitiveTypes) {}

struct S {};

long int check_struct_type(int first, ...) {}

TEST(LlvmLibcArgListTest, TestStructTypes) {}

// Test vector extensions from clang.
#if !defined(LIBC_TARGET_OS_IS_WINDOWS) && __has_attribute(ext_vector_type)

int1 __attribute__((ext_vector_type(1)));
int2 __attribute__((ext_vector_type(2)));
int3 __attribute__((ext_vector_type(3)));
int4 __attribute__((ext_vector_type(4)));

int check_vector_type(int first, ...) {}

TEST(LlvmLibcArgListTest, TestVectorTypes) {}

#endif