Author: Andy Kaylor Date: 2025-03-04T10:50:06-08:00 New Revision: 6f256145c00cef851b2b439e240fbc3eed9413a6
URL: https://github.com/llvm/llvm-project/commit/6f256145c00cef851b2b439e240fbc3eed9413a6 DIFF: https://github.com/llvm/llvm-project/commit/6f256145c00cef851b2b439e240fbc3eed9413a6.diff LOG: [CIR] Clean up warnings (#129604) Previous CIR commits have introduced a few warnings. This change fixes those. There are still warnings present when building with GCC because GCC warns about virtual functions being hidden in the mlir::OpConversion classes. A separate discussion will be required to decide what should be done about those. Added: Modified: clang/lib/CIR/CodeGen/CIRGenDecl.cpp clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp clang/lib/CIR/CodeGen/CIRGenFunction.cpp clang/lib/CIR/CodeGen/CIRGenFunction.h Removed: ################################################################################ diff --git a/clang/lib/CIR/CodeGen/CIRGenDecl.cpp b/clang/lib/CIR/CodeGen/CIRGenDecl.cpp index c34d42eff6966..406026b0b9f27 100644 --- a/clang/lib/CIR/CodeGen/CIRGenDecl.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenDecl.cpp @@ -62,7 +62,7 @@ void CIRGenFunction::emitAutoVarInit(const clang::VarDecl &d) { void CIRGenFunction::emitAutoVarCleanups(const clang::VarDecl &d) { // Check the type for a cleanup. - if (QualType::DestructionKind dtorKind = d.needsDestruction(getContext())) + if (d.needsDestruction(getContext())) cgm.errorNYI(d.getSourceRange(), "emitAutoVarCleanups: type cleanup"); assert(!cir::MissingFeatures::opAllocaPreciseLifetime()); diff --git a/clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp b/clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp index 32fab85cd3db4..b9e56dc4123d6 100644 --- a/clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp @@ -107,6 +107,7 @@ class ScalarExprEmitter : public StmtVisitor<ScalarExprEmitter, mlir::Value> { cgf.getCIRGenModule().errorNYI(loc, "emitScalarConversion for unequal types"); + return {}; } }; diff --git a/clang/lib/CIR/CodeGen/CIRGenFunction.cpp b/clang/lib/CIR/CodeGen/CIRGenFunction.cpp index 7861a48c93244..47d296b70d789 100644 --- a/clang/lib/CIR/CodeGen/CIRGenFunction.cpp +++ b/clang/lib/CIR/CodeGen/CIRGenFunction.cpp @@ -13,6 +13,7 @@ #include "CIRGenFunction.h" #include "CIRGenCall.h" +#include "CIRGenValue.h" #include "mlir/IR/Location.h" #include "clang/AST/GlobalDecl.h" #include "clang/CIR/MissingFeatures.h" @@ -134,10 +135,9 @@ mlir::Location CIRGenFunction::getLoc(mlir::Location lhs, mlir::Location rhs) { return mlir::FusedLoc::get(locs, metadata, &getMLIRContext()); } -mlir::LogicalResult CIRGenFunction::declare(mlir::Value addrVal, - const Decl *var, QualType ty, - mlir::Location loc, - CharUnits alignment, bool isParam) { +void CIRGenFunction::declare(mlir::Value addrVal, const Decl *var, QualType ty, + mlir::Location loc, CharUnits alignment, + bool isParam) { const auto *namedVar = dyn_cast_or_null<NamedDecl>(var); assert(namedVar && "Needs a named decl"); assert(!cir::MissingFeatures::cgfSymbolTable()); @@ -147,8 +147,6 @@ mlir::LogicalResult CIRGenFunction::declare(mlir::Value addrVal, allocaOp.setInitAttr(mlir::UnitAttr::get(&getMLIRContext())); if (ty->isReferenceType() || ty.isConstQualified()) allocaOp.setConstantAttr(mlir::UnitAttr::get(&getMLIRContext())); - - return mlir::success(); } void CIRGenFunction::startFunction(GlobalDecl gd, QualType returnType, @@ -306,7 +304,7 @@ LValue CIRGenFunction::emitLValue(const Expr *e) { getCIRGenModule().errorNYI(e->getSourceRange(), std::string("l-value not implemented for '") + e->getStmtClassName() + "'"); - break; + return LValue(); case Expr::DeclRefExprClass: return emitDeclRefLValue(cast<DeclRefExpr>(e)); } diff --git a/clang/lib/CIR/CodeGen/CIRGenFunction.h b/clang/lib/CIR/CodeGen/CIRGenFunction.h index 6b383378ae764..cf896d3c0a946 100644 --- a/clang/lib/CIR/CodeGen/CIRGenFunction.h +++ b/clang/lib/CIR/CodeGen/CIRGenFunction.h @@ -97,9 +97,9 @@ class CIRGenFunction : public CIRGenTypeCache { private: /// Declare a variable in the current scope, return success if the variable /// wasn't declared yet. - mlir::LogicalResult declare(mlir::Value addrVal, const clang::Decl *var, - clang::QualType ty, mlir::Location loc, - clang::CharUnits alignment, bool isParam = false); + void declare(mlir::Value addrVal, const clang::Decl *var, clang::QualType ty, + mlir::Location loc, clang::CharUnits alignment, + bool isParam = false); public: mlir::Value emitAlloca(llvm::StringRef name, mlir::Type ty, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits