Skip to content

Commit

Permalink
Workaround overly excitable warnings in GCC 12.
Browse files Browse the repository at this point in the history
Signed-off-by: Eric Schweitz <eschweitz@nvidia.com>
  • Loading branch information
schweitzpgi committed Feb 4, 2025
1 parent cdf366b commit b9d52e8
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions lib/Optimizer/CodeGen/ReturnToOutputLog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ class ReturnRewrite : public OpRewritePattern<func::ReturnOp> {
Type valTy = val.getType();
TypeSwitch<Type>(valTy)
.Case([&](IntegerType intTy) {
std::string labelStr{"i" + std::to_string(intTy.getWidth())};
int width = intTy.getWidth();
std::string labelStr{"i" + std::to_string(width)};
if (prefix)
labelStr = prefix->str();
Value label = makeLabel(loc, rewriter, labelStr);
Expand All @@ -111,7 +112,8 @@ class ReturnRewrite : public OpRewritePattern<func::ReturnOp> {
ArrayRef<Value>{castVal, label});
})
.Case([&](FloatType fltTy) {
std::string labelStr{"f" + std::to_string(fltTy.getWidth())};
int width = fltTy.getWidth();
std::string labelStr{"f" + std::to_string(width)};
if (prefix)
labelStr = prefix->str();
Value label = makeLabel(loc, rewriter, labelStr);
Expand Down Expand Up @@ -197,10 +199,14 @@ class ReturnRewrite : public OpRewritePattern<func::ReturnOp> {

static std::string
translateType(Type ty, std::optional<std::int32_t> vecSz = std::nullopt) {
if (auto intTy = dyn_cast<IntegerType>(ty))
return "i" + std::to_string(intTy.getWidth());
if (auto fltTy = dyn_cast<FloatType>(ty))
return "f" + std::to_string(fltTy.getWidth());
if (auto intTy = dyn_cast<IntegerType>(ty)) {
int width = intTy.getWidth();
return "i" + std::to_string(width);
}
if (auto fltTy = dyn_cast<FloatType>(ty)) {
int width = fltTy.getWidth();
return "f" + std::to_string(width);
}
if (auto strTy = dyn_cast<cudaq::cc::StructType>(ty)) {
if (strTy.getMembers().empty())
return "{}";
Expand All @@ -210,7 +216,8 @@ class ReturnRewrite : public OpRewritePattern<func::ReturnOp> {
return result + "}";
}
if (auto arrTy = dyn_cast<cudaq::cc::ArrayType>(ty)) {
return "[" + std::to_string(arrTy.getSize()) + " x " +
std::int32_t size = arrTy.getSize();
return "[" + std::to_string(size) + " x " +
translateType(arrTy.getElementType()) + "]";
}
if (auto arrTy = dyn_cast<cudaq::cc::StdvecType>(ty)) {
Expand Down

0 comments on commit b9d52e8

Please sign in to comment.