[clang] 6f25614 - [CIR] Clean up warnings (#129604)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 4 10:50:09 PST 2025
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,
More information about the cfe-commits
mailing list