diff --git a/libc/src/stdio/printf_core/core_structs.h b/libc/src/stdio/printf_core/core_structs.h index 4c3b81ff018a..bab4fe75058a 100644 --- a/libc/src/stdio/printf_core/core_structs.h +++ b/libc/src/stdio/printf_core/core_structs.h @@ -55,8 +55,13 @@ struct FormatSection { int min_width = 0; int precision = -1; - // Needs to be large enough to hold a long double. + // Needs to be large enough to hold a long double. Special case handling for + // the PowerPC double double type because it has no FPBits interface. +#ifdef LIBC_TYPES_LONG_DOUBLE_IS_DOUBLE_DOUBLE + Uint128 conv_val_raw; +#else fputil::FPBits::StorageType conv_val_raw; +#endif // LIBC_TYPES_LONG_DOUBLE_IS_DOUBLE_DOUBLE void *conv_val_ptr; char conv_name;