[clang] [compiler-rt] [llvm] [SPARC] Properly handle CC for long double on sparc32 (PR #162226)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 9 23:42:25 PST 2025


================
@@ -26,19 +26,29 @@ class SparcV8ABIInfo : public DefaultABIInfo {
 
 private:
   ABIArgInfo classifyReturnType(QualType RetTy) const;
+  ABIArgInfo classifyArgumentType(QualType Ty) const;
   void computeInfo(CGFunctionInfo &FI) const override;
 };
 } // end anonymous namespace
 
+ABIArgInfo SparcV8ABIInfo::classifyReturnType(QualType Ty) const {
+  if (Ty->isRealFloatingType() && getContext().getTypeSize(Ty) == 128)
----------------
s-barannikov wrote:

Right, this should be:
```
  if (const auto *BT = Ty->getAs<BuiltinType>();
      BT && BT->getKind() == BuiltinType::LongDouble)
```
(note the `BT &&`)

https://github.com/llvm/llvm-project/pull/162226


More information about the llvm-commits mailing list