tahonermann added inline comments.
================ Comment at: clang/include/clang/Basic/TargetInfo.h:222 unsigned HasAlignMac68kSupport : 1; - unsigned RealTypeUsesObjCFPRet : 3; + unsigned RealTypeUsesObjCFPRet : 6; unsigned ComplexLongDoubleUsesFP2Ret : 1; ---------------- Good find. The implicit dependency on the `FloatModeKind` enumerator values makes this really fragile. Can we add some resiliency here? Perhaps: # Add a `Last = Ibm128` enumerator to `FloatModeKind`. # Add an assert in `useObjCFPRetForRealType()` to ensure that `T <= FloatModeKind::Last`. # Add a `setUseObjCFPRetForRealType()` function with a matching assert to be used to set bits in `RealTypeUsesObjCFPRet`. # Replace the explicit modifications of `RealTypeUsesObjCFPRet` in `X86_32TargetInfo` and `X86_64TargetInfo` with calls to the new `setUseObjCFPRetForRealType()` function. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126479/new/ https://reviews.llvm.org/D126479 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits