chiark / gitweb /
test-sizeof: also print float types from ISO/IEC TS 18661-3
[elogind.git] / src / test / test-sizeof.c
index 103c96955560de4c168cca075a9e91bc678f0f66..4cb67ecafa655cc088b9eeda54c5f558e5fb1f80 100644 (file)
@@ -26,7 +26,12 @@ enum Enum {
 };
 
 enum BigEnum {
-        big_enum_value = UINT64_C(-1),
+        big_enum_value = UINT64_C(1),
+};
+
+enum BigEnum2 {
+        big_enum2_pos = UINT64_C(1),
+        big_enum2_neg = UINT64_C(-1),
 };
 
 int main(void) {
@@ -46,6 +51,14 @@ int main(void) {
         info(double);
         info(long double);
 
+#ifdef __HAVE_DISTINCT_FLOAT128X
+        info(_Float128);
+        info(_Float64);
+        info(_Float64x);
+        info(_Float32);
+        info(_Float32x);
+#endif
+
         info(size_t);
         info(ssize_t);
         info(time_t);
@@ -59,6 +72,10 @@ int main(void) {
 
         info(enum Enum);
         info(enum BigEnum);
+        info(enum BigEnum2);
+        assert_cc(sizeof(enum BigEnum2) == 8);
+        printf("big_enum2_pos → %zu\n", sizeof(big_enum2_pos));
+        printf("big_enum2_neg → %zu\n", sizeof(big_enum2_neg));
 
         return 0;
 }