Fix Flang build after MLIR API changes around `generatedTypeParser`

GitOrigin-RevId: 890afad954d60aa91a27fa5ef0689e1d53aad7b4
diff --git a/lib/Optimizer/Dialect/FIRType.cpp b/lib/Optimizer/Dialect/FIRType.cpp
index eb347a9..873f589 100644
--- a/lib/Optimizer/Dialect/FIRType.cpp
+++ b/lib/Optimizer/Dialect/FIRType.cpp
@@ -112,10 +112,16 @@
 
 mlir::Type fir::parseFirType(FIROpsDialect *dialect,
                              mlir::DialectAsmParser &parser) {
-  llvm::StringRef typeNameLit;
-  if (mlir::failed(parser.parseKeyword(&typeNameLit)))
+  mlir::StringRef typeTag;
+  if (parser.parseKeyword(&typeTag))
     return {};
-  return generatedTypeParser(dialect->getContext(), parser, typeNameLit);
+  mlir::Type genType;
+  auto parseResult = generatedTypeParser(parser.getBuilder().getContext(),
+                                         parser, typeTag, genType);
+  if (parseResult.hasValue())
+    return genType;
+  parser.emitError(parser.getNameLoc(), "unknown fir type: ") << typeTag;
+  return {};
 }
 
 namespace fir {