Changeset 96193 in vbox
- Timestamp:
- Aug 13, 2022 5:27:16 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 153001
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/cdefs.h
r96192 r96193 1123 1123 * IEEE quadruple precision floating (128-bit). 1124 1124 * @note Currently not able to detect this, so must be explicitly defined. */ 1125 #if defined(RT_OS_WINDOWS) || defined(RT_ARCH_ARM64) || defined(RT_ARCH_ARM32) /* the M1 arm64 at least */ 1126 # define RT_COMPILER_LONG_DOUBLE_BITS 64 1125 #if defined(__LDBL_MANT_DIG__) /* GCC & clang have this defined and should be more reliable. */ 1126 # if __LDBL_MANT_DIG__ == 53 1127 # define RT_COMPILER_LONG_DOUBLE_BITS 64 1128 # define RT_COMPILER_WITH_64BIT_LONG_DOUBLE 1129 # undef RT_COMPILER_WITH_80BIT_LONG_DOUBLE 1130 # undef RT_COMPILER_WITH_128BIT_LONG_DOUBLE 1131 # elif __LDBL_MANT_DIG__ == 64 1132 # define RT_COMPILER_LONG_DOUBLE_BITS 80 1133 # undef RT_COMPILER_WITH_64BIT_LONG_DOUBLE 1134 # define RT_COMPILER_WITH_80BIT_LONG_DOUBLE 1135 # undef RT_COMPILER_WITH_128BIT_LONG_DOUBLE 1136 # elif __LDBL_MANT_DIG__ == 113 1137 # define RT_COMPILER_LONG_DOUBLE_BITS 128 1138 # undef RT_COMPILER_WITH_64BIT_LONG_DOUBLE 1139 # undef RT_COMPILER_WITH_80BIT_LONG_DOUBLE 1140 # define RT_COMPILER_WITH_128BIT_LONG_DOUBLE 1141 # else 1142 # error "Port me!" 1143 # endif 1144 #elif defined(RT_OS_WINDOWS) || defined(RT_ARCH_ARM64) || defined(RT_ARCH_ARM32) /* the M1 arm64 at least */ 1145 # define RT_COMPILER_LONG_DOUBLE_BITS 64 1127 1146 # define RT_COMPILER_WITH_64BIT_LONG_DOUBLE 1128 1147 # undef RT_COMPILER_WITH_80BIT_LONG_DOUBLE 1129 1148 # undef RT_COMPILER_WITH_128BIT_LONG_DOUBLE 1130 1149 #elif defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86) 1131 # define RT_COMPILER_LONG_DOUBLE_BITS 801150 # define RT_COMPILER_LONG_DOUBLE_BITS 80 1132 1151 # undef RT_COMPILER_WITH_64BIT_LONG_DOUBLE 1133 1152 # define RT_COMPILER_WITH_80BIT_LONG_DOUBLE 1134 1153 # undef RT_COMPILER_WITH_128BIT_LONG_DOUBLE 1135 1154 #elif defined(RT_ARCH_SPARC) || defined(RT_ARCH_SPARC64) 1136 # define RT_COMPILER_LONG_DOUBLE_BITS 1281155 # define RT_COMPILER_LONG_DOUBLE_BITS 128 1137 1156 # undef RT_COMPILER_WITH_64BIT_LONG_DOUBLE 1138 1157 # undef RT_COMPILER_WITH_80BIT_LONG_DOUBLE
Note:
See TracChangeset
for help on using the changeset viewer.