namespace std {
struct type_info;
}
typedef __SVInt8_t svint8_t;
typedef __SVInt16_t svint16_t;
svint8_t global_int8; extern svint8_t extern_int8; static svint8_t static_int8; __thread svint8_t thread_int8; svint8_t *global_int8_ptr;
extern svint8_t *extern_int8_ptr;
static svint8_t *static_int8_ptr;
typedef svint8_t int8_typedef;
typedef svint8_t *int8_ptr_typedef;
int sizeof_int8 = sizeof(svint8_t); int sizeof_int8_var = sizeof(*extern_int8_ptr); int sizeof_int8_var_ptr = sizeof(extern_int8_ptr);
#if __cplusplus >= 201103L
int alignof_int8 = alignof(svint8_t); int alignof_int8_var = alignof(*extern_int8_ptr); int alignof_int8_var_ptr = alignof(extern_int8_ptr); #else
int alignof_int8 = _Alignof(svint8_t); int alignof_int8_var = _Alignof(*extern_int8_ptr); int alignof_int8_var_ptr = _Alignof(extern_int8_ptr); #endif
void pass_int8(svint8_t);
svint8_t return_int8();
typedef svint8_t vec_int8_a __attribute__((vector_size(64))); typedef svint8_t vec_int8_b __attribute__((ext_vector_type(4)));
void dump(const volatile void *);
void overf(svint8_t);
void overf(svint16_t);
void overf8(svint8_t); void overf8(int);
void overf16(svint16_t); void overf16(int);
void varargs(int, ...);
void unused() {
svint8_t unused_int8; }
struct incomplete_struct *incomplete_ptr;
typedef svint8_t sizeless_array[1];
void func(int sel) {
static svint8_t static_int8;
svint8_t local_int8;
svint16_t local_int16;
svint8_t __attribute__((aligned)) aligned_int8_1; svint8_t __attribute__((aligned(4))) aligned_int8_2; svint8_t _Alignas(int) aligned_int8_3;
int _Alignas(svint8_t) aligned_int;
_Static_assert(__atomic_is_lock_free(1, &local_int8) == __atomic_is_lock_free(1, incomplete_ptr), "");
_Static_assert(__atomic_is_lock_free(2, &local_int8) == __atomic_is_lock_free(2, incomplete_ptr), ""); _Static_assert(__atomic_always_lock_free(1, &local_int8) == __atomic_always_lock_free(1, incomplete_ptr), "");
local_int8;
(void)local_int8;
local_int8, 0;
0, local_int8;
svint8_t init_int8 = local_int8;
svint8_t bad_init_int8 = for;
#if __cplusplus >= 201103L
int empty_brace_init_int = {};
svint8_t empty_brace_init_int8 = {};
#else
int empty_brace_init_int = {}; svint8_t empty_brace_init_int8 = {}; #endif
svint8_t brace_init_int8 = {local_int8};
svint8_t bad_brace_init_int8_1 = {local_int8, 0}; svint8_t bad_brace_init_int8_2 = {0}; svint8_t bad_brace_init_int8_3 = {local_int16}; svint8_t bad_brace_init_int8_4 = {[0] = local_int8}; svint8_t bad_brace_init_int8_5 = {{local_int8}}; svint8_t bad_brace_init_int8_6 = {{local_int8, 0}};
const svint8_t const_int8 = local_int8; const svint8_t uninit_const_int8;
volatile svint8_t volatile_int8;
const volatile svint8_t const_volatile_int8 = local_int8; const volatile svint8_t uninit_const_volatile_int8;
_Atomic svint8_t atomic_int8; __restrict svint8_t restrict_int8;
svint8_t array_int8[1]; svint8_t array_int8_init[] = {};
bool test_int8 = init_int8;
int int_int8 = init_int8;
init_int8 = local_int8;
init_int8 = local_int16; init_int8 = sel;
sel = local_int8;
local_int8 = (svint8_t)local_int8;
local_int8 = (const svint8_t)local_int8;
local_int8 = (svint8_t)local_int16; local_int8 = (svint8_t)0; sel = (int)local_int8;
init_int8 = local_int8;
init_int8 = const_int8;
init_int8 = volatile_int8;
init_int8 = const_volatile_int8;
const_int8 = local_int8;
volatile_int8 = local_int8;
volatile_int8 = const_int8;
volatile_int8 = volatile_int8;
volatile_int8 = const_volatile_int8;
const_volatile_int8 = local_int8;
init_int8 = sel ? init_int8 : local_int8;
init_int8 = sel ? init_int8 : const_int8;
init_int8 = sel ? volatile_int8 : const_int8;
init_int8 = sel ? volatile_int8 : const_volatile_int8;
pass_int8(local_int8);
pass_int8(local_int16);
local_int8 = return_int8();
local_int16 = return_int8();
dump(&local_int8);
dump(&const_int8);
dump(&volatile_int8);
dump(&const_volatile_int8);
dump(&local_int8 + 1);
*&local_int8 = local_int8;
*&const_int8 = local_int8; *&volatile_int8 = local_int8;
*&const_volatile_int8 = local_int8;
global_int8_ptr[0] = local_int8; global_int8_ptr[1] = local_int8; global_int8_ptr = &global_int8_ptr[2];
overf(local_int8);
overf(local_int16);
overf8(local_int8);
overf8(local_int16);
overf16(local_int8); overf16(local_int16);
varargs(1, local_int8, local_int16);
global_int8_ptr++; global_int8_ptr--; ++global_int8_ptr; --global_int8_ptr; global_int8_ptr + 1; global_int8_ptr - 1; global_int8_ptr += 1; global_int8_ptr -= 1; global_int8_ptr - global_int8_ptr;
++init_int8; init_int8++; --init_int8; init_int8--; !init_int8; *init_int8; __real init_int8; __imag init_int8;
local_int8 &&init_int8; local_int8 || init_int8;
if (local_int8) { }
while (local_int8) { }
do {
} while (local_int8); switch (local_int8) { default:;
}
}
int vararg_receiver(int count, svint8_t first, ...) {
__builtin_va_list va;
__builtin_va_start(va, first);
__builtin_va_arg(va, svint8_t);
__builtin_va_end(va);
return count;
}
struct sized_struct {
int f1;
svint8_t f2; svint8_t f3 : 2; svint8_t : 3; };
union sized_union {
int f1;
svint8_t f2; svint8_t f3 : 2; svint8_t : 3; };
void pass_int8_ref(svint8_t &);
svint8_t &return_int8_ref();
#if __cplusplus >= 201103L
svint8_t &&return_int8_rvalue_ref();
#endif
template <typename T>
struct s_template {
T y; };
template <typename T>
struct s_ptr_template {
s_ptr_template();
s_ptr_template(T, svint8_t = svint8_t());
s_ptr_template(const s_ptr_template &, svint8_t = svint8_t());
T *y;
};
template <typename T>
struct s_array_template {
T y[1]; };
struct widget {
widget(s_ptr_template<int>);
svint8_t operator[](int);
};
template <typename T>
struct wrapper_iterator {
T operator++();
T operator*() const;
bool operator!=(const wrapper_iterator &) const;
};
template <typename T>
struct wrapper {
wrapper();
operator T() const;
wrapper_iterator<T> begin() const;
wrapper_iterator<T> end() const;
};
#if __cplusplus >= 201103L
struct explicit_conv {
explicit operator svint8_t() const; };
#endif
struct constructible_from_sizeless {
constructible_from_sizeless(svint8_t);
};
void with_default(svint8_t = svint8_t());
#if __cplusplus >= 201103L
constexpr int ce_taking_int8(svint8_t) { return 1; } #endif
#if __cplusplus < 201703L
void throwing_func() throw(svint8_t); void throwing_pointer_func() throw(svint8_t *);
void throwing_reference_func() throw(svint8_t &); #endif
template <typename T>
void template_fn_direct(T) {}
template <typename T>
void template_fn_ref(T &) {}
template <typename T>
void template_fn_const_ref(const T &) {}
#if __cplusplus >= 201103L
template <typename T>
void template_fn_rvalue_ref(T &&) {}
#endif
#if __cplusplus >= 201103L
template <typename T>
using array_alias = T[1]; extern array_alias<int> *array_alias_int_ptr;
extern array_alias<svint8_t> *array_alias_int8_ptr; #endif
extern "C" svint8_t c_return_int8();
void cxx_only(int sel) {
svint8_t local_int8;
svint16_t local_int16;
pass_int8_ref(local_int8);
pass_int8_ref(local_int16);
local_int8 = return_int8_ref();
local_int16 = return_int8_ref(); return_int8_ref() = local_int8;
return_int8_ref() = local_int16;
#if __cplusplus >= 201103L
local_int8 = return_int8_rvalue_ref();
local_int16 = return_int8_rvalue_ref();
return_int8_rvalue_ref() = local_int8; return_int8_rvalue_ref() = local_int16; #endif
local_int8 = static_cast<svint8_t>(local_int8);
local_int8 = static_cast<svint8_t>(local_int16); local_int8 = static_cast<svint8_t>(0); local_int16 = static_cast<svint16_t>(local_int8); sel = static_cast<int>(local_int8);
throw local_int8; throw global_int8_ptr;
try {
} catch (int) {
}
try {
} catch (svint8_t) { }
try {
} catch (svint8_t *) {
}
try {
} catch (svint8_t &) { }
new svint8_t; new svint8_t(); new svint8_t[10]; new svint8_t *;
new (global_int8_ptr) svint8_t; new (global_int8_ptr) svint8_t(); new (global_int8_ptr) svint8_t[10];
delete global_int8_ptr; delete[] global_int8_ptr;
local_int8.~__SVInt8_t();
(void)svint8_t();
local_int8 = svint8_t();
local_int8 = svint16_t();
s_template<int> st_int;
s_template<svint8_t> st_svint8;
s_ptr_template<int> st_ptr_int;
s_ptr_template<svint8_t> st_ptr_svint8;
widget w(1);
local_int8 = w[1];
s_array_template<int> st_array_int;
s_array_template<svint8_t> st_array_svint8;
local_int8 = static_cast<svint8_t>(wrapper<svint8_t>());
local_int16 = static_cast<svint8_t>(wrapper<svint8_t>());
local_int8 = wrapper<svint8_t>();
local_int16 = wrapper<svint8_t>();
svint8_t &ref_int8 = local_int8;
ref_int8 = ref_int8; ref_int8 = local_int8;
local_int8 = ref_int8;
#if __cplusplus >= 201103L
svint8_t zero_init_int8{};
svint8_t init_int8{local_int8};
svint8_t bad_brace_init_int8_1{local_int8, 0}; svint8_t bad_brace_init_int8_2{0}; svint8_t bad_brace_init_int8_3{local_int16}; svint8_t bad_brace_init_int8_4{[0] = local_int8}; svint8_t bad_brace_init_int8_5{{local_int8}}; svint8_t bad_brace_init_int8_6{{local_int8, 0}}; svint8_t wrapper_init_int8{wrapper<svint8_t>()};
svint8_t &ref_init_int8{local_int8};
template_fn_direct<svint8_t>({wrapper<svint8_t>()});
#endif
template_fn_direct(local_int8);
template_fn_ref(local_int8);
template_fn_const_ref(local_int8);
#if __cplusplus >= 201103L
template_fn_rvalue_ref(local_int8);
#endif
#if __cplusplus >= 201103L
constexpr svint8_t ce_int8_a = wrapper<svint8_t>(); #endif
(void)typeid(__SVInt8_t);
(void)typeid(__SVInt8_t *);
(void)typeid(local_int8);
(void)typeid(ref_int8);
(void)typeid(static_int8_ptr);
_Static_assert(__is_trivially_copyable(svint8_t), "");
_Static_assert(__is_trivially_destructible(svint8_t), "");
_Static_assert(!__is_nothrow_assignable(svint8_t, svint8_t), "");
_Static_assert(__is_nothrow_assignable(svint8_t &, svint8_t), "");
_Static_assert(!__is_nothrow_assignable(svint8_t &, svint16_t), "");
_Static_assert(__is_constructible(svint8_t), "");
_Static_assert(__is_constructible(svint8_t, svint8_t), "");
_Static_assert(!__is_constructible(svint8_t, svint8_t, svint8_t), "");
_Static_assert(!__is_constructible(svint8_t, svint16_t), "");
_Static_assert(__is_nothrow_constructible(svint8_t), "");
_Static_assert(__is_nothrow_constructible(svint8_t, svint8_t), "");
_Static_assert(!__is_nothrow_constructible(svint8_t, svint16_t), "");
_Static_assert(!__is_assignable(svint8_t, svint8_t), "");
_Static_assert(__is_assignable(svint8_t &, svint8_t), "");
_Static_assert(!__is_assignable(svint8_t &, svint16_t), "");
_Static_assert(__has_nothrow_assign(svint8_t), "");
_Static_assert(__has_nothrow_move_assign(svint8_t), "");
_Static_assert(__has_nothrow_copy(svint8_t), "");
_Static_assert(__has_nothrow_constructor(svint8_t), "");
_Static_assert(__has_trivial_assign(svint8_t), "");
_Static_assert(__has_trivial_move_assign(svint8_t), "");
_Static_assert(__has_trivial_copy(svint8_t), "");
_Static_assert(__has_trivial_constructor(svint8_t), "");
_Static_assert(__has_trivial_move_constructor(svint8_t), "");
_Static_assert(__has_trivial_destructor(svint8_t), "");
_Static_assert(!__has_virtual_destructor(svint8_t), "");
_Static_assert(!__is_abstract(svint8_t), "");
_Static_assert(!__is_aggregate(svint8_t), "");
_Static_assert(!__is_base_of(svint8_t, svint8_t), "");
_Static_assert(!__is_class(svint8_t), "");
_Static_assert(__is_convertible_to(svint8_t, svint8_t), "");
_Static_assert(!__is_convertible_to(svint8_t, svint16_t), "");
_Static_assert(!__is_empty(svint8_t), "");
_Static_assert(!__is_enum(svint8_t), "");
_Static_assert(!__is_final(svint8_t), "");
_Static_assert(!__is_literal(svint8_t), "");
_Static_assert(__is_pod(svint8_t), "");
_Static_assert(!__is_polymorphic(svint8_t), "");
_Static_assert(__is_trivial(svint8_t), "");
_Static_assert(__is_object(svint8_t), "");
_Static_assert(!__is_arithmetic(svint8_t), "");
_Static_assert(!__is_floating_point(svint8_t), "");
_Static_assert(!__is_integral(svint8_t), "");
_Static_assert(!__is_void(svint8_t), "");
_Static_assert(!__is_array(svint8_t), "");
_Static_assert(!__is_function(svint8_t), "");
_Static_assert(!__is_reference(svint8_t), "");
_Static_assert(__is_reference(svint8_t &), "");
_Static_assert(__is_reference(const svint8_t &), "");
_Static_assert(!__is_lvalue_reference(svint8_t), "");
_Static_assert(__is_lvalue_reference(svint8_t &), "");
#if __cplusplus >= 201103L
_Static_assert(!__is_lvalue_reference(svint8_t &&), "");
#endif
_Static_assert(!__is_rvalue_reference(svint8_t), "");
_Static_assert(!__is_rvalue_reference(svint8_t &), "");
#if __cplusplus >= 201103L
_Static_assert(__is_rvalue_reference(svint8_t &&), "");
#endif
_Static_assert(!__is_fundamental(svint8_t), "");
_Static_assert(__is_object(svint8_t), "");
_Static_assert(!__is_scalar(svint8_t), "");
_Static_assert(!__is_compound(svint8_t), "");
_Static_assert(!__is_pointer(svint8_t), "");
_Static_assert(__is_pointer(svint8_t *), "");
_Static_assert(!__is_member_object_pointer(svint8_t), "");
_Static_assert(!__is_member_function_pointer(svint8_t), "");
_Static_assert(!__is_member_pointer(svint8_t), "");
_Static_assert(!__is_const(svint8_t), "");
_Static_assert(__is_const(const svint8_t), "");
_Static_assert(__is_const(const volatile svint8_t), "");
_Static_assert(!__is_volatile(svint8_t), "");
_Static_assert(__is_volatile(volatile svint8_t), "");
_Static_assert(__is_volatile(const volatile svint8_t), "");
_Static_assert(!__is_standard_layout(svint8_t), "");
_Static_assert(!__is_signed(svint8_t), "");
_Static_assert(!__is_unsigned(svint8_t), "");
#if __cplusplus >= 201103L
auto auto_int8 = local_int8;
auto auto_int16 = local_int16;
#if __cplusplus >= 201703L
auto [auto_int8_a] = local_int8; #endif
#endif
s_ptr_template<int> y;
s_ptr_template<int> &x = y;
constructible_from_sizeless cfs1(local_int8);
constructible_from_sizeless cfs2 = local_int8;
#if __cplusplus >= 201103L
constructible_from_sizeless cfs3{local_int8};
#endif
#if __cplusplus >= 201103L
local_int8 = ([]() { return svint8_t(); })();
local_int8 = ([]() -> svint8_t { return svint8_t(); })();
auto fn1 = [&local_int8](svint8_t x) { local_int8 = x; };
auto fn2 = [&local_int8](svint8_t *ptr) { *ptr = local_int8; };
#if __cplusplus >= 201703L
auto fn3 = [a(return_int8())] {}; #endif
auto fn4 = [local_int8](svint8_t *ptr) { *ptr = local_int8; };
for (auto x : local_int8) { }
for (auto x : wrapper<svint8_t>()) {
(void)x;
}
for (const svint8_t &x : wrapper<svint8_t>()) { (void)x;
}
for (const svint8_t x : wrapper<const svint8_t &>()) {
(void)x;
}
#endif
}
#if __cplusplus >= 201103L
svint8_t ret_bad_conv() { return explicit_conv(); }
#pragma clang diagnostic warning "-Wc++98-compat"
void incompat_init() { __attribute__((unused)) svint8_t foo = {}; }
#endif