#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#define SUPPRESS_ERROR
#include <macro.h>
#undef SUPPRESS_ERROR
#if defined(__cplusplus)
#define CTEST_ALIGNOF(T) alignof(T)
#define CTEST_EXTERN extern "C"
#else
#define CTEST_ALIGNOF(T) _Alignof(T)
#define CTEST_EXTERN
#endif
typedef void (*ctest_void_func)(void);
CTEST_EXTERN uint64_t ctest_size_of__VecU8(void) { return sizeof(struct VecU8); }
CTEST_EXTERN uint64_t ctest_align_of__VecU8(void) { return CTEST_ALIGNOF(struct VecU8); }
CTEST_EXTERN uint64_t ctest_size_of__VecU16(void) { return sizeof(struct VecU16); }
CTEST_EXTERN uint64_t ctest_align_of__VecU16(void) { return CTEST_ALIGNOF(struct VecU16); }
CTEST_EXTERN uint64_t ctest_offset_of__VecU8__x(void) {
return offsetof(struct VecU8, x);
}
CTEST_EXTERN uint64_t ctest_size_of__VecU8__x(void) {
return sizeof(((struct VecU8){}).x);
}
CTEST_EXTERN uint64_t ctest_offset_of__VecU8__y(void) {
return offsetof(struct VecU8, y);
}
CTEST_EXTERN uint64_t ctest_size_of__VecU8__y(void) {
return sizeof(((struct VecU8){}).y);
}
CTEST_EXTERN uint64_t ctest_offset_of__VecU16__x(void) {
return offsetof(struct VecU16, x);
}
CTEST_EXTERN uint64_t ctest_size_of__VecU16__x(void) {
return sizeof(((struct VecU16){}).x);
}
CTEST_EXTERN uint64_t ctest_offset_of__VecU16__y(void) {
return offsetof(struct VecU16, y);
}
CTEST_EXTERN uint64_t ctest_size_of__VecU16__y(void) {
return sizeof(((struct VecU16){}).y);
}
typedef uint8_t *ctest_field_ty__VecU8__x;
CTEST_EXTERN ctest_field_ty__VecU8__x
ctest_field_ptr__VecU8__x(struct VecU8 *b) {
return &b->x;
}
typedef uint8_t *ctest_field_ty__VecU8__y;
CTEST_EXTERN ctest_field_ty__VecU8__y
ctest_field_ptr__VecU8__y(struct VecU8 *b) {
return &b->y;
}
typedef uint16_t *ctest_field_ty__VecU16__x;
CTEST_EXTERN ctest_field_ty__VecU16__x
ctest_field_ptr__VecU16__x(struct VecU16 *b) {
return &b->x;
}
typedef uint16_t *ctest_field_ty__VecU16__y;
CTEST_EXTERN ctest_field_ty__VecU16__y
ctest_field_ptr__VecU16__y(struct VecU16 *b) {
return &b->y;
}
#ifdef _MSC_VER
#pragma warning(disable:4365)
#endif
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wignored-qualifiers"
#endif
CTEST_EXTERN struct VecU8 ctest_roundtrip__VecU8(
struct VecU8 value,
const uint8_t is_padding_byte[sizeof(struct VecU8)],
uint8_t value_bytes[sizeof(struct VecU8)]
) {
int size = (int)sizeof(struct VecU8);
volatile uint8_t* p = (volatile uint8_t*)&value;
int i = 0;
for (i = 0; i < size; ++i) {
if (is_padding_byte[i]) { continue; }
value_bytes[i] = p[i];
uint8_t d = (uint8_t)(255) - (uint8_t)(i % 256);
d = d == 0 ? 42: d;
p[i] = d;
}
return value;
}
CTEST_EXTERN struct VecU16 ctest_roundtrip__VecU16(
struct VecU16 value,
const uint8_t is_padding_byte[sizeof(struct VecU16)],
uint8_t value_bytes[sizeof(struct VecU16)]
) {
int size = (int)sizeof(struct VecU16);
volatile uint8_t* p = (volatile uint8_t*)&value;
int i = 0;
for (i = 0; i < size; ++i) {
if (is_padding_byte[i]) { continue; }
value_bytes[i] = p[i];
uint8_t d = (uint8_t)(255) - (uint8_t)(i % 256);
d = d == 0 ? 42: d;
p[i] = d;
}
return value;
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
#ifdef _MSC_VER
#pragma warning(default:4365)
#endif
#ifdef _MSC_VER
#pragma warning(disable:4191)
#endif
#ifdef _MSC_VER
#pragma warning(default:4191)
#endif