[flang][fir] Fix Werror build failure after D96422

GitOrigin-RevId: 5ad416ca781837ec1f2142533f044bd46e87e83c
diff --git a/lib/Optimizer/Dialect/FIRType.cpp b/lib/Optimizer/Dialect/FIRType.cpp
index 68b7bd3..c0fd3d3 100644
--- a/lib/Optimizer/Dialect/FIRType.cpp
+++ b/lib/Optimizer/Dialect/FIRType.cpp
@@ -115,11 +115,6 @@
   return parseKindSingleton<fir::ComplexType>(parser);
 }
 
-// `shapeshift` `<` rank `>`
-ShapeShiftType parseShapeShift(mlir::DialectAsmParser &parser) {
-  return parseRankSingleton<ShapeShiftType>(parser);
-}
-
 // `slice` `<` rank `>`
 SliceType parseSlice(mlir::DialectAsmParser &parser) {
   return parseRankSingleton<SliceType>(parser);
@@ -386,10 +381,9 @@
   if (typeNameLit == "ref")
     return parseReference(parser, loc);
   if (typeNameLit == "shape")
-    // TODO move to generatedTypeParser when all types have been moved
-    return ShapeType::parse(dialect->getContext(), parser);
+    return generatedTypeParser(dialect->getContext(), parser, typeNameLit);
   if (typeNameLit == "shapeshift")
-    return ShapeShiftType::parse(dialect->getContext(), parser);
+    return generatedTypeParser(dialect->getContext(), parser, typeNameLit);
   if (typeNameLit == "slice")
     return parseSlice(parser);
   if (typeNameLit == "tdesc")
@@ -1414,16 +1408,6 @@
     os << '>';
     return;
   }
-  if (auto type = ty.dyn_cast<ShapeType>()) {
-    // TODO when all type are moved to TableGen can be replaced by
-    // generatedTypePrinter
-    type.print(p);
-    return;
-  }
-  if (auto type = ty.dyn_cast<ShapeShiftType>()) {
-    type.print(p);
-    return;
-  }
   if (auto type = ty.dyn_cast<SliceType>()) {
     os << "slice<" << type.getRank() << '>';
     return;
@@ -1497,6 +1481,10 @@
     os << '>';
     return;
   }
+
+  if (mlir::succeeded(generatedTypePrinter(ty, p))) {
+    return;
+  }
 }
 
 bool fir::isa_unknown_size_box(mlir::Type t) {